opencode-bonfire 1.5.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -10
- package/files/agent/writer.md +127 -0
- package/files/command/bonfire-configure.md +9 -2
- package/files/command/bonfire-review-pr.md +45 -91
- package/files/command/bonfire-strategic.md +166 -0
- package/files/opencode.json +0 -3
- package/package.json +1 -1
- package/files/agent/doc-writer.md +0 -120
- package/files/agent/spec-writer.md +0 -142
- package/files/command/bonfire-git-strategy.md +0 -91
- package/files/command/bonfire-handoff.md +0 -168
- package/files/command/bonfire-poc.md +0 -332
- package/files/command/bonfire-prd.md +0 -332
- package/files/command/bonfire-rfc.md +0 -267
- package/files/skill/handoff-awareness/SKILL.md +0 -64
package/README.md
CHANGED
|
@@ -24,22 +24,24 @@ bunx opencode-bonfire install --global
|
|
|
24
24
|
|
|
25
25
|
| Component | Description |
|
|
26
26
|
|-----------|-------------|
|
|
27
|
-
| **
|
|
28
|
-
| **
|
|
29
|
-
| **
|
|
27
|
+
| **9 Commands** | `/bonfire-start`, `/bonfire-end`, `/bonfire-spec`, `/bonfire-strategic`, `/bonfire-document`, `/bonfire-review`, `/bonfire-review-pr`, `/bonfire-archive`, `/bonfire-configure` |
|
|
28
|
+
| **3 Agents** | `codebase-explorer`, `writer`, `work-reviewer` |
|
|
29
|
+
| **2 Skills** | `bonfire-context`, `archive-bonfire-awareness` |
|
|
30
30
|
| **1 Plugin** | Archive suggestions + compaction context preservation |
|
|
31
31
|
| **1 Tool** | `bonfire` for structured session data |
|
|
32
32
|
|
|
33
33
|
## Usage
|
|
34
34
|
|
|
35
35
|
```
|
|
36
|
-
/bonfire-start
|
|
37
|
-
/bonfire-end
|
|
38
|
-
/bonfire-spec <topic>
|
|
39
|
-
/bonfire-
|
|
40
|
-
/bonfire-
|
|
41
|
-
/bonfire-
|
|
42
|
-
/bonfire-
|
|
36
|
+
/bonfire-start # Start session, scaffold if needed
|
|
37
|
+
/bonfire-end # Update context, commit changes
|
|
38
|
+
/bonfire-spec <topic> # Create implementation spec
|
|
39
|
+
/bonfire-strategic <type> <topic> # Create RFC, PRD, or POC
|
|
40
|
+
/bonfire-document <topic> # Document a codebase topic
|
|
41
|
+
/bonfire-review # Find blindspots and gaps
|
|
42
|
+
/bonfire-review-pr <number> # Review a GitHub PR
|
|
43
|
+
/bonfire-archive # Archive completed work
|
|
44
|
+
/bonfire-configure # Change project settings (git, linear)
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
## How It Works
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: writer
|
|
3
|
+
description: Synthesize research and interview findings into documents
|
|
4
|
+
model: anthropic/claude-sonnet-4-20250514
|
|
5
|
+
hidden: true
|
|
6
|
+
tools: [Read, Write]
|
|
7
|
+
permission:
|
|
8
|
+
task:
|
|
9
|
+
"*": deny
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
You are a technical document writer. Given research findings and (optionally) interview answers, produce clear, actionable documentation.
|
|
13
|
+
|
|
14
|
+
## Input Format
|
|
15
|
+
|
|
16
|
+
You'll receive a structured prompt with:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
## Document Type
|
|
20
|
+
|
|
21
|
+
<spec | doc | rfc | prd | poc>
|
|
22
|
+
|
|
23
|
+
## Research Findings
|
|
24
|
+
|
|
25
|
+
<structured markdown from codebase-explorer>
|
|
26
|
+
|
|
27
|
+
## Interview Q&A (if applicable)
|
|
28
|
+
|
|
29
|
+
### [Round Name]
|
|
30
|
+
**Q**: <question>
|
|
31
|
+
**A**: <user's answer>
|
|
32
|
+
|
|
33
|
+
## Document Metadata
|
|
34
|
+
|
|
35
|
+
- **Topic**: <feature, system, or task name>
|
|
36
|
+
- **Issue**: <issue ID or N/A>
|
|
37
|
+
- **Output Path**: </absolute/path/to/file.md>
|
|
38
|
+
- **Date**: <YYYY-MM-DD>
|
|
39
|
+
- **Author**: <name, if applicable>
|
|
40
|
+
|
|
41
|
+
## Template (optional)
|
|
42
|
+
|
|
43
|
+
<specific template structure to follow>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Write the document to the exact path specified in Output Path.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Document Types
|
|
51
|
+
|
|
52
|
+
### Spec (Implementation Specification)
|
|
53
|
+
|
|
54
|
+
**Purpose**: Actionable implementation plan for a feature or task.
|
|
55
|
+
|
|
56
|
+
**Required sections**:
|
|
57
|
+
- `## Overview` - What we're building and why
|
|
58
|
+
- `## Decisions` - Key choices with rationale
|
|
59
|
+
- `## Implementation Steps` - Ordered, actionable steps
|
|
60
|
+
- `## Edge Cases` - Error handling, boundary conditions
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
### Doc (Reference Documentation)
|
|
65
|
+
|
|
66
|
+
**Purpose**: Help developers understand a system, feature, or pattern.
|
|
67
|
+
|
|
68
|
+
**Required sections**:
|
|
69
|
+
- `## Overview` - What this is and why it exists
|
|
70
|
+
- `## Key Files` - Important files with their roles
|
|
71
|
+
- `## How It Works` - Conceptual explanation of flow/behavior
|
|
72
|
+
- `## Gotchas` - Edge cases, pitfalls, things to watch out for
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### RFC (Request for Comments)
|
|
77
|
+
|
|
78
|
+
**Purpose**: Technical decision proposal for team review.
|
|
79
|
+
|
|
80
|
+
**Required sections**:
|
|
81
|
+
- `## Abstract` - 1-3 sentences summarizing proposal
|
|
82
|
+
- `## Problems We Need To Solve` - Concrete problems with evidence
|
|
83
|
+
- `## Proposed Solution` - Overview, pros, cons/tradeoffs
|
|
84
|
+
- `## Alternatives Considered` - Other approaches evaluated
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### PRD (Product Requirements Document)
|
|
89
|
+
|
|
90
|
+
**Purpose**: Product specification for feature development.
|
|
91
|
+
|
|
92
|
+
**Required sections**:
|
|
93
|
+
- `## 2. Problem` - Customer and internal pain points
|
|
94
|
+
- `## 5. Goals & Success Metrics` - Goals and measurable outcomes
|
|
95
|
+
- `## 6. Product Requirements` - Functional and non-functional requirements
|
|
96
|
+
- `## 9. Scope` - In scope and out of scope
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### POC (Proof of Concept Plan)
|
|
101
|
+
|
|
102
|
+
**Purpose**: Customer evaluation plan with clear success criteria.
|
|
103
|
+
|
|
104
|
+
**Required sections**:
|
|
105
|
+
- `## 2. Goals` - What we want to validate
|
|
106
|
+
- `## 3. Success Criteria` - Concrete, measurable exit criteria
|
|
107
|
+
- `## 4. Scope` - In scope and out of scope
|
|
108
|
+
- `## 5. Plan & Timeline` - Phases and milestones
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Rules
|
|
113
|
+
|
|
114
|
+
1. **Ground in research** - Reference actual files and patterns discovered
|
|
115
|
+
2. **Honor interview answers** - Don't override user decisions
|
|
116
|
+
3. **Be specific** - "Update UserService.ts" not "Update the service"
|
|
117
|
+
4. **Don't invent** - If something wasn't discussed/found, don't add it
|
|
118
|
+
5. **Keep it actionable** - Someone should be able to use this document
|
|
119
|
+
|
|
120
|
+
## Quality Checklist
|
|
121
|
+
|
|
122
|
+
Before finishing, verify:
|
|
123
|
+
- [ ] All required sections for document type are present
|
|
124
|
+
- [ ] Content references real files from research (not placeholders)
|
|
125
|
+
- [ ] Interview decisions are captured (if applicable)
|
|
126
|
+
- [ ] No vague or generic content
|
|
127
|
+
- [ ] File written to exact Output Path specified
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Change project settings (locations, git strategy, Linear)
|
|
2
|
+
description: Change project settings (locations, git strategy, Linear, hooks)
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Configure Bonfire
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Change project settings. Supports targeted or full configuration.
|
|
8
|
+
|
|
9
|
+
## Argument Handling
|
|
10
|
+
|
|
11
|
+
Based on `$ARGUMENTS`:
|
|
12
|
+
- Empty: Full interactive config (all settings)
|
|
13
|
+
- `git`: Git strategy only (quick mode - replaces /bonfire-git-strategy)
|
|
14
|
+
- `linear`: Linear integration only (quick mode)
|
|
8
15
|
|
|
9
16
|
## Step 1: Find Git Root
|
|
10
17
|
|
|
@@ -19,25 +19,7 @@ If no PR number provided:
|
|
|
19
19
|
>
|
|
20
20
|
> Example: `/bonfire-review-pr 333`"
|
|
21
21
|
|
|
22
|
-
## Step 2:
|
|
23
|
-
|
|
24
|
-
Check if running inside tmux:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
[ -n "$TMUX" ] && echo "tmux: yes" || echo "tmux: no"
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**If not in tmux**: Provide manual instructions and abort:
|
|
31
|
-
|
|
32
|
-
> "PR review with inline comments requires tmux for worktree isolation.
|
|
33
|
-
>
|
|
34
|
-
> **Manual alternative:**
|
|
35
|
-
> 1. Create worktree: `git worktree add ../pr-<number>-review origin/<branch>`
|
|
36
|
-
> 2. Open new terminal in that directory
|
|
37
|
-
> 3. Run: `opencode 'Review this PR and help me post comments'`
|
|
38
|
-
> 4. Clean up when done: `git worktree remove ../pr-<number>-review`"
|
|
39
|
-
|
|
40
|
-
## Step 3: Fetch PR Metadata
|
|
22
|
+
## Step 2: Fetch PR Metadata
|
|
41
23
|
|
|
42
24
|
Get PR details:
|
|
43
25
|
|
|
@@ -55,7 +37,7 @@ Extract and store:
|
|
|
55
37
|
- `url` - PR URL
|
|
56
38
|
- `files` - Changed files list
|
|
57
39
|
|
|
58
|
-
## Step
|
|
40
|
+
## Step 3: Compute Worktree Path
|
|
59
41
|
|
|
60
42
|
```bash
|
|
61
43
|
git rev-parse --show-toplevel
|
|
@@ -65,7 +47,7 @@ Compute worktree path: `<git-root>/../<repo-name>-pr-<number>-review`
|
|
|
65
47
|
|
|
66
48
|
Example: `/Users/vieko/dev/gtm` → `/Users/vieko/dev/gtm-pr-333-review`
|
|
67
49
|
|
|
68
|
-
## Step
|
|
50
|
+
## Step 4: Create Worktree
|
|
69
51
|
|
|
70
52
|
Create isolated worktree for PR branch:
|
|
71
53
|
|
|
@@ -82,85 +64,78 @@ git worktree add <worktree-path> origin/<headRefName>
|
|
|
82
64
|
- No: Abort
|
|
83
65
|
3. If other error: Report error and abort with suggestion to check `git worktree list`
|
|
84
66
|
|
|
85
|
-
## Step
|
|
67
|
+
## Step 5: Get PR Diff
|
|
86
68
|
|
|
87
69
|
Get the diff for context:
|
|
88
70
|
|
|
89
71
|
```bash
|
|
90
|
-
|
|
72
|
+
git -C <worktree-path> diff origin/<baseRefName>...HEAD --stat
|
|
91
73
|
```
|
|
92
74
|
|
|
93
75
|
Get changed files:
|
|
94
76
|
|
|
95
77
|
```bash
|
|
96
|
-
|
|
78
|
+
git -C <worktree-path> diff origin/<baseRefName>...HEAD --name-only
|
|
97
79
|
```
|
|
98
80
|
|
|
99
|
-
## Step
|
|
100
|
-
|
|
101
|
-
Create context document for spawned session.
|
|
102
|
-
|
|
103
|
-
Write to `<worktree-path>/.bonfire-pr-review-context.md`:
|
|
104
|
-
|
|
105
|
-
```markdown
|
|
106
|
-
# PR Review Context
|
|
107
|
-
|
|
108
|
-
**PR**: #<number> - <title>
|
|
109
|
-
**URL**: <url>
|
|
110
|
-
**Branch**: <headRefName> → <baseRefName>
|
|
111
|
-
**Commit**: <headRefOid>
|
|
112
|
-
|
|
113
|
-
## Changed Files
|
|
114
|
-
|
|
115
|
-
<list of changed files>
|
|
116
|
-
|
|
117
|
-
## PR Description
|
|
118
|
-
|
|
119
|
-
<body from PR>
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Instructions
|
|
81
|
+
## Step 6: Run Review (Subagent)
|
|
124
82
|
|
|
125
|
-
|
|
83
|
+
**Progress**: Tell the user "Reviewing PR for blindspots and gaps..."
|
|
126
84
|
|
|
127
|
-
|
|
85
|
+
Use the Task tool to invoke the **work-reviewer** agent.
|
|
128
86
|
|
|
129
|
-
|
|
87
|
+
Provide the review context:
|
|
130
88
|
|
|
131
89
|
```
|
|
132
90
|
Review this pull request for blindspots, gaps, and improvements.
|
|
133
91
|
|
|
134
92
|
**Scope**: PR #<number> - <title>
|
|
135
93
|
|
|
94
|
+
**PR Description**:
|
|
95
|
+
<body from PR>
|
|
96
|
+
|
|
136
97
|
**Files changed**:
|
|
137
98
|
<list of changed files>
|
|
138
99
|
|
|
139
|
-
**
|
|
140
|
-
<body>
|
|
100
|
+
**Worktree path**: <worktree-path>
|
|
141
101
|
|
|
102
|
+
Read the changed files from the worktree to understand the actual changes.
|
|
142
103
|
Return categorized findings with severity, effort, and specific file:line references.
|
|
143
104
|
```
|
|
144
105
|
|
|
145
|
-
|
|
106
|
+
**Wait for the subagent to return findings** before proceeding.
|
|
107
|
+
|
|
108
|
+
### Review Validation
|
|
109
|
+
|
|
110
|
+
After the subagent returns, validate the response:
|
|
146
111
|
|
|
147
|
-
|
|
112
|
+
**Valid response contains:**
|
|
113
|
+
- Findings with file:line references where applicable
|
|
114
|
+
- Severity categorization
|
|
148
115
|
|
|
149
|
-
|
|
116
|
+
**On subagent failure**: Fall back to in-context review using the diff.
|
|
117
|
+
|
|
118
|
+
## Step 7: Present Findings
|
|
119
|
+
|
|
120
|
+
Present the findings grouped by severity:
|
|
121
|
+
|
|
122
|
+
For each finding, show:
|
|
150
123
|
- File and line number (if applicable)
|
|
151
124
|
- Severity (critical/moderate/minor)
|
|
152
125
|
- Description
|
|
153
126
|
|
|
154
|
-
|
|
127
|
+
## Step 8: Batch Comment Selection
|
|
155
128
|
|
|
156
129
|
Ask user: "Which findings should I post as PR comments?"
|
|
157
130
|
|
|
158
|
-
|
|
159
|
-
1.
|
|
160
|
-
2. "
|
|
131
|
+
Use the question tool with options:
|
|
132
|
+
1. "All" - post all findings
|
|
133
|
+
2. "Select" - user will specify which ones (e.g., "1, 3, 5")
|
|
161
134
|
3. "None" - skip commenting
|
|
162
135
|
|
|
163
|
-
|
|
136
|
+
If "Select" chosen, ask which finding numbers to post.
|
|
137
|
+
|
|
138
|
+
## Step 9: Post Comments
|
|
164
139
|
|
|
165
140
|
For each selected finding with a file:line reference, post an inline comment:
|
|
166
141
|
|
|
@@ -186,44 +161,23 @@ gh pr comment <number> --body "**Review Finding**
|
|
|
186
161
|
*Severity: <severity> | Effort: <effort>*"
|
|
187
162
|
```
|
|
188
163
|
|
|
189
|
-
**Note**: GitHub only allows inline comments on files that are part of the PR diff. If a finding references a file not in the diff
|
|
164
|
+
**Note**: GitHub only allows inline comments on files that are part of the PR diff. If a finding references a file not in the diff, post it as a general PR comment instead.
|
|
190
165
|
|
|
191
|
-
|
|
166
|
+
## Step 10: Cleanup Worktree
|
|
192
167
|
|
|
193
168
|
After commenting, ask: "Review complete. Remove worktree?"
|
|
194
169
|
|
|
195
170
|
If yes:
|
|
196
171
|
```bash
|
|
197
|
-
cd <original-git-root>
|
|
198
172
|
git worktree remove <worktree-path>
|
|
199
173
|
```
|
|
200
174
|
|
|
201
175
|
Report: "Worktree cleaned up. PR review complete."
|
|
202
|
-
```
|
|
203
176
|
|
|
204
|
-
## Step
|
|
177
|
+
## Step 11: Confirm
|
|
205
178
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
tmux split-window -h -c "$WORKTREE_PATH" \
|
|
212
|
-
"opencode --append-system-prompt '$CONTEXT' 'Ready to review PR #<number>. Starting work-reviewer subagent...'"
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
**Verify spawn succeeded**: If tmux fails (terminal too small), warn user and provide manual instructions.
|
|
216
|
-
|
|
217
|
-
## Step 9: Confirm
|
|
218
|
-
|
|
219
|
-
Tell the user:
|
|
220
|
-
|
|
221
|
-
> **PR review session spawned.**
|
|
222
|
-
>
|
|
223
|
-
> - Worktree created at `<worktree-path>`
|
|
224
|
-
> - Review session opened in adjacent pane
|
|
225
|
-
> - The new session will run work-reviewer and help you post comments
|
|
226
|
-
>
|
|
227
|
-
> When done, the review session will offer to clean up the worktree.
|
|
228
|
-
>
|
|
229
|
-
> You can continue working here - your current branch is unchanged.
|
|
179
|
+
Summarize:
|
|
180
|
+
- PR reviewed: #<number> - <title>
|
|
181
|
+
- Findings: <count> total, <posted> posted as comments
|
|
182
|
+
- PR URL for reference
|
|
183
|
+
- Worktree status (cleaned up or retained)
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create strategic documents (RFC, PRD, POC)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Create Strategic Document
|
|
6
|
+
|
|
7
|
+
Create a strategic document of type **$1** for **$2**.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Document Type Detection
|
|
12
|
+
|
|
13
|
+
Parse $ARGUMENTS:
|
|
14
|
+
- First word: document type (rfc, prd, poc)
|
|
15
|
+
- Remaining: topic/subject
|
|
16
|
+
|
|
17
|
+
Examples:
|
|
18
|
+
- `/bonfire-strategic rfc authentication` → RFC about authentication
|
|
19
|
+
- `/bonfire-strategic prd dark-mode` → PRD about dark mode feature
|
|
20
|
+
- `/bonfire-strategic poc acme-corp` → POC plan for Acme Corp
|
|
21
|
+
|
|
22
|
+
If type not recognized or missing, ask user to specify.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Supported Types
|
|
27
|
+
|
|
28
|
+
| Type | Full Name | Use Case |
|
|
29
|
+
|------|-----------|----------|
|
|
30
|
+
| `rfc` | Request for Comments | Technical decisions, architecture proposals |
|
|
31
|
+
| `prd` | Product Requirements Document | Product specs, feature definitions |
|
|
32
|
+
| `poc` | Proof of Concept Plan | Customer evaluations, technical validations |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Shared Flow
|
|
37
|
+
|
|
38
|
+
All document types follow the same research → interview → write pattern:
|
|
39
|
+
|
|
40
|
+
### Phase 1: Research (Subagent)
|
|
41
|
+
|
|
42
|
+
**Progress**: Tell the user "Researching codebase for context..."
|
|
43
|
+
|
|
44
|
+
Use the Task tool to invoke the **codebase-explorer** agent.
|
|
45
|
+
|
|
46
|
+
Research questions vary by type:
|
|
47
|
+
|
|
48
|
+
**RFC**: Prior art, architecture, constraints, stakeholders
|
|
49
|
+
**PRD**: Related features, user flows, data model, technical constraints
|
|
50
|
+
**POC**: Relevant features, integration points, configuration, limitations
|
|
51
|
+
|
|
52
|
+
**Wait for findings** before proceeding.
|
|
53
|
+
|
|
54
|
+
### Phase 2: Interview (Main Context)
|
|
55
|
+
|
|
56
|
+
**Progress**: Tell the user "Starting interview..."
|
|
57
|
+
|
|
58
|
+
Interview rounds vary by type:
|
|
59
|
+
|
|
60
|
+
**RFC** (3 rounds):
|
|
61
|
+
1. Problem definition
|
|
62
|
+
2. Proposed solutions
|
|
63
|
+
3. Logistics & scope
|
|
64
|
+
|
|
65
|
+
**PRD** (4 rounds):
|
|
66
|
+
1. Problem & opportunity
|
|
67
|
+
2. Target users
|
|
68
|
+
3. Requirements & metrics
|
|
69
|
+
4. Scope
|
|
70
|
+
|
|
71
|
+
**POC** (4 rounds):
|
|
72
|
+
1. Customer context
|
|
73
|
+
2. Goals & success criteria
|
|
74
|
+
3. Scope & timeline
|
|
75
|
+
4. Risks & responsibilities
|
|
76
|
+
|
|
77
|
+
Use the question tool with informed questions based on research.
|
|
78
|
+
|
|
79
|
+
### Phase 3: Write (Subagent)
|
|
80
|
+
|
|
81
|
+
**Progress**: Tell the user "Writing document..."
|
|
82
|
+
|
|
83
|
+
Use the Task tool to invoke the **writer** agent.
|
|
84
|
+
|
|
85
|
+
Provide:
|
|
86
|
+
- Document type
|
|
87
|
+
- Research findings
|
|
88
|
+
- Interview Q&A
|
|
89
|
+
- Output path
|
|
90
|
+
- Template structure (type-specific)
|
|
91
|
+
|
|
92
|
+
### Phase 4: Verify & Confirm
|
|
93
|
+
|
|
94
|
+
Verify required sections are present (4 key sections per type).
|
|
95
|
+
|
|
96
|
+
If incomplete, offer: proceed / retry / abort.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Type-Specific Details
|
|
101
|
+
|
|
102
|
+
### RFC (Request for Comments)
|
|
103
|
+
|
|
104
|
+
**Interview rounds**:
|
|
105
|
+
- Round 1: Problem definition (what problems, who experiences, evidence)
|
|
106
|
+
- Round 2: Proposed solutions (approach, alternatives, tradeoffs)
|
|
107
|
+
- Round 3: Logistics (reviewers, scope, timeline)
|
|
108
|
+
|
|
109
|
+
**Required sections**:
|
|
110
|
+
- `## Abstract`
|
|
111
|
+
- `## Problems We Need To Solve`
|
|
112
|
+
- `## Proposed Solution`
|
|
113
|
+
- `## Alternatives Considered`
|
|
114
|
+
|
|
115
|
+
**Naming**: `rfc-<topic>.md` or `rfc-<issue-id>-<topic>.md`
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### PRD (Product Requirements Document)
|
|
120
|
+
|
|
121
|
+
**Interview rounds**:
|
|
122
|
+
- Round 1: Problem & opportunity (pain points, why now, business case)
|
|
123
|
+
- Round 2: Target users (primary/secondary audiences, plan gating)
|
|
124
|
+
- Round 3: Requirements & metrics (must-haves, success metrics)
|
|
125
|
+
- Round 4: Scope (in/out of scope, dependencies)
|
|
126
|
+
|
|
127
|
+
**Required sections**:
|
|
128
|
+
- `## 2. Problem`
|
|
129
|
+
- `## 5. Goals & Success Metrics`
|
|
130
|
+
- `## 6. Product Requirements`
|
|
131
|
+
- `## 9. Scope`
|
|
132
|
+
|
|
133
|
+
**Naming**: `prd-<feature>.md` or `prd-<issue-id>-<feature>.md`
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### POC (Proof of Concept Plan)
|
|
138
|
+
|
|
139
|
+
**Interview rounds**:
|
|
140
|
+
- Round 1: Customer context (who, current state, why evaluating)
|
|
141
|
+
- Round 2: Goals & success criteria (what to prove, measurable outcomes)
|
|
142
|
+
- Round 3: Scope & timeline (in/out scope, dates, deadlines)
|
|
143
|
+
- Round 4: Risks & responsibilities (ownership, assumptions, risks)
|
|
144
|
+
|
|
145
|
+
**Required sections**:
|
|
146
|
+
- `## 2. Goals`
|
|
147
|
+
- `## 3. Success Criteria`
|
|
148
|
+
- `## 4. Scope`
|
|
149
|
+
- `## 5. Plan & Timeline`
|
|
150
|
+
|
|
151
|
+
**Naming**: `poc-<customer>.md` or `poc-<issue-id>-<customer>.md`
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## File Locations
|
|
156
|
+
|
|
157
|
+
- **Config**: `<git-root>/.bonfire/config.json` contains `docsLocation`
|
|
158
|
+
- **Default**: `.bonfire/docs/` if not configured
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Post-Write
|
|
163
|
+
|
|
164
|
+
1. **Verify** document has required sections
|
|
165
|
+
2. **Link** to session context in `<git-root>/.bonfire/index.md`
|
|
166
|
+
3. **Confirm** with user and offer next steps
|
package/files/opencode.json
CHANGED