brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
repo-developmentMaintain the einops repository safely: focused tests, backend/env selection, docs and notebook checks, formatting/type checking, CI matrix interpretation, release boundaries, and staleness refresh cues.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the task is about maintaining the einops repository rather
than writing package-usage recipes. It covers development commands, backend-aware
test selection, docs/notebook checks, README-to-docs conversion, CI interpretation,
packaging boundaries, and refresh/staleness checks.
For tensor operation patterns, API examples, framework-specific user code, or
named einsum/packing recipes, route to sibling sub-skills such as
tensor-operations, named-einsum-and-packing, or framework-integrations.
This guidance was distilled from these source-evidence names: README.md
Development section, pyproject.toml, einops/tests/run_tests.py,
einops/tests/__init__.py, scripts/convert_readme.py,
scripts/test_notebooks.py, scripts/pytorch_examples_source/converter.py,
.github/workflows/run_tests.yml, .github/workflows/test_notebooks.yml,
.github/workflows/deploy_docs.yml, .github/workflows/deploy_to_pypi.yml, and
mkdocs.yml.
Do not depend on machine-local checkout paths or environment-specific details. Prefer the bundled references and scripts below; if repository development files or workflows have changed since this skill was produced, perform a repo-skill refresh before relying on stale commands.
| Maintainer intent | Use this guidance |
|---|---|
| Run minimal package tests without installing all frameworks | references/docs-and-tests.md and scripts/run_selected_einops_tests.py |
Interpret EINOPS_TEST_BACKENDS or framework names | references/docs-and-tests.md |
| Format, lint, or type-check changes | references/docs-and-tests.md |
| Build or serve documentation | references/docs-and-tests.md |
| Convert README content into docs index safely | scripts/convert_readme_for_docs.py |
| Check notebook dependencies or execute selected tutorials | references/docs-and-tests.md and scripts/notebook_execution_check.py |
| Understand CI matrix coverage | references/docs-and-tests.md |
| Avoid unsafe deploy/publish steps | references/docs-and-tests.md |
| Diagnose common maintainer failures | references/maintainer-troubleshooting.md |
python -m einops.tests.run_tests numpy.numpy with backend tests unless intentionally investigating a
symbolic-only case; the README says every framework is tested against numpy.--pip-install when dependencies are already installed. That flag uses
pip install in the current environment.python scripts/run_selected_einops_tests.py numpy --pytest-target test_ops.py::test_repeat_numpy.
Add --execute only when ready to run.ruff check ., ruff format . --check, and mypy . in an environment with
the default development dependencies.check script in pyproject.toml is intentionally mutating:
it runs ruff format, ruff check --fix, then mypy.pytorch -> torch, tf -> tensorflow, and
paddlepaddle -> paddle.EINOPS_TEST_BACKENDS, for example
EINOPS_TEST_BACKENDS=numpy,torch.EINOPS_TEST_BACKENDS is an error for tests that call the package test
utilities directly. The native runner and bundled wrapper set it for you.hatch run docs:build and hatch run docs:serve first convert README content
into the docs index, so they can mutate generated docs content.scripts/convert_readme_for_docs.py --readme README.md --output docs_src/index.md
for a dry-run preview; add --execute only when the mutation is intended.nbformat, nbconvert, jupyter, pillow, pytest, numpy, tensorflow,
and CPU torch before running notebook tests.scripts/notebook_execution_check.py to list missing dependencies and, if
approved, execute named notebooks with --execute and a bounded timeout.numpy pytorch tensorflow jax mlx.core, plus pytensor on Python 3.10 and
3.13.ruff check . and
ruff format . --check.UV_PUBLISH_TOKEN from
a secret. Local uv publish commands are outside this sub-skill except as a
boundary warning.Refresh this sub-skill if any of these maintainer surfaces change: supported
Python version, Hatch envs or scripts, native test runner semantics, backend
synonyms, EINOPS_TEST_BACKENDS parsing, notebook execution script, README docs
conversion, mkdocs configuration, CI matrices, or docs/PyPI deploy workflows.