A Python project template wired for working with Claude Code. It ships the toolchain
(ruff, mypy, pytest), a make check quality gate, and a set of enforceable working rules under
.claude/rules/ (commit format, review gate, PR flow, test mandate).
.
├── CLAUDE.md # project brief + golden rules (fill in per project)
├── Makefile # check / lint / typecheck / test / fix / install
├── pyproject.toml # ruff + mypy (strict) + pytest config
├── src/app/ # your package (rename `app`)
├── tests/{unit,integration,eval}/
└── .claude/
├── settings.json # shared hooks (ruff format on edit)
└── rules/ # commits, testing, review-gate, pull-requests
-
Create a repo from this template (GitHub "Use this template", or clone and re-init git).
-
Rename the package
appto your name — updatesrc/app/,pyproject.toml([project].name, the rename comment),Makefile(typechecktarget), andtests/unit/test_smoke.py. -
Fill in
CLAUDE.md: the description, tech stack, and design principles. -
Add real dependencies to
pyproject.toml. -
Install and verify the gate:
make install # pip install -e ".[dev]" make check # lint + type-check + test
make check (lint + type-check + test) must pass before every commit — no exceptions. See
.claude/rules/ for the full working conventions.