Updated 7mo ago
by ewtryocb
fastapi-claude-template
Agent-first FastAPI template built to pair with Claude Code - opinionated architecture kept on the rails by custom skills, hooks and review agents.
33 GitHub stars (33)
+1 in 30 days
| Period | New stars |
|---|---|
| Oct 1 | 0 |
| Oct 2 | 0 |
| Oct 3 | 0 |
| Oct 4 | 0 |
| Oct 5 | 0 |
| Oct 6 | 0 |
| Oct 7 | 0 |
| Oct 8 | 0 |
| Oct 9 | 0 |
| Oct 10 | 0 |
| Oct 11 | 0 |
| Oct 12 | 0 |
| Oct 13 | 0 |
| Oct 14 | 0 |
| Oct 15 | 0 |
| Oct 16 | 0 |
| Oct 17 | +1 |
| Oct 18 | 0 |
| Oct 19 | 0 |
| Oct 20 | 0 |
| Oct 21 | 0 |
| Oct 22 | 0 |
| Oct 23 | 0 |
| Oct 24 | 0 |
| Oct 25 | −1 |
| Oct 26 | 0 |
| Oct 27 | 0 |
| Oct 28 | 0 |
| Oct 29 | 0 |
| Oct 30 | 0 |
| Oct 31 | 0 |
| Nov 1 | +1 |
| Nov 2 | 0 |
| Nov 3 | 0 |
| Nov 4 | 0 |
| Nov 5 | 0 |
| Nov 6 | 0 |
- 6 skills (6 skills found in its SKILL.md files)
- 5 forks (5 forks)
- 7mo ago last update (Last updated 7mo ago)
Install
Skills CLI
npx skills add ewtryocb/fastapi-claude-template
Asks which skills and agents to install. Just one: npx skills add ewtryocb/fastapi-claude-template --skill api-client — add -g for every project.
Claude Code
git clone https://github.com/ewtryocb/fastapi-claude-templatecp -r "fastapi-claude-template/.claude/skills/api-client" ~/.claude/skills/
Copies the api-client skill into ~/.claude/skills/ for every project (use .claude/skills/ for one project). Repeat for the other skills listed below.
Plugin
/plugin marketplace add ewtryocb/fastapi-claude-template
Run inside Claude Code if the repository ships a plugin marketplace, then pick plugins from /plugin.
Skills can run code on your machine — read the SKILL.md first.
What it does
In the author's own words, from each skill's SKILL.md.
-
api-client
Use when integrating an external HTTP API (Stripe, GitHub, Twilio, a payment provider, etc.) into the project. Enforces the Client + Service split — Client lives in infrastructure and returns raw vendor-shaped Pydantic responses, Service lives in application and maps raw responses to application `Result` types. Covers where to put ports, vendor enums, raw response DTOs, how to wire DI, and how to…
.claude/skills/ on GitHub (opens in a new tab)api-client/ SKILL.md -
endpoint
Use when creating or editing a FastAPI endpoint under src/presentation/http/v1/endpoints/<audience>/. Enforces audience-first organization (public/user/admin/internal), the exact parameter-naming convention (data for bodies, query for GET filters), the five-parameter list shape, correct Require + Authorization wiring, and strict contract ↔ Result mapping.
.claude/skills/ on GitHub (opens in a new tab)endpoint/ SKILL.md -
migration
Use when the user asks to create a database migration, change a SQLAlchemy model, add a column, add an index, or otherwise modify the schema. Enforces the rule that migrations are generated via `make generate NAME="..."` (the project's Makefile target that runs Alembic autogenerate) — never hand-written — and never edit existing migration files in migrations/versions/.
.claude/skills/ on GitHub (opens in a new tab)migration/ SKILL.md -
repository
Use when creating or extending a repository under src/database/psql/repositories/. Enforces the project's fixed repository vocabulary (create, select, select_many, update, delete, exists, count, upsert) — no invented methods. Shows exactly how to wrap CRUDRepository, use @on_integrity, build loads-aware selects, and return Result[T].
.claude/skills/ on GitHub (opens in a new tab)repository/ SKILL.md -
tests
Use when creating or extending tests under tests/unit/, tests/integration/, or tests/e2e/. Enforces per-use-case unit coverage, per-endpoint e2e coverage, mutation-persistence verification (not just 200 status), contract-vs-Request field-mismatch detection, loads-opt-in flow tests, role/validation boundary tests, and the test infra gotchas (sync alembic fixture, session-scoped asyncio loop, httpx…
.claude/skills/ on GitHub (opens in a new tab)tests/ SKILL.md -
usecase
Use when creating or editing a use case under src/application/v1/usecases/. Enforces the RequestBus + UseCase pattern (Request + UseCase in one file, @dataclass(slots=True), returns Result type) and the DBGateway transaction rules — never open two sessions in one use case, never touch self.database outside a context manager, never lazy-load relationships outside the session.
.claude/skills/ on GitHub (opens in a new tab)usecase/ SKILL.md
No skill matches that filter.
Review before you install
A skill is a set of instructions and scripts your agent will follow, and it can run code on your machine. Read the SKILL.md and any scripts first — this listing is not a security review.