AI made writing the code easy. Running it in production is still hard.
Prod Forge is an open-source reference that shows how to build and operate a production-ready system: AI-assisted development, quality gates, CI/CD, infrastructure, observability, migrations, and rollback.
The implementation is based on a simple Todo API, but the architecture follows patterns used in real production systems at scale.
Every major technical decision is documented and explained.
| Repository | Description |
|---|---|
| Frontend | React Web and React Mobile apps + Design System |
| Backend | NestJS API - the main guide |
| Infrastructure | Terraform on AWS |
| Layer | Tools |
|---|---|
| Web Client | React · Vite · Redux Toolkit · Tailwind CSS · NX |
| Deploy | AWS S3 · CloudFront · ECR · ECS |
| Backend | NestJS · Prisma · PostgreSQL · Redis · Docker |
| Infrastructure | AWS · RDS · ElasticCache |
| Observability | Prometheus · Grafana · Loki · Promtail |
| Quality | ESLint · Prettier · Husky · Commitlint · CI/CD |
- 4. AI-Assisted Development
All packages use the @prod-forge-todolist-frontend/ scope:
@prod-forge-todolist-frontend/core@prod-forge-todolist-frontend/ui-web@prod-forge-todolist-frontend/design-tokens@prod-forge-todolist-frontend/web-client(private, not published)
This monorepo uses NX for task orchestration (build caching, dependency-aware task ordering). Each package has a project.json that declares its targets.
# Run a specific target in one project
npx nx test core
npx nx storybook ui-web
npx nx build web-client
# Run a target across all projects
npx nx run-many -t testtsconfig.base.json at the root defines path aliases so TypeScript resolves workspace packages:
{
"@prod-forge-todolist-frontend/core": ["packages/core/src/index.ts"],
"@prod-forge-todolist-frontend/ui-web": ["packages/ui-web/src/index.ts"]
}Vite configs in each package add matching resolve.alias entries so Vite resolves the same paths during dev and test.
We welcome any kind of contribution, please read the guidelines:

