Five concrete outcomes
- Dependency injection done right.
Annotated+Dependsdiscipline + scope management — no more untyped magic. - Database calls stay typed and indexed. SQLModel typed queries + eager loading + session-per-request.
- Migrations are reviewed, reversible, env-routed. Alembic autogenerate stops being a footgun.
- Async stays async. Sync escape hatches documented; the event loop never gets blocked silently.
- Auth ships complete. Short access tokens + rotated refresh + scope claims + per-IP/per-user rate limits.
What's inside
11 enforceable .mdc rule files for Cursor, a bundled CLAUDE.md for Claude Code. Plus LICENSE, README, landing-copy.
Annotated + Depends discipline, scope management.response_model discipline, status code precision./readyz vs /healthz.FAQ
Will this work with Django or Flask instead of FastAPI?
The auth-JWT, rate-limiting, structured-logging, and observability rules apply across Python web frameworks. The FastAPI-specific rules are FastAPI-only. If you're on Django or Flask, ignore those three; the rest still help.
Does this require SQLModel or can I use raw SQLAlchemy?
The sqlmodel-patterns.mdc rule is SQLModel-specific. Raw SQLAlchemy 2.x users can adapt the typed-query and session-per-request principles directly; the rule is short enough to fork.
Personal vs Commercial?
Personal is one developer, unlimited Personal Projects. Commercial covers an entire legal entity (all paid contributors), permits use inside products you sell, and permits internal forking. See LICENSE.
Updates and refunds?
Patch-level v1.x updates free for life of license. 14-day no-questions refund through Lemon Squeezy.
Available now
Instant download after payment. 14-day no-questions refund. Crypto via Cryptomus; card via Lemon Squeezy (Merchant of Record — handles VAT, receipts, and refunds).