| name | linting-and-ci |
| description | Use when running pre-commit, linting, type checking, or fixing CI failures in aiida-core. |
Linting, pre-commit, and CI in aiida-core
Always invoke via uv run so tools pick up the locked project environment.
Never use bare python or pip.
Pre-commit
uv run pre-commit
uv run pre-commit run --all-files
uv run pre-commit run mypy
uv run pre-commit run ruff --all-files
uv run pre-commit run --from-ref main --to-ref HEAD
uv run pre-commit run --from-ref $(git merge-base main HEAD) --to-ref HEAD
Hooks worth knowing about: uv-lock (lockfile consistency), imports (auto-generates __all__), nbstripout, generate-conda-environment, verdi-autodocs.
CI enforces import-time constraints on src/aiida/cmdline/; see the adding-a-cli-command skill for details.
Other verdi development helpers
verdi shell
verdi status
verdi daemon start/stop/restart
verdi devel check-load-time
Set AIIDA_WARN_v3=1 to surface deprecation warnings.