Skip to main content
PROJECT.md is your project’s living context document. It captures what you’re building, why it matters, and the key decisions that shape implementation.

Location

Created by /gsd:new-project and updated throughout the project lifecycle.

Template Structure

Section Details

What This Is

Purpose: Current accurate description of the product. Guidelines:
  • 2-3 sentences capturing what it does and who it’s for
  • Use the user’s words and framing
  • Update when the product evolves beyond this description
  • Should answer: “What is this?” for someone new
Example:

Core Value

Purpose: The single most important thing that drives all decisions. Guidelines:
  • The ONE thing that cannot fail
  • Everything else can be compromised; this cannot
  • Drives prioritization when tradeoffs arise
  • Rarely changes; if it does, it’s a significant pivot
Example:

Requirements

Validated

Purpose: Requirements that shipped and proved valuable. Format:
Guidelines:
  • These are locked — changing them requires explicit discussion
  • Only move here after feature ships AND proves valuable
  • Creates clear record of what’s been validated

Active

Purpose: Current scope being built toward. Guidelines:
  • These are hypotheses until shipped and validated
  • Move to Validated when shipped
  • Move to Out of Scope if invalidated
  • Keep focused on current milestone work

Out of Scope

Purpose: Explicit boundaries on what we’re NOT building. Guidelines:
  • Always include reasoning (prevents re-adding later)
  • Includes: considered and rejected, deferred to future, explicitly excluded
  • Helps manage stakeholder expectations
Example:

Context

Purpose: Background that informs implementation decisions. Include:
  • Technical environment or ecosystem
  • Relevant prior work or experience
  • User research or feedback themes
  • Known issues to address
Update: As new context emerges through development.

Constraints

Purpose: Hard limits on implementation choices. Format:
Common types:
  • Tech stack
  • Timeline
  • Budget
  • Dependencies
  • Compatibility
  • Performance
  • Security
Example:

Key Decisions

Purpose: Track significant choices that affect future work. Guidelines:
  • Add decisions as they’re made throughout the project
  • Track outcome when known:
    • ✓ Good — decision proved correct
    • ⚠️ Revisit — decision may need reconsideration
    • — Pending — too early to evaluate
Example:

Evolution

PROJECT.md evolves throughout the project lifecycle.

After Each Phase

  1. Requirements invalidated? → Move to Out of Scope with reason
  2. Requirements validated? → Move to Validated with phase reference
  3. New requirements emerged? → Add to Active
  4. Decisions to log? → Add to Key Decisions
  5. “What This Is” still accurate? → Update if drifted

After Each Milestone

  1. Full review of all sections
  2. Core Value check — still the right priority?
  3. Audit Out of Scope — reasons still valid?
  4. Update Context with current state (users, feedback, metrics)

Brownfield Projects

For existing codebases:
  1. Map codebase first via /gsd:map-codebase
  2. Infer Validated requirements from existing code:
    • What does the codebase actually do?
    • What patterns are established?
    • What’s clearly working and relied upon?
  3. Gather Active requirements from user:
    • Present inferred current state
    • Ask what they want to build next
  4. Initialize:
    • Validated = inferred from existing code
    • Active = user’s goals for this work
    • Out of Scope = boundaries user specifies
    • Context = includes current codebase state

STATE.md Reference

STATE.md references PROJECT.md for quick access:
This ensures Claude reads current PROJECT.md context in every workflow.

Size Constraint

Keep PROJECT.md focused and scannable. It’s read at the start of every workflow. If it grows too large:
  • Move detailed historical context to milestone archives
  • Keep only recent/relevant Key Decisions (full history in git)
  • Summarize long Context sections
The goal: “Read once, understand the project.”

See Also