# Project Context

> Auto-generated skeleton. Fill in each [TODO] section, then commit.
> Re-run `mk:project-context generate` after your codebase has content to auto-derive these.

## 1. Project Overview

[TODO: One sentence — what this project does and for whom.]

## 2. Tech Stack

[TODO: List primary languages, frameworks, databases. Include WHY each was chosen if non-obvious.]
<!-- Example: "Next.js App Router — chosen over Remix for team familiarity; Vercel deployment target" -->

## 3. Architecture

[TODO: Describe the high-level system structure. Key modules, services, or layers.]

## 4. Code Conventions

[TODO: Naming patterns, file organisation rules, import order. Anything not enforceable by a linter.]

## 5. Anti-Patterns (Do NOT Do)

[TODO: Explicit list of approaches that were rejected and why. Agents read this to avoid repeating mistakes.]
<!-- Example: "Never use Redux — we use Zustand. Redux was rejected for bundle size." -->

## 6. Testing Approach

[TODO: What gets unit-tested vs integration-tested vs e2e. What the test runner is. Coverage targets.]

## 7. Environment Variables

[TODO: List env var names (not values). Group by: required / optional / local-only.]

## 8. External Services & Integrations

[TODO: APIs, third-party services, message queues. Include auth method and rate-limit notes if relevant.]

## 9. Deployment

[TODO: Where the app runs, how it's deployed, which branches map to which environments.]

## 10. Known Issues & Workarounds

[TODO: Gotchas agents should know — quirks, legacy debt, workarounds that look wrong but are intentional.]

## 11. Rejected Alternatives

[TODO: Decisions already made. Saves agents from re-proposing them. Include the reason each was rejected.]
<!-- This section has the highest ROI — fill it carefully. -->
