| name | Discover |
| description | Build the project profile through guided conversation — the grounding document every later phase reads. Establishes the mode and, for content projects, the work-unit registry. |
| argument-hint | [--refine] [--scan] |
Discover — Build the Project Profile
A guided, conversational intake that produces .genesis/discovery/context.md — the single grounding document every later phase reads. Entry point of the pipeline; no prior approval required.
Inputs
.genesis/project-state.md (the mode)
.genesis/constitution/index.md (if it exists)
- The mode-specific template:
discovery-greenfield.md / discovery-brownfield.md / discovery-lowfield.md
- An existing
.genesis/discovery/context.md when --refine
Process
- Read
project-state.md; extract the mode. Branch all behavior on it.
- If discovery already exists and
--refine was not passed, ask redo-or-refine.
- Run the mode-specific guided conversation (below).
- Write
.genesis/discovery/context.md and ask the user to confirm.
Greenfield — interview (7 areas)
Project Identity · Scope & Features · Constraints · Technology Preferences · Organizational Standards · Integration Points · Quality Expectations.
Brownfield — interview + scan + gap analysis
Greenfield's areas, plus:
- Codebase scan: languages/extensions, directory structure, test infrastructure, dependency health, CI/config, recent history (
git log --oneline -50), documentation state.
- Human context: history, practices, pain points, tech debt, what works, improvement priorities.
- Gap analysis: classify each area Missing / Partial / Present, with a priority-ordered convergence plan.
Lowfield — interview + content scan + unit registry
Conversation (7 areas): Your Domain · Information Architecture · Workflow Stages (each becomes a pipeline stage) · Quality Standards · Progressive Reveal (sequential-discovery domains only) · Reference Materials · Tools & Formats. Then teach how the pipeline maps onto the domain and define the custom stages.
Unit registry (--scan to seed from existing files): map content files to unit IDs using a naming convention (propose, confirm), ask which stage each unit has reached, and write units.json:
{
"feature": "<feature-name>",
"convention": { "prefix": "U", "digits": 3, "separator": ": ", "example": "U001: Sample Title" },
"units": [
{ "id": "U001", "title": "Chapter 1: The Beginning",
"status": "in-progress", "currentStage": "dev-edit",
"entryStage": "dev-edit", "aliases": [], "notes": "Imported from chapters/ch-01.md" }
]
}
Units with no content yet are status: pending; imported units are in-progress with currentStage/entryStage set.
Output
.genesis/discovery/context.md — the structured profile. Brownfield appends scan results + gap analysis; lowfield appends content-type definitions, workflow descriptions, and a unit-registry summary.
.genesis/features/<feature>/units.json (lowfield only).
Next step
Run /genesis-constitute.
Natural language triggers
- "discover"
- "tell genesis about my project"
- "profile this project"