Skip to main content

Repository & Workflow

Guardrails

  • Monorepo managed by pnpm workspaces + Turborepo
  • Layout:
repo-root/
apps/
web/
api/
packages/
infra/
docs/
.github/
turbo.json
pnpm-workspace.yaml
  • GitHub Flow (short‑lived branches → PR → main). Merge strategy: merge commits. 1 review required. Self‑approve allowed.
  • Conventional Commits naming is expected (not enforced).

LLM Notes

  • Generate new code under apps/ (deployables) or packages/ (shared libs). Do not introduce new top‑level folders without an ADR.
  • Use merge commits in examples, not squash/rebase.

Reference Configs

pnpm-workspace.yaml packages:

packages:
- 'apps/*'
- 'packages/*'
- 'docs'
- 'infra'

Turbo pipeline:

{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"lint": { "outputs": [] },
"typecheck": { "outputs": [] },
"build": { "dependsOn": ["^build"], "outputs": ["dist/**", ".next/**"] },
"test": { "outputs": ["coverage/**"] }
}
}

Root package.json scripts:

{
"scripts": {
"setup": "pnpm -w i && pnpm -w build:infra && pnpm -w docs:build",
"dev": "turbo run dev --parallel",
"build": "turbo run build",
"lint": "turbo run lint",
"typecheck": "turbo run typecheck",
"test": "turbo run test -- --coverage",
"format": "prettier -w .",
"docs:build": "docusaurus build",
"docs:serve": "docusaurus start",
"build:infra": "echo 'terraform fmt -recursive' && echo 'terraform init -backend=false'"
}
}

CODEOWNERS example:

/apps/web/ @frontend-leads
/apps/api/ @backend-leads
/packages/ui/ @design-systems
/docs/adr/ @architecture-guild