Fullstack Prod
Orchestrate complete full-stack products. Prefer depth of process over speed of scaffolding.
Hard rules
- Do not scaffold or write product code until intake is complete and contradictions are resolved with the user.
- Verify package/API currency against official docs before installing. Never invent APIs, CLI flags, or config keys.
- Pin versions of critical dependencies; prefer maintained defaults from the stack playbook.
- TDD for behavior: failing test → implement → refactor. Skip only if the user explicitly waives; record the waiver in an ADR.
- Modular monolith by default: one deployable app (or one primary backend + one web UI) with clear internal modules and boundaries. Do not split into microservices, extra deployables, or distributed “for scale” unless the user explicitly requires it — then record the waiver in an ADR.
- i18n required: every app supports locales and multiple languages (message catalogs, locale-aware routing or equivalent, no hardcoded user-facing copy in components). Confirm default + additional locales with the user; ship at least two locales unless they explicitly waive — then ADR.
- Dark and light modes required: every UI supports theme toggle (or system + manual override) via design tokens/CSS variables — not one-off color swaps. Both themes must meet contrast for primary UI.
- Responsive required: every product must work on mobile, tablet, and desktop. Layouts fluid (not desktop-only with horizontal scroll); touch targets usable on small screens; verify primary flows at ~375px and ≥1280px before calling a slice done.
- Vertical slices only: each user flow ships API + UI + tests + polish together. No big-bang backend-then-frontend.
- After each slice: tests, typecheck/lint, and the slice’s happy + failure paths must pass before the next slice.
- AI docs are required in every product (see checklists/ai-docs.md). Keep them short and navigational — fixed kit, not essays.
- Update agent docs whenever structure, commands, or conventions change.
Progressive disclosure
Read these when needed (one level deep):
| When |
File |
| Intake / critique |
checklists/intake.md |
| Ship gate |
checklists/definition-of-done.md |
| UI/UX bar |
checklists/ui-ux.md |
| Security pass |
checklists/security.md |
| Agent doc kit |
checklists/ai-docs.md |
| Unknown stack |
stacks/_template.md |
| Next.js |
stacks/nextjs.md |
| Django |
stacks/django.md |
| FastAPI |
stacks/fastapi.md |
Phase 1 — Intake (block coding)
Read checklists/intake.md. Ask the required questions. Do not assume stack, auth, or scope.
If the user is vague, ask follow-ups until these are clear:
- Product one-liner, primary users, core jobs-to-be-done
- Must-have flows (happy + failure)
- Stack (or request a recommendation with rationale)
- Auth, data store, hosting targets
- Default locale + which additional languages to ship first
- MVP vs production bar for this build
- Constraints, brand/design direction, non-goals
Phase 2 — Critique and resolve
Before any plan approval:
- Propose Must / Should / Could features (prioritized; not a laundry list).
- Run a short premortem: what would make this product fail?
- Flag contradictions, missing entities, circular flows, conflicting constraints (e.g. offline-first + heavy realtime).
- Recommend modifications that simplify or de-risk the product.
Stop and resolve with the user. Do not proceed until contradictions and Must-scope are agreed.
Phase 3 — Architecture plan
Produce a concise plan the user can confirm:
- Modular monolith shape: modules, boundaries, and how they communicate in-process (not via a service mesh)
- Domain model (entities, relationships, states)
- Permissions / tenancy model
- Module boundaries (feature modules + UI / domain / data / infra)
- i18n approach (library, catalog layout, locale detection/switching)
- Theming approach (tokens, light/dark, persistence, system preference)
- API contract approach (typed schemas, OpenAPI, etc.)
- Ordered vertical slices (smallest useful path first)
- Product-specific Definition of Done (inherit checklists/definition-of-done.md)
Lock early decisions that are expensive to change: auth model, multi-tenancy, locales, billing. Prefer extracting a service later from a clean module boundary over starting distributed. Wire i18n and theme tokens into the first UI slice — do not bolt them on at the end.
Phase 4 — Stack playbook
- Open the matching
stacks/*.md, or fill stacks/_template.md from current official docs.
- Confirm packages and versions before scaffolding.
- Scaffold only what the first slice needs; avoid unused boilerplate.
Phase 5 — Build (vertical TDD slices)
For each slice, in order:
- Write/adjust failing tests for the behavior.
- Implement domain + data + API + UI for that flow.
- Apply checklists/ui-ux.md for any user-facing surface (loading, empty, error, success).
- Refactor while green.
- Verify: test suite for the slice, typecheck, lint, manual/critical-path exercise of happy + failure paths.
- Only then start the next slice.
Prefer contract-first boundaries (shared types / OpenAPI / Zod / schema) before wiring UI to API.
Phase 6 — AI-first documentation
Generate the fixed kit in checklists/ai-docs.md early enough that later slices stay consistent — at latest before calling the build done. Minimum:
AGENTS.md
.cursor/rules (or project skills)
docs/architecture.md, docs/map.md, docs/decisions/ ADRs
- API contract as source of truth
.env.example + seed/demo path
Phase 7 — Final gate
Before declaring done:
- Pass checklists/definition-of-done.md
- Pass checklists/security.md
- Refresh
AGENTS.md / docs/map.md if the tree or commands changed
- Summarize for the user: what shipped, how to run/test, known non-goals, next Should/Could items
Output style during intake
- Ask in focused batches (not one giant wall of questions).
- When recommending, use Must / Should / Could labels.
- When flagging issues, state the conflict, why it matters, and a proposed resolution.
- Think thoroughly; prefer clarifying over guessing.
1---2name: fullstack-prod3description: Builds production-ready full-stack apps with interactive product intake, contradiction checks, feature recommendations, TDD, modular-monolith architecture, i18n/locales, dark/light themes, responsive layouts, professional UI/UX, current stack defaults, verification loops, and AI-agent documentation. Use when the user asks to build, scaffold, create, or greenfield a web/app product, full-stack project, MVP, or SaaS — or explicitly names fullstack-prod.4---56# Fullstack Prod78Orchestrate complete full-stack products. Prefer depth of process over speed of scaffolding.910## Hard rules11121. **Do not scaffold or write product code** until intake is complete and contradictions are resolved with the user.132. **Verify package/API currency** against official docs before installing. Never invent APIs, CLI flags, or config keys.143. **Pin versions** of critical dependencies; prefer maintained defaults from the stack playbook.154. **TDD for behavior**: failing test → implement → refactor. Skip only if the user explicitly waives; record the waiver in an ADR.165. **Modular monolith by default**: one deployable app (or one primary backend + one web UI) with clear internal modules and boundaries. Do **not** split into microservices, extra deployables, or distributed “for scale” unless the user explicitly requires it — then record the waiver in an ADR.176. **i18n required**: every app supports locales and multiple languages (message catalogs, locale-aware routing or equivalent, no hardcoded user-facing copy in components). Confirm default + additional locales with the user; ship at least two locales unless they explicitly waive — then ADR.187. **Dark and light modes required**: every UI supports theme toggle (or system + manual override) via design tokens/CSS variables — not one-off color swaps. Both themes must meet contrast for primary UI.198. **Responsive required**: every product must work on mobile, tablet, and desktop. Layouts fluid (not desktop-only with horizontal scroll); touch targets usable on small screens; verify primary flows at ~375px and ≥1280px before calling a slice done.209. **Vertical slices only**: each user flow ships API + UI + tests + polish together. No big-bang backend-then-frontend.2110. **After each slice**: tests, typecheck/lint, and the slice’s happy + failure paths must pass before the next slice.2211. **AI docs are required** in every product (see [checklists/ai-docs.md](checklists/ai-docs.md)). Keep them short and navigational — fixed kit, not essays.2312. **Update agent docs** whenever structure, commands, or conventions change.2425## Progressive disclosure2627Read these when needed (one level deep):2829| When | File |30|------|------|31| Intake / critique | [checklists/intake.md](checklists/intake.md) |32| Ship gate | [checklists/definition-of-done.md](checklists/definition-of-done.md) |33| UI/UX bar | [checklists/ui-ux.md](checklists/ui-ux.md) |34| Security pass | [checklists/security.md](checklists/security.md) |35| Agent doc kit | [checklists/ai-docs.md](checklists/ai-docs.md) |36| Unknown stack | [stacks/_template.md](stacks/_template.md) |37| Next.js | [stacks/nextjs.md](stacks/nextjs.md) |38| Django | [stacks/django.md](stacks/django.md) |39| FastAPI | [stacks/fastapi.md](stacks/fastapi.md) |4041---4243## Phase 1 — Intake (block coding)4445Read [checklists/intake.md](checklists/intake.md). Ask the required questions. Do not assume stack, auth, or scope.4647If the user is vague, ask follow-ups until these are clear:4849- Product one-liner, primary users, core jobs-to-be-done50- Must-have flows (happy + failure)51- Stack (or request a recommendation with rationale)52- Auth, data store, hosting targets53- Default locale + which additional languages to ship first54- MVP vs production bar for this build55- Constraints, brand/design direction, non-goals5657## Phase 2 — Critique and resolve5859Before any plan approval:60611. Propose **Must / Should / Could** features (prioritized; not a laundry list).622. Run a short **premortem**: what would make this product fail?633. Flag **contradictions**, missing entities, circular flows, conflicting constraints (e.g. offline-first + heavy realtime).644. Recommend modifications that simplify or de-risk the product.6566**Stop and resolve with the user.** Do not proceed until contradictions and Must-scope are agreed.6768## Phase 3 — Architecture plan6970Produce a concise plan the user can confirm:7172- **Modular monolith** shape: modules, boundaries, and how they communicate in-process (not via a service mesh)73- Domain model (entities, relationships, states)74- Permissions / tenancy model75- Module boundaries (feature modules + UI / domain / data / infra)76- i18n approach (library, catalog layout, locale detection/switching)77- Theming approach (tokens, light/dark, persistence, system preference)78- API contract approach (typed schemas, OpenAPI, etc.)79- Ordered **vertical slices** (smallest useful path first)80- Product-specific Definition of Done (inherit [checklists/definition-of-done.md](checklists/definition-of-done.md))8182Lock early decisions that are expensive to change: auth model, multi-tenancy, locales, billing. Prefer extracting a service later from a clean module boundary over starting distributed. Wire i18n and theme tokens into the first UI slice — do not bolt them on at the end.8384## Phase 4 — Stack playbook85861. Open the matching `stacks/*.md`, or fill [stacks/_template.md](stacks/_template.md) from **current** official docs.872. Confirm packages and versions before scaffolding.883. Scaffold only what the first slice needs; avoid unused boilerplate.8990## Phase 5 — Build (vertical TDD slices)9192For each slice, in order:93941. Write/adjust **failing** tests for the behavior.952. Implement domain + data + API + UI for that flow.963. Apply [checklists/ui-ux.md](checklists/ui-ux.md) for any user-facing surface (loading, empty, error, success).974. Refactor while green.985. **Verify**: test suite for the slice, typecheck, lint, manual/critical-path exercise of happy + failure paths.996. Only then start the next slice.100101Prefer contract-first boundaries (shared types / OpenAPI / Zod / schema) before wiring UI to API.102103## Phase 6 — AI-first documentation104105Generate the fixed kit in [checklists/ai-docs.md](checklists/ai-docs.md) early enough that later slices stay consistent — at latest before calling the build done. Minimum:106107- `AGENTS.md`108- `.cursor/rules` (or project skills)109- `docs/architecture.md`, `docs/map.md`, `docs/decisions/` ADRs110- API contract as source of truth111- `.env.example` + seed/demo path112113## Phase 7 — Final gate114115Before declaring done:1161171. Pass [checklists/definition-of-done.md](checklists/definition-of-done.md)1182. Pass [checklists/security.md](checklists/security.md)1193. Refresh `AGENTS.md` / `docs/map.md` if the tree or commands changed1204. Summarize for the user: what shipped, how to run/test, known non-goals, next Should/Could items121122---123124## Output style during intake125126- Ask in focused batches (not one giant wall of questions).127- When recommending, use Must / Should / Could labels.128- When flagging issues, state the conflict, why it matters, and a proposed resolution.129- Think thoroughly; prefer clarifying over guessing.