APM

>Agent Skill

@dmitriiweb/format-lint-assistant

skilldevelopment

Run the project's formatter, linters, and mypy checks in the required order, fixing issues and managing any needed stub dependencies via uv.

development
apm::install
$apm install @dmitriiweb/format-lint-assistant
apm::skill.md
---
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 format` before linting to apply project formatting.
- Run `make lint`; fix linter errors first, rerun `make lint`, then address any remaining mypy issues.
- If mypy needs missing stubs/libs, add them with `uv add --dev <package>` so they land in `pyproject.toml`; never use mypy's install-missing-libraries command.
- Keep rerunning `make lint` until it passes cleanly; share any unresolved issues.
- See `references/linting_rules.md` for the exact workflow.

## Workflow
1) **Prepare and format**  
   - Review the scope of files to format/lint.  
   - Run `make format` to apply formatting before linting.  

2) **Lint and iterate**  
   - Run `make lint`.  
   - If linters fail, fix those issues first and rerun `make lint` to confirm the lint portion is clean.  
   - After lint fixes, address mypy errors reported by the same command, then rerun `make lint` to verify.  

3) **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 in `pyproject.toml`.  
   - Do **not** use mypy's automatic install-missing-libraries flag.  

4) **Validate and report**  
   - Run `make lint` once more after all fixes to ensure a clean result.  
   - Summarize what was run, what was fixed, and call out any remaining issues.