python-stacklisted
Install: claude install-skill fmind/dotfiles
# Python Stack Standard
Canonical guidelines for Python development, scaffolding, CLI scripts, web applications, and AI agents.
## 1. Core & Quality Stack
- **Python**: Target latest stable. Use modern syntax (structural pattern matching, PEP 695 type parameters/aliases, parenthesized context managers, `typing.Annotated`).
- **Dependency Management**: Use `uv` exclusively. Avoid global/manual venvs. Execute tasks via `uv run`. Always commit `uv.lock` in application repositories; libraries can omit it.
- **Task Runner**: Use `mise.toml` ([mise.toml](references/mise.toml)) for the canonical tasks: `install`, `format`, `check`, `test`, `build`, and `watch`. See the [mise skill](../mise/SKILL.md).
- **Linting & Formatting**: Use **Ruff** (`ruff check --fix` and `ruff format`) for Python; enforce zero warnings/errors and ban print statements (`T201`). Clean config/markup (JSON, Markdown, TOML, YAML) with `dprint` using the configuration maintained by the [dprint skill](../dprint/SKILL.md).
- **Type Checking**: Use `ty` wrapper (`ty check`) for strict static typing. Use modern type annotations (e.g., `list[str]`, `X | Y`). Note: `ty` is pre-1.0 (fast-moving); keep it as a local check and pin a compatible range until it reaches a stable release.
- **Git Hooks**: Use `lefthook` ([lefthook.yml](references/lefthook.yml)) for pre-commit (format, check) and pre-push (test). See the [lefthook skill](../lefthook/SKILL.md).
- **Testing**: Use `pytest` in `tests/` with `anyio` (async test