Full Stack AI Agent Template
Full-stack AI app generator — FastAPI + Next.js with AI Agents, RAG, streaming, auth, and 20+ integrations out of the box.
Install / Use
npx skills add vstorm-co/full-stack-ai-agent-templateInstalls into whichever agent you are using.
README
- Quick Start
- Demo
- Screenshots
- Why This Template
- Features
- Architecture
- AI Agent
- RAG
- Observability
- Django-style CLI
- Generated Project Structure
- Configuration Options
- Comparison
- FAQ
- Documentation
- Contributing
Vstorm OSS Ecosystem
This template is part of a broader open-source ecosystem for production AI agents:
| Project | Description | |
|---------|-------------|---|
| pydantic-deepagents | The modular agent runtime for Python. Claude Code-style CLI with Docker sandbox, browser automation, multi-agent teams, and /improve. | |
| pydantic-ai-shields | Drop-in guardrails for Pydantic AI agents. 5 infra + 5 content shields. |
|
| pydantic-ai-subagents | Declarative multi-agent orchestration with token tracking. |
|
| summarization-pydantic-ai | Smart context compression for long-running agents. |
|
| pydantic-ai-backend | Sandboxed execution for AI agents. Docker + Daytona. |
|
Want the runtime behind this template's AI agents? pydantic-deepagents powers the
deepagentsframework option — install it standalone withcurl -fsSL .../install.sh | bash.
Browse all projects at oss.vstorm.co
🚀 Quick Start
[!TIP] Prefer a visual configurator? Use the Web Configurator to configure your project in the browser and download a ZIP — no CLI installation needed.
Installation
# pip
pip install fastapi-fullstack
# uv (recommended)
uv tool install fastapi-fullstack
# pipx
pipx install fastapi-fullstack
From zero to a running app
Three steps. The wizard scaffolds the project, make bootstrap brings up the whole backend, and the frontend runs with a single command:
# 1. Generate your project — just answer the wizard's prompts
fastapi-fullstack
# 2. Backend + PostgreSQL up, migrations applied, default admin seeded
cd my_ai_app
make bootstrap
# 3. Frontend (in a second terminal)
cd frontend && bun install && bun dev
What
make bootstrapdoes (=make dev+make seed): builds the backend Docker image, starts the stack viadocker-compose.dev.yml, waits for PostgreSQL (pg_isready), applies Alembic migrations, and seedsadmin@example.com/admin123. It's idempotent — re-run it anytime.
Then access:
| | URL | |
|---|---|---|
| Backend API | http://localhost:8000 | |
| Docs | http://localhost:8000/docs | OpenAPI / Swagger |
| Admin | http://localhost:8000/admin | admin@example.com / admin123 (after make seed) |
| Frontend | http://localhost:3000 | make dev-frontend (Docker) or cd frontend && bun install && bun dev (local) |
Day-to-day commands
make dev # bootstrap or restart (no admin re-seed)
make seed # one-shot admin creation (no-op if admin exists)
make dev-down # stop everything
make dev-logs # tail container logs
make dev-rebuild # force-rebuild backend image (after pyproject.toml changes)
make dev-frontend # start the Next.js container
After the first make bootstrap, day-to-day you just run make dev (skips admin re-seed). Run make help inside the project for the full list.
Skip the wizard and pass options directly:
# Non-interactive with explicit options
fastapi-fullstack create my_ai_app --database postgresql --frontend nextjs
# Presets for common scenarios (run `fastapi-fullstack templates` for the full list)
fastapi-fullstack create my_ai_app --preset ai-agent # AI agent with streaming
fastapi-fullstack create my_ai_app --preset production # Full production setup
fastapi-fullstack create my_ai_app --preset production-saas # SaaS: billing, teams, admin
# Bare-bones project (PostgreSQL, no Docker/Redis/CI)
fastapi-fullstack create my_ai_app --minimal
</details>
Keeping your project up to date
Your project doesn't get stranded on the template version you generated from. Pull the latest template improvements into your existing project with a real 3-way merge — your customizations are preserved, conflicts are left for you to resolve in your IDE, and the whole thing lands on a dedicated branch so it's fully reversible:
make upgrade-dry-run # preview what would change (no changes made)
make upgrade # apply on a `template-upgrade/v…` branch
# resolve any conflicts in your IDE's 3-way merge editor, then:
make upgrade-finalize # bump the manifest to the new version
Files only you changed are kept, files only the template changed are updated, and new features/migrations are pulled in. By default an upgrade keeps your existing feature set — to also adopt optional features added since your version, use:
make upgrade-new-features # prompts Yes/No for each new optional feature
One-off flags (e.g. pinning a target version) go through ARGS, and you can always call
the CLI directly instead of make:
make upgrade ARGS=--to=0.3.0
uvx fastapi-fullstack@latest upgrade --with-new-features
See the version-upgrade guide for the full walkthrough (including projects generated befo
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
python-debugpy
385.5kDebug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
skill-creator
385.5kCreate, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
imsg
385.5kUse the imsg CLI from OpenClaw agents for iMessage/SMS DMs, groups, replies, reactions, polls, watching, and private-API actions.
