A Golden Path starter kit demonstrating developer experience infrastructure for a Turborepo monorepo. Built as a reference implementation for standardized local development, CI/CD, and shared tooling across multiple apps.
This repo models the kind of developer environment a DevEx team would own and maintain. It provides a consistent, repeatable setup so every developer starts from the same foundation: the right way is the default way.
A military operation name generator built on the classic two-word format of a random adjective paired with a noun, in the tradition of Operation Desert Storm, Operation Phantom Fury, and Operation Iron Fist. Generate a name with one click, save favorites to a database, and delete the ones that don't make the cut. The domain is intentional...built as a reference implementation while preparing for a developer experience role at a mission-driven defense tech company.
Note: I wanted sufficient complexity to be relevant without over-engineering this demo
- Turborepo — monorepo task orchestration with caching and parallelization
- Next.js — web application (
apps/web) - Prisma — ORM with PostgreSQL
- Docker + Docker Compose — containerized local development environment
- GitHub Actions — CI pipeline running lint, typecheck, test, and build
- Vitest — unit testing
- TypeScript — across all apps and packages
devex-flow/
├── apps/
│ ├── web/ # Next.js web application
│ ├── api/ # API service
│ └── cli/ # CLI tooling
├── docker-compose.yml
├── turbo.json
└── package.json
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
DATABASE_URL=postgresql://[POSTGRES_USER]:[POSTGRES_PASSWORD]@localhost:5432/[POSTGRES_DB]?schema=publicnpm installNote: Consider wrapping the following in a shell script or similar so these and other similar post-dependency install commands can be run in one shot.
Generate Prisma clients (this is an implementation detail specific to this app since it's using Prisma as the ORM)
cd apps/api && npx prisma generate && cd ../..
cd apps/web && npx prisma generate && cd ../..ln -sf ../../.env apps/web/.env
ln -sf ../../.env apps/api/.envdocker compose upturbo run devEvery push runs the full pipeline via GitHub Actions:
turbo run lint # ESLint across all apps
turbo run typecheck # TypeScript typecheck across all apps
turbo run test # Vitest unit tests
turbo run build # Production buildTurborepo caching ensures only affected packages are rebuilt on each run.
Developer experience is a force multiplier. A well-designed Golden Path means new engineers ship on day one, good practices are defaults rather than documentation, and CI feedback is fast and trustworthy.
This repo is a working reference implementation of those principles.