Skip to content

Commit 2b39edb

Browse files
docs: update all docs for markdown-only PRD format
Remove all references to prd.json and the two-file model. The prd.md file is now the single source of truth with structured markdown headings, status fields, and checkbox acceptance criteria. Replace <chief-complete/> with <chief-done/> signal. Remove --merge and --force CLI flags.
1 parent b80fd1e commit 2b39edb

10 files changed

Lines changed: 326 additions & 388 deletions

File tree

docs/concepts/chief-directory.md

Lines changed: 13 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ your-project/
1818
├── config.yaml # Project settings (worktree, auto-push, PR)
1919
├── prds/
2020
│ └── my-feature/
21-
│ ├── prd.md # Human-readable PRD (you write this)
22-
│ ├── prd.json # Machine-readable PRD (Chief reads/writes)
21+
│ ├── prd.md # Structured PRD (you write, Chief reads/updates)
2322
│ ├── progress.md # Progress log (Chief appends after each story)
2423
│ └── claude.log # Raw agent output (for debugging)
2524
└── worktrees/ # Isolated checkouts for parallel PRDs
@@ -45,42 +44,21 @@ Chief uses this folder as the working context for the entire run. All reads and
4544

4645
### `prd.md`
4746

48-
The human-readable product requirements document. You write this file (or generate it with `chief new`). It contains context, background, technical notes, and anything else that helps the agent understand what to build.
47+
The structured product requirements document. You write this file (or generate it with `chief new`). It contains freeform context at the top (background, technical notes, design guidance) and structured user stories that Chief parses and updates.
4948

50-
This file is included in the prompt sent to the agent at the start of each iteration. Write it as if you're briefing a senior developer who's new to the project — the more context you provide, the better the output.
49+
Chief reads this file at the start of each iteration to determine which story to work on, and updates status fields after completing a story. The agent also reads the freeform context to understand what you're building and how.
5150

52-
```markdown
53-
# My Feature
54-
55-
## Background
56-
We need to add user authentication to our API...
57-
58-
## Technical Notes
59-
- We use Express.js with TypeScript
60-
- Database is PostgreSQL with Prisma ORM
61-
- Follow existing middleware patterns in `src/middleware/`
62-
```
63-
64-
### `prd.json`
65-
66-
The structured, machine-readable PRD. This is where user stories, their priorities, and their completion status live. Chief reads this file at the start of each iteration to determine which story to work on, and writes to it after completing a story.
67-
68-
Key fields:
51+
Key story fields (parsed from markdown):
6952

70-
| Field | Type | Description |
71-
|-------|------|-------------|
72-
| `project` | string | Project name |
73-
| `description` | string | Brief project description |
74-
| `userStories` | array | List of user stories |
75-
| `userStories[].id` | string | Story identifier (e.g., `US-001`) |
76-
| `userStories[].title` | string | Short story title |
77-
| `userStories[].description` | string | User story in "As a... I want... so that..." format |
78-
| `userStories[].acceptanceCriteria` | array | List of criteria that must be met |
79-
| `userStories[].priority` | number | Execution order (lower = higher priority) |
80-
| `userStories[].passes` | boolean | Whether the story is complete |
81-
| `userStories[].inProgress` | boolean | Whether Chief is currently working on this story |
53+
| Field | Format | Description |
54+
|-------|--------|-------------|
55+
| ID + Title | `### US-001: Story Title` | Story heading parsed by Chief |
56+
| Status | `**Status:** done\|in-progress\|todo` | Completion state, updated by Chief |
57+
| Priority | `**Priority:** N` | Execution order (lower = higher priority) |
58+
| Description | `**Description:** ...` | Story description |
59+
| Acceptance Criteria | `- [ ]` / `- [x]` | Checkbox items tracked by Chief |
8260

83-
Chief selects the next story by finding the highest-priority story (lowest `priority` number) where `passes` is `false`. See the [PRD Format](/concepts/prd-format) reference for full details.
61+
Chief selects the next story by finding the highest-priority story (lowest `**Priority:**` number) without `**Status:** done`. See the [PRD Format](/concepts/prd-format) reference for full details.
8462

8563
### `progress.md`
8664

@@ -184,15 +162,12 @@ A single project can have multiple PRDs, each tracking a separate feature or ini
184162
├── prds/
185163
│ ├── auth-system/
186164
│ │ ├── prd.md
187-
│ │ ├── prd.json
188165
│ │ └── progress.md
189166
│ ├── payment-integration/
190167
│ │ ├── prd.md
191-
│ │ ├── prd.json
192168
│ │ └── progress.md
193169
│ └── admin-dashboard/
194170
│ ├── prd.md
195-
│ ├── prd.json
196171
│ └── progress.md
197172
└── worktrees/
198173
├── auth-system/
@@ -244,8 +219,7 @@ If you want collaborators to see progress and continue where you left off, commi
244219
```
245220

246221
This shares:
247-
- `prd.md`: Your requirements, the source of truth for what to build
248-
- `prd.json`: Story state and progress, so collaborators see what's done
222+
- `prd.md`: Your requirements and story state — the source of truth for what to build and what's done
249223
- `progress.md`: Implementation history and learnings, valuable project context
250224

251225
The `claude.log` files are large, regenerated each run, and only useful for debugging.

docs/concepts/how-it-works.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Here's what happens in each step:
7070
2. **Invoke Agent**: Constructs a prompt with the story details and project context, then spawns the agent
7171
3. **Agent Codes**: The agent reads files, writes code, runs tests, and fixes issues until the story is complete
7272
4. **Commit**: The agent commits the changes with a message like `feat: [US-001] - Feature Title`
73-
5. **Mark Complete**: Chief updates the project state and records progress
73+
5. **Mark Complete**: Chief updates the story status in `prd.md` and records progress
7474
6. **Repeat**: If more stories remain, the loop continues
7575

7676
This isolation is intentional. If something breaks, you know exactly which story caused it. Each commit represents one complete feature.

0 commit comments

Comments
 (0)