| name | format-lint-assistant |
| description | Run the project's formatter, linters, and mypy checks in the required order, fixing issues and managing any needed stub dependencies via uv. |
Format and Lint Assistant
Quick start
- Run
make formatbefore linting to apply project formatting. - Run
make lint; fix linter errors first, rerunmake lint, then address any remaining mypy issues. - If mypy needs missing stubs/libs, add them with
uv add --dev <package>so they land inpyproject.toml; never use mypy's install-missing-libraries command. - Keep rerunning
make lintuntil it passes cleanly; share any unresolved issues. - See
references/linting_rules.mdfor the exact workflow.
Workflow
Prepare and format
- Review the scope of files to format/lint.
- Run
make formatto apply formatting before linting.
Lint and iterate
- Run
make lint. - If linters fail, fix those issues first and rerun
make lintto confirm the lint portion is clean. - After lint fixes, address mypy errors reported by the same command, then rerun
make lintto verify.
- Run
Manage dependencies
- When mypy reports missing libraries or type stubs, add the needed package with
uv add --dev <package>so it updates the dev dependencies inpyproject.toml. - Do not use mypy's automatic install-missing-libraries flag.
- When mypy reports missing libraries or type stubs, add the needed package with
Validate and report
- Run
make lintonce more after all fixes to ensure a clean result. - Summarize what was run, what was fixed, and call out any remaining issues.
- Run