AI Agent Backend Platform on FastAPI — MCP server + AI orchestration + async DDD architecture. Zero-boilerplate CRUD, auto domain discovery, 14 Claude Code AI development skills.
Why this rank:Recent releaseStrong adoptionHealthy release cadence
Description
AI Agent Backend Platform on FastAPI — MCP server + AI orchestration + async DDD architecture. Zero-boilerplate CRUD, auto domain discovery, 14 Claude Code AI development skills.
No Docker, no PostgreSQL, no cloud credentials — SQLite + in-memory broker.
git clone https://github.com/Mr-DooSun/fastapi-agent-blueprint.git
cd fastapi-agent-blueprint
make setup # one-time: venv + deps via uv
make quickstart # FastAPI on :8001, SQLite schema auto-created
In a second terminal, make demo exercises the user domain and
make demo-rag exercises the docs domain (end-to-end RAG: upload → chunk
→ embed → retrieve → answer with citations, zero credentials):
→ Health check
{ "status": "ok" }
→ Create a user
{ "success": true, "data": { "id": 1, "username": "alice",
"fullName": "Alice Liddell", ... } }
→ List users (page=1, pageSize=10)
{ "data": [ { "id": 1, "username": "alice", ... } ],
"pagination": { "currentPage": 1, "totalItems": 1,
"hasNext": false, ... } }
→ Update the user → Delete the user
→ Done. Swagger UI: http://127.0.0.1:8001/docs-swagger
Write domain logic once, expose it everywhere. HTTP (FastAPI) + worker (Taskiq) + admin (NiceGUI) share a single domain layer. MCP server is on the roadmap.
Zero-boilerplate CRUD. Inherit BaseRepository[DTO] and BaseService[Create, Update, DTO] to get 7 async methods — including paginated list with QueryFilter — for free.
Auto domain discovery. Drop a folder into src/{name}/, it auto-registers. No container edits, no bootstrap edits.
Pluggable infra, env-switchable. PostgreSQL / MySQL / SQLite · DynamoDB · S3 / MinIO · S3 Vectors · SQS / RabbitMQ / InMemory · OpenAI / Bedrock for both LLM and embeddings.
Architecture enforced at commit time. A pre-commit hook blocks Domain → Infrastructure imports so the DDD contract cannot rot.
AI-native workflows. 14 Claude Code skills + 15 Codex CLI skills sharing one AGENTS.md rules file — scaffold a domain, add a route, or audit architecture with a single command.
Every domain under src/{domain}/ has four DDD layers. Arrows mean
"depends on". Application (use cases) is optional — the dotted
line is the common path for simple CRUD (Router → Service directly).
flowchart LR
subgraph domain["src/{domain}/ (4 DDD layers)"]
I["Interface<br/>routers · admin · worker · schemas"]
A["Application<br/>use cases — optional"]
D["Domain<br/>services · protocols · DTOs · value objects"]
Inf["Infrastructure<br/>repositories · models · DI container"]
I --> A
A --> D
Inf --> D
I -. direct when no UseCase .-> D
end
Core["src/_core/<br/>Base classes · CoreContainer · shared VOs"]
I --> Core
A --> Core
D --> Core
Inf --> Core
Other["Another domain"] -. via Protocol-based DIP .-> D
flowchart LR
C[Client] -->|"HTTP + JSON"| R[Router]
R -->|"Request schema"| S[Service]
S -->|"entity"| Re["Repository<br/>BaseRepository[DTO]"]
Re -->|"Model(**dto.model_dump())"| M[ORM Model]
M -->|"SQLAlchemy"| DB[(Database)]
Loading
Request → Service directly when fields match (no intermediate DTO — ADR 004).
Model ↔ DTO conversion happens only inside the Repository.
Read flow is the mirror image; the Router strips sensitive fields on the way out.
The blueprint ships a worked RAG example — upload documents, ask questions,
get structured answers with citations. It proves the building blocks
(vectors, embeddings, LLM agent, worker, admin) compose end-to-end.
make quickstart # terminal 1
make demo-rag # terminal 2 — seeds 3 docs, runs a query
POST /v1/docs/documents # chunk → embed → upsert
POST /v1/docs/query # embed question → top-k retrieval → agent answer
GET /admin/docs # browse + query playground
Under the hood, the RAG orchestration is a reusable _core pattern
(ADR 040), not a domain.
src/docs/ is one consumer; future AI domains (support_bot, product_qa)
inject the same RagPipeline instead of duplicating chunking + retrieval
code:
Zero-config path uses a stub embedder (keyword bag-of-words) and stub
answer agent (templated response from retrieved chunks), both in
src/_core/infrastructure/rag/. Set EMBEDDING_PROVIDER + LLM_PROVIDER
in .env to swap in real providers — the pipeline is the same.
AI-native development
Both Claude Code and OpenAI Codex CLI are first-class. They share one rules file (AGENTS.md) and one workflow reference layer (docs/ai/shared/); tool-specific harnesses layer on top.
Claude Code
Codex CLI
Skills
14 slash commands (.claude/skills/)
15 workflow skills (.agents/skills/)
Config
CLAUDE.md + .mcp.json
.codex/config.toml + .codex/hooks.json
Hooks
PostToolUse auto-format
6 hooks (format · security · session-start · …)
Your first domain in 10 minutes
/onboard # adaptive walkthrough — beginner to advanced
/new-domain product # scaffolds 15 source files + 25 __init__.py + 4 tests
/add-api "add GET /product/top-selling to product"
/review-architecture product
Swap / for $ if you are on Codex CLI. Prefer no harness at all?
The "Your first domain in 10 minutes" tutorial
walks both paths side-by-side — one harness command vs. 9 Python files —
and ends with a passing pytest run plus curl against the real server.
Selected skills (all available in both tools): onboard, new-domain,
add-api, add-worker-task, add-admin-page, review-architecture,
security-review, review-pr, plan-feature, fix-bug.
Full table and setup guide: docs/ai-development.md.
See CONTRIBUTING.md for dev setup, coding guidelines,
and the PR workflow. Newcomers — check the
good first issue
label; the small apps tracked under examples/ are a
low-friction place to land your first PR.
License
MIT — free for commercial use, modification, and distribution.
Release History
Version
Changes
Urgency
Date
v0.11.1
A patch, and a narrow one in what it changes for a running system: **nothing**. No runtime behaviour differs from v0.11.0. Everything here is the developer surface of the scaffold — which, in a template you clone at a tag, is part of what you get. Two of my own calls were corrected on the way to this release, and both are recorded because the reasoning is reusable: - I first proposed this as a **minor**, on the strength of a CHANGELOG label reading `BREAKING (subclasses and test doubles)` — a
Medium
8/13/2026
v0.10.1
A patch release, and a narrow one: **no `src/` runtime code changed** — the only edit under `src/` is the version string the OpenAPI spec reports. Everything here is the demo and CI tooling that the front page rests on. v0.10.0 repaired the authentication in both quickstart demo scripts. It did not repair the reason nobody noticed they had been broken since May: **printing a response is not the same as checking it.** `make demo-rag` printed a `401` for every `/v1/docs/*` call and still exited `
High
8/6/2026
v0.9.0
The AI-collaboration harness grows from a two-tool model (Claude + Codex) to three — this release adds a repo-local **Antigravity 2.0 / Gemini CLI harness** wired to the same shared governor policy as the others. Alongside it ship three new governance frameworks (a plan→execute hard gate, a review Summary Finding Ledger, and a zero-downtime migration safety checker), a real web-search chatbot example, and a Locust performance-test harness. There is no `src/` runtime change — this is a harness, e
High
7/21/2026
v0.8.4
A patch on top of v0.8.3 — the two-domain `blog` example now survives copy-into-`src/`, a permanent CI guard locks the copy-flow contract shut, plus a batch of AI-collaboration harness improvements and new HTTP middleware contract tests. Examples, tooling, and harness only, with no `src/` runtime change. ## Added - **Examples copy-flow CI guard** — `tools/check_examples_copyflow.py` (an AST static check that forbids absolute `examples.*` imports in git-tracked `examples/**/*.py`) is wired as t
High
7/5/2026
v0.8.2
A small patch on top of v0.8.1 — the project's first real-LLM-calling contributor example, plus a docs note distinguishing example production surfaces. Examples and docs only, with no `src/` runtime change. ## Added - **`simple_chatbot` example** (`examples/simple_chatbot/`) — the first example that calls a real external LLM. A stateless PydanticAI `Agent` with an `output_type=ChatReply` structured output and a `StubChatbot` fallback when no LLM provider is configured (graceful degradation, AD
High
6/26/2026
v0.8.0
This release simplifies admin theming down to a single Toss-style theme — a breaking change that removes the multi-preset machinery — lands two new contributor examples (`blog`, `webhook_receiver`), and clears a batch of trust-signal fixes around the worker/broker docs and fork-PR CI. Spans every change merged since v0.7.2 (2026-06-04). ## Highlights - **BREAKING — single Toss-style admin theme** — the multi-preset system is gone (the `ADMIN_THEME_PALETTE` setting/env, `_PALETTES`, `palette_pr
High
6/17/2026
v0.7.2
An admin code-cleanup patch on top of 0.7.1 — one bug fix plus internal tidy-ups. ## Fixed - **Admin authorization redirect** — an operator hitting a page they lack permission for was redirected to `/admin/dashboard`, a non-existent route (blank page); it now redirects to the real `/admin/` dashboard landing. (#229) ## Changed - Internal admin tidy-ups (no user-facing behavior change) — renamed the `theme.palette_accent` helper to `palette_primary` (matches its `--q-primary` return value), s
High
6/4/2026
v0.7.0
This release hardens the admin and AI-agent surfaces and reworks the admin UI. Four threads: **(1) Admin security** — a separate admin-identity bounded context with its own JWT realm, server-route RBAC, a setup wizard with page-level permissions, and an audit log with a retention pipeline; **(2) AI guardrails** — OWASP LLM01/LLM07 prompt-injection defenses across the PydanticAI call sites; **(3) Admin UX** — a token-driven design system and a data-dashboard landing; **(4) Release hygiene** — CHA
High
6/2/2026
v0.6.0
This release completes the production feature surface and prepares the project for OSS launch. Three themes: **(1) Production feature completion** — JWT authentication domain with refresh-token rotation, NiceGUI admin JWT + minimal RBAC, and `/docs` selector revamp with `frontend-handoff.md`; **(2) Governance maturity** — ADR 047 full rollout, harness sync advisory SOT migration; **(3) OSS launch readiness** — adoption/comparison/compatibility docs, SUPPORT.md, expanded CONTRIBUTING.md, terminal
High
5/7/2026
v0.5.0
### Added - Optional OpenTelemetry tracing via the `[otel]` extra, with `OTEL_ENABLED`, `OTEL_EXPORTER_OTLP_ENDPOINT`, server/worker bootstrap wiring, and an operations recipe for Jaeger, Tempo, and Phoenix. ([#136](https://github.com/Mr-DooSun/fastapi-agent-blueprint/issues/136)) - Langfuse opt-in observability recipe with `docker-compose.langfuse.yml`, `make observability-langfuse`, and HTTP exporter guidance. ([#137](https://github.com/Mr-DooSun/fastapi-agent-blueprint/issues/1
High
4/29/2026
v0.4.0
## Added - Zero-config quickstart (`make quickstart` / `make demo` / `ENV=quickstart` with SQLite + InMemory broker + auto create_all) so the blueprint can boot in under 60 seconds with no external infra ([#78](https://github.com/Mr-DooSun/fastapi-agent-blueprint/issues/78)) - End-to-end RAG example as a reusable `_core` pattern (`RagPipeline`, `BaseChunkDTO` / `CitationDTO` / `QueryAnswerDTO`, `AnswerAgentProtocol`, `StubEmbedder` / `StubAnswerAgent` / `PydanticAIAnswerAgent`, `BaseInMemoryVec
High
4/21/2026
v0.3.0
## Added - NiceGUI admin dashboard with auto-discovery, env-var auth, AG Grid CRUD, and field masking ([#14](https://github.com/Mr-DooSun/fastapi-agent-blueprint/issues/14)) - DynamoDB support with `BaseDynamoRepository`, `DynamoModel`, and `DynamoDBClient` ([#13](https://github.com/Mr-DooSun/fastapi-agent-blueprint/issues/13)) - Broker abstraction with `providers.Selector` for SQS/RabbitMQ/InMemory multi-backend ([#8](https://github.com/Mr-DooSun/fastapi-agent-blueprint/issues/8)) - Flexible R
High
4/9/2026
v0.2.0
## Added - Worker Payload Schema: `BasePayload` and `PayloadConfig` for worker message contract validation ([#45](https://github.com/Mr-DooSun/fastapi-agent-blueprint/pull/45)) - Database health check endpoint with `HealthService` ([#19](https://github.com/Mr-DooSun/fastapi-agent-blueprint/pull/19)) - `/create-pr` and `/review-pr` GitHub collaboration skills ([#31](https://github.com/Mr-DooSun/fastapi-agent-blueprint/pull/31)) - Conventional commit message validation hook ([#31](https://github.
High
4/7/2026
v0.1.0
## What's Changed * docs: CONTRIBUTING에 커밋 히스토리 안내 추가 by @Mr-DooSun in https://github.com/Mr-DooSun/fastapi-blueprint/pull/21 ## New Contributors * @Mr-DooSun made their first contribution in https://github.com/Mr-DooSun/fastapi-blueprint/pull/21 **Full Changelog**: https://github.com/Mr-DooSun/fastapi-blueprint/commits/v0.1.0
Medium
3/26/2026
Dependencies & License Audit
Loading dependencies...
Similar Packages
argus-mcp🔍 Enhance code quality with Argus MCP, an AI-driven code review server using a Zero-Trust model for safe and efficient development.main@2026-09-06
aiA productive AI coworker that learns, self-improves, and ships work.main@2026-08-27
sawzhang_skillsClaude Code skills collection — CCA study guides, Twitter research, MCP review, auto-iteration toolsmaster@2026-08-27
More in MCP Servers
difyProduction-ready platform for agentic workflow development.
tabularisA lightweight, cross-platform database client for developers. Supports MySQL, PostgreSQL and SQLite. Hackable with plugins. Built for speed, security, and aesthetics.