Table of contents

June 3, 2026 · View on GitHub

Logo

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.


Project structure

RepositoryDescription
FrontendReact Web and React Mobile apps + Design System
BackendNestJS API - the main guide
InfrastructureTerraform on AWS

Stack

Architecture

LayerTools
Web ClientReact · Vite · Redux Toolkit · Tailwind CSS · NX
DeployAWS S3 · CloudFront · ECR · ECS
BackendNestJS · Prisma · PostgreSQL · Redis · Docker
InfrastructureAWS · RDS · ElasticCache
ObservabilityPrometheus · Grafana · Loki · Promtail
QualityESLint · Prettier · Husky · Commitlint · CI/CD

Table of contents

Package scope

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)

NX

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 test

TypeScript path aliases

tsconfig.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.


Contributing

We welcome any kind of contribution, please read the guidelines:

CONTRIBUTING

The MIT License

LICENSE