@sienklogic/plan-build-run 2.3.1 → 2.4.1
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/CHANGELOG.md +56 -0
- package/README.md +54 -20
- package/dashboard/src/services/dashboard.service.js +24 -1
- package/dashboard/src/services/milestone.service.js +68 -17
- package/package.json +1 -1
- package/plugins/copilot-pbr/CHANGELOG.md +19 -0
- package/plugins/copilot-pbr/README.md +129 -0
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +109 -0
- package/plugins/copilot-pbr/agents/debugger.agent.md +169 -0
- package/plugins/copilot-pbr/agents/executor.agent.md +237 -0
- package/plugins/copilot-pbr/agents/general.agent.md +88 -0
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +88 -0
- package/plugins/copilot-pbr/agents/plan-checker.agent.md +199 -0
- package/plugins/copilot-pbr/agents/planner.agent.md +181 -0
- package/plugins/copilot-pbr/agents/researcher.agent.md +163 -0
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +102 -0
- package/plugins/copilot-pbr/agents/verifier.agent.md +194 -0
- package/plugins/copilot-pbr/hooks/hooks.json +144 -0
- package/plugins/copilot-pbr/plugin.json +30 -0
- package/plugins/copilot-pbr/references/agent-anti-patterns.md +25 -0
- package/plugins/copilot-pbr/references/agent-interactions.md +135 -0
- package/plugins/copilot-pbr/references/agent-teams.md +55 -0
- package/plugins/copilot-pbr/references/checkpoints.md +158 -0
- package/plugins/copilot-pbr/references/common-bug-patterns.md +14 -0
- package/plugins/copilot-pbr/references/config-reference.md +442 -0
- package/plugins/copilot-pbr/references/continuation-format.md +213 -0
- package/plugins/copilot-pbr/references/deviation-rules.md +113 -0
- package/plugins/copilot-pbr/references/git-integration.md +227 -0
- package/plugins/copilot-pbr/references/integration-patterns.md +118 -0
- package/plugins/copilot-pbr/references/model-profiles.md +100 -0
- package/plugins/copilot-pbr/references/model-selection.md +32 -0
- package/plugins/copilot-pbr/references/pbr-rules.md +194 -0
- package/plugins/copilot-pbr/references/plan-authoring.md +182 -0
- package/plugins/copilot-pbr/references/plan-format.md +288 -0
- package/plugins/copilot-pbr/references/planning-config.md +214 -0
- package/plugins/copilot-pbr/references/questioning.md +215 -0
- package/plugins/copilot-pbr/references/reading-verification.md +128 -0
- package/plugins/copilot-pbr/references/stub-patterns.md +161 -0
- package/plugins/copilot-pbr/references/subagent-coordination.md +120 -0
- package/plugins/copilot-pbr/references/ui-formatting.md +462 -0
- package/plugins/copilot-pbr/references/verification-patterns.md +199 -0
- package/plugins/copilot-pbr/references/wave-execution.md +96 -0
- package/plugins/copilot-pbr/rules/pbr-workflow.mdc +48 -0
- package/plugins/copilot-pbr/setup.ps1 +93 -0
- package/plugins/copilot-pbr/setup.sh +92 -0
- package/plugins/copilot-pbr/skills/begin/SKILL.md +566 -0
- package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +34 -0
- package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +19 -0
- package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +50 -0
- package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +64 -0
- package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +20 -0
- package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +31 -0
- package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +17 -0
- package/plugins/copilot-pbr/skills/build/SKILL.md +901 -0
- package/plugins/copilot-pbr/skills/config/SKILL.md +253 -0
- package/plugins/copilot-pbr/skills/continue/SKILL.md +159 -0
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +31 -0
- package/plugins/copilot-pbr/skills/debug/SKILL.md +511 -0
- package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +17 -0
- package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +28 -0
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +343 -0
- package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +62 -0
- package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +10 -0
- package/plugins/copilot-pbr/skills/do/SKILL.md +66 -0
- package/plugins/copilot-pbr/skills/explore/SKILL.md +374 -0
- package/plugins/copilot-pbr/skills/health/SKILL.md +218 -0
- package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +31 -0
- package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +64 -0
- package/plugins/copilot-pbr/skills/help/SKILL.md +152 -0
- package/plugins/copilot-pbr/skills/import/SKILL.md +498 -0
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +703 -0
- package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +49 -0
- package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +31 -0
- package/plugins/copilot-pbr/skills/note/SKILL.md +227 -0
- package/plugins/copilot-pbr/skills/pause/SKILL.md +246 -0
- package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +72 -0
- package/plugins/copilot-pbr/skills/plan/SKILL.md +649 -0
- package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +22 -0
- package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +33 -0
- package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +39 -0
- package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +20 -0
- package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +24 -0
- package/plugins/copilot-pbr/skills/quick/SKILL.md +351 -0
- package/plugins/copilot-pbr/skills/resume/SKILL.md +399 -0
- package/plugins/copilot-pbr/skills/review/SKILL.md +648 -0
- package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +61 -0
- package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +41 -0
- package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +116 -0
- package/plugins/copilot-pbr/skills/scan/SKILL.md +301 -0
- package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +202 -0
- package/plugins/copilot-pbr/skills/setup/SKILL.md +250 -0
- package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +36 -0
- package/plugins/copilot-pbr/skills/shared/config-loading.md +103 -0
- package/plugins/copilot-pbr/skills/shared/context-budget.md +41 -0
- package/plugins/copilot-pbr/skills/shared/context-loader-task.md +87 -0
- package/plugins/copilot-pbr/skills/shared/digest-select.md +80 -0
- package/plugins/copilot-pbr/skills/shared/domain-probes.md +126 -0
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +80 -0
- package/plugins/copilot-pbr/skills/shared/gate-prompts.md +389 -0
- package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +46 -0
- package/plugins/copilot-pbr/skills/shared/progress-display.md +54 -0
- package/plugins/copilot-pbr/skills/shared/revision-loop.md +82 -0
- package/plugins/copilot-pbr/skills/shared/state-loading.md +63 -0
- package/plugins/copilot-pbr/skills/shared/state-update.md +162 -0
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +34 -0
- package/plugins/copilot-pbr/skills/status/SKILL.md +362 -0
- package/plugins/copilot-pbr/skills/todo/SKILL.md +256 -0
- package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +53 -0
- package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +152 -0
- package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +98 -0
- package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +41 -0
- package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +82 -0
- package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +117 -0
- package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/copilot-pbr/templates/continue-here.md.tmpl +74 -0
- package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +38 -0
- package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
- package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +71 -0
- package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +112 -0
- package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
- package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
- package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +13 -3
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +14 -4
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +10 -7
- package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
- package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +71 -0
- package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +112 -0
- package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
- package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
- package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
- package/plugins/pbr/.claude-plugin/plugin.json +7 -2
- package/plugins/pbr/skills/milestone/SKILL.md +10 -7
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<!-- Source: agents/codebase-mapper.md | Purpose: Output format for TESTING.md codebase analysis -->
|
|
2
|
+
# Testing Infrastructure
|
|
3
|
+
|
|
4
|
+
> Analyzed: {date}
|
|
5
|
+
> Test files found: {n}
|
|
6
|
+
> Coverage: {percentage if configured}
|
|
7
|
+
|
|
8
|
+
## Framework
|
|
9
|
+
|
|
10
|
+
| Aspect | Value | Config |
|
|
11
|
+
|--------|-------|--------|
|
|
12
|
+
| Test runner | {Jest / Vitest / pytest / etc.} | {config file path} |
|
|
13
|
+
| Assertion library | {built-in / chai / etc.} | - |
|
|
14
|
+
| Mocking | {jest.mock / vitest.mock / unittest.mock} | - |
|
|
15
|
+
| Coverage tool | {c8 / istanbul / coverage.py} | {config} |
|
|
16
|
+
|
|
17
|
+
## Running Tests
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# All tests
|
|
21
|
+
{npm test}
|
|
22
|
+
|
|
23
|
+
# Specific file
|
|
24
|
+
{npm test -- path/to/file}
|
|
25
|
+
|
|
26
|
+
# Watch mode
|
|
27
|
+
{npm run test:watch}
|
|
28
|
+
|
|
29
|
+
# Coverage
|
|
30
|
+
{npm run test:coverage}
|
|
31
|
+
|
|
32
|
+
# Specific pattern
|
|
33
|
+
{npm test -- --grep "pattern"}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Test Organization
|
|
37
|
+
|
|
38
|
+
| Aspect | Pattern | Example |
|
|
39
|
+
|--------|---------|---------|
|
|
40
|
+
| Location | {co-located / separate directory} | `src/auth/auth.test.ts` or `tests/auth.test.ts` |
|
|
41
|
+
| File naming | {.test.ts / .spec.ts / test_.py} | `UserService.test.ts` |
|
|
42
|
+
| Describe blocks | {module/function/feature} | `describe('UserService')` |
|
|
43
|
+
| Test naming | {should X / it X / test_X} | `it('should return user by id')` |
|
|
44
|
+
|
|
45
|
+
## Test Structure Pattern
|
|
46
|
+
|
|
47
|
+
```{language}
|
|
48
|
+
// Pattern used in this codebase: {evidence file:line}
|
|
49
|
+
{actual test structure from codebase}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Mocking Patterns
|
|
53
|
+
|
|
54
|
+
### External Services
|
|
55
|
+
|
|
56
|
+
```{language}
|
|
57
|
+
// How external services are mocked: {evidence file:line}
|
|
58
|
+
{actual mock pattern from codebase}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Database
|
|
62
|
+
|
|
63
|
+
```{language}
|
|
64
|
+
// How database is mocked/seeded: {evidence file:line}
|
|
65
|
+
{actual pattern from codebase}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### API Calls
|
|
69
|
+
|
|
70
|
+
```{language}
|
|
71
|
+
// How API calls are mocked: {evidence file:line}
|
|
72
|
+
{actual pattern from codebase}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Fixtures & Test Data
|
|
76
|
+
|
|
77
|
+
| Type | Location | Pattern |
|
|
78
|
+
|------|----------|---------|
|
|
79
|
+
| {Factories} | {tests/factories/} | {createUser(), createPost()} |
|
|
80
|
+
| {Fixtures} | {tests/fixtures/} | {JSON files} |
|
|
81
|
+
| {Seeds} | {prisma/seed.ts} | {Prisma seed script} |
|
|
82
|
+
|
|
83
|
+
## Coverage Configuration
|
|
84
|
+
|
|
85
|
+
| Setting | Value |
|
|
86
|
+
|---------|-------|
|
|
87
|
+
| Threshold | {if configured: line %, branch %, function %} |
|
|
88
|
+
| Include | {file patterns} |
|
|
89
|
+
| Exclude | {file patterns} |
|
|
90
|
+
| Reporter | {text / html / lcov} |
|
|
91
|
+
|
|
92
|
+
## E2E Testing
|
|
93
|
+
|
|
94
|
+
| Aspect | Value | Config |
|
|
95
|
+
|--------|-------|--------|
|
|
96
|
+
| Framework | {Playwright / Cypress / none} | {config file} |
|
|
97
|
+
| Location | {e2e/ or tests/e2e/} | - |
|
|
98
|
+
| Base URL | {config} | - |
|
|
99
|
+
|
|
100
|
+
## Testing Gaps
|
|
101
|
+
|
|
102
|
+
| Area | Has Tests | Notes |
|
|
103
|
+
|------|-----------|-------|
|
|
104
|
+
| {Unit tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
105
|
+
| {Integration tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
106
|
+
| {E2E tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
107
|
+
| {API tests} | {YES/NO/PARTIAL} | {coverage details} |
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<!-- Source: agents/researcher.md | Purpose: Output format for research project ARCHITECTURE.md -->
|
|
2
|
+
# Architecture Research
|
|
3
|
+
|
|
4
|
+
**Domain:** {domain}
|
|
5
|
+
**Researched:** {date}
|
|
6
|
+
**Confidence:** {confidence}
|
|
7
|
+
|
|
8
|
+
## Standard Architecture
|
|
9
|
+
|
|
10
|
+
### System Overview
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
{ascii_architecture_diagram}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Component Responsibilities
|
|
17
|
+
|
|
18
|
+
| Component | Responsibility | Typical Implementation |
|
|
19
|
+
|-----------|----------------|------------------------|
|
|
20
|
+
| {component} | {responsibility} | {implementation} |
|
|
21
|
+
|
|
22
|
+
## Recommended Project Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
src/
|
|
26
|
+
{project_structure}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Structure Rationale
|
|
30
|
+
|
|
31
|
+
- **{folder}/:** {rationale}
|
|
32
|
+
|
|
33
|
+
## Architectural Patterns
|
|
34
|
+
|
|
35
|
+
### Pattern 1: {pattern_name}
|
|
36
|
+
|
|
37
|
+
**What:** {description}
|
|
38
|
+
**When to use:** {conditions}
|
|
39
|
+
**Trade-offs:** {pros_and_cons}
|
|
40
|
+
|
|
41
|
+
**Example:**
|
|
42
|
+
```{language}
|
|
43
|
+
{code_example}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Pattern 2: {pattern_name}
|
|
47
|
+
|
|
48
|
+
**What:** {description}
|
|
49
|
+
**When to use:** {conditions}
|
|
50
|
+
**Trade-offs:** {pros_and_cons}
|
|
51
|
+
|
|
52
|
+
### Pattern 3: {pattern_name}
|
|
53
|
+
|
|
54
|
+
**What:** {description}
|
|
55
|
+
**When to use:** {conditions}
|
|
56
|
+
**Trade-offs:** {pros_and_cons}
|
|
57
|
+
|
|
58
|
+
## Data Flow
|
|
59
|
+
|
|
60
|
+
### Request Flow
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
{request_flow_diagram}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### State Management
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
{state_management_diagram}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Key Data Flows
|
|
73
|
+
|
|
74
|
+
1. **{flow_name}:** {description}
|
|
75
|
+
2. **{flow_name}:** {description}
|
|
76
|
+
|
|
77
|
+
## Scaling Considerations
|
|
78
|
+
|
|
79
|
+
| Scale | Architecture Adjustments |
|
|
80
|
+
|-------|--------------------------|
|
|
81
|
+
| 0-1k users | {approach} |
|
|
82
|
+
| 1k-100k users | {approach} |
|
|
83
|
+
| 100k+ users | {approach} |
|
|
84
|
+
|
|
85
|
+
### Scaling Priorities
|
|
86
|
+
|
|
87
|
+
1. **First bottleneck:** {description}
|
|
88
|
+
2. **Second bottleneck:** {description}
|
|
89
|
+
|
|
90
|
+
## Anti-Patterns
|
|
91
|
+
|
|
92
|
+
### Anti-Pattern 1: {name}
|
|
93
|
+
|
|
94
|
+
**What people do:** {mistake}
|
|
95
|
+
**Why it's wrong:** {problem}
|
|
96
|
+
**Do this instead:** {correct_approach}
|
|
97
|
+
|
|
98
|
+
### Anti-Pattern 2: {name}
|
|
99
|
+
|
|
100
|
+
**What people do:** {mistake}
|
|
101
|
+
**Why it's wrong:** {problem}
|
|
102
|
+
**Do this instead:** {correct_approach}
|
|
103
|
+
|
|
104
|
+
## Integration Points
|
|
105
|
+
|
|
106
|
+
### External Services
|
|
107
|
+
|
|
108
|
+
| Service | Integration Pattern | Notes |
|
|
109
|
+
|---------|---------------------|-------|
|
|
110
|
+
| {service} | {pattern} | {notes} |
|
|
111
|
+
|
|
112
|
+
### Internal Boundaries
|
|
113
|
+
|
|
114
|
+
| Boundary | Communication | Notes |
|
|
115
|
+
|----------|---------------|-------|
|
|
116
|
+
| {boundary} | {communication} | {notes} |
|
|
117
|
+
|
|
118
|
+
## Sources
|
|
119
|
+
|
|
120
|
+
- {sources}
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
*Architecture research for: {domain}*
|
|
124
|
+
*Researched: {date}*
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!-- Source: agents/researcher.md | Purpose: Output format for research project STACK.md (external tech evaluation) -->
|
|
2
|
+
# Stack Research
|
|
3
|
+
|
|
4
|
+
**Domain:** {domain}
|
|
5
|
+
**Researched:** {date}
|
|
6
|
+
**Confidence:** {confidence}
|
|
7
|
+
|
|
8
|
+
## Recommended Stack
|
|
9
|
+
|
|
10
|
+
### Core Technologies
|
|
11
|
+
|
|
12
|
+
| Technology | Version | Purpose | Why Recommended |
|
|
13
|
+
|------------|---------|---------|-----------------|
|
|
14
|
+
| {technology} | {version} | {purpose} | {rationale} |
|
|
15
|
+
|
|
16
|
+
### Supporting Libraries
|
|
17
|
+
|
|
18
|
+
| Library | Version | Purpose | When to Use |
|
|
19
|
+
|---------|---------|---------|-------------|
|
|
20
|
+
| {library} | {version} | {purpose} | {use_case} |
|
|
21
|
+
|
|
22
|
+
### Development Tools
|
|
23
|
+
|
|
24
|
+
| Tool | Purpose | Notes |
|
|
25
|
+
|------|---------|-------|
|
|
26
|
+
| {tool} | {purpose} | {notes} |
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Core
|
|
32
|
+
{core_install_commands}
|
|
33
|
+
|
|
34
|
+
# Supporting
|
|
35
|
+
{supporting_install_commands}
|
|
36
|
+
|
|
37
|
+
# Dev dependencies
|
|
38
|
+
{dev_install_commands}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Alternatives Considered
|
|
42
|
+
|
|
43
|
+
| Recommended | Alternative | When to Use Alternative |
|
|
44
|
+
|-------------|-------------|-------------------------|
|
|
45
|
+
| {our_choice} | {alternative} | {conditions} |
|
|
46
|
+
|
|
47
|
+
## What NOT to Use
|
|
48
|
+
|
|
49
|
+
| Avoid | Why | Use Instead |
|
|
50
|
+
|-------|-----|-------------|
|
|
51
|
+
| {technology} | {problem} | {alternative} |
|
|
52
|
+
|
|
53
|
+
## Stack Patterns by Variant
|
|
54
|
+
|
|
55
|
+
**If {condition}:**
|
|
56
|
+
- Use {variation}
|
|
57
|
+
- Because {reason}
|
|
58
|
+
|
|
59
|
+
## Version Compatibility
|
|
60
|
+
|
|
61
|
+
| Package A | Compatible With | Notes |
|
|
62
|
+
|-----------|-----------------|-------|
|
|
63
|
+
| {package_a} | {package_b} | {notes} |
|
|
64
|
+
|
|
65
|
+
## Sources
|
|
66
|
+
|
|
67
|
+
- {sources}
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
*Stack research for: {domain}*
|
|
71
|
+
*Researched: {date}*
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
<!-- Source: agents/researcher.md | Purpose: Output format for research project SUMMARY.md (executive overview with roadmap implications) -->
|
|
2
|
+
# Project Research Summary
|
|
3
|
+
|
|
4
|
+
**Project:** {project_name}
|
|
5
|
+
**Domain:** {domain}
|
|
6
|
+
**Researched:** {date}
|
|
7
|
+
**Confidence:** {confidence}
|
|
8
|
+
|
|
9
|
+
## Executive Summary
|
|
10
|
+
|
|
11
|
+
{executive_summary}
|
|
12
|
+
|
|
13
|
+
## Key Findings
|
|
14
|
+
|
|
15
|
+
### Recommended Stack
|
|
16
|
+
|
|
17
|
+
{stack_summary}
|
|
18
|
+
|
|
19
|
+
**Core technologies:**
|
|
20
|
+
- {technology}: {purpose} -- {rationale}
|
|
21
|
+
|
|
22
|
+
### Expected Features
|
|
23
|
+
|
|
24
|
+
{features_summary}
|
|
25
|
+
|
|
26
|
+
**Must have (table stakes):**
|
|
27
|
+
- {feature} -- users expect this
|
|
28
|
+
|
|
29
|
+
**Should have (competitive):**
|
|
30
|
+
- {feature} -- differentiator
|
|
31
|
+
|
|
32
|
+
**Defer (v2+):**
|
|
33
|
+
- {feature} -- not essential for launch
|
|
34
|
+
|
|
35
|
+
### Architecture Approach
|
|
36
|
+
|
|
37
|
+
{architecture_summary}
|
|
38
|
+
|
|
39
|
+
**Major components:**
|
|
40
|
+
1. {component} -- {responsibility}
|
|
41
|
+
2. {component} -- {responsibility}
|
|
42
|
+
3. {component} -- {responsibility}
|
|
43
|
+
|
|
44
|
+
### Critical Pitfalls
|
|
45
|
+
|
|
46
|
+
{pitfalls_summary}
|
|
47
|
+
|
|
48
|
+
1. **{pitfall}** -- {avoidance}
|
|
49
|
+
2. **{pitfall}** -- {avoidance}
|
|
50
|
+
3. **{pitfall}** -- {avoidance}
|
|
51
|
+
|
|
52
|
+
## Implications for Roadmap
|
|
53
|
+
|
|
54
|
+
Based on research, suggested phase structure:
|
|
55
|
+
|
|
56
|
+
### Phase 1: {phase_name}
|
|
57
|
+
**Rationale:** {why_first}
|
|
58
|
+
**Delivers:** {deliverables}
|
|
59
|
+
**Addresses:** {features}
|
|
60
|
+
**Avoids:** {pitfall}
|
|
61
|
+
|
|
62
|
+
### Phase 2: {phase_name}
|
|
63
|
+
**Rationale:** {why_this_order}
|
|
64
|
+
**Delivers:** {deliverables}
|
|
65
|
+
**Uses:** {stack_elements}
|
|
66
|
+
**Implements:** {architecture_component}
|
|
67
|
+
|
|
68
|
+
### Phase 3: {phase_name}
|
|
69
|
+
**Rationale:** {why_this_order}
|
|
70
|
+
**Delivers:** {deliverables}
|
|
71
|
+
|
|
72
|
+
### Phase Ordering Rationale
|
|
73
|
+
|
|
74
|
+
- {ordering_rationale}
|
|
75
|
+
|
|
76
|
+
### Research Flags
|
|
77
|
+
|
|
78
|
+
Phases likely needing deeper research during planning:
|
|
79
|
+
- **Phase {x}:** {reason}
|
|
80
|
+
|
|
81
|
+
Phases with standard patterns (skip research-phase):
|
|
82
|
+
- **Phase {x}:** {reason}
|
|
83
|
+
|
|
84
|
+
## Confidence Assessment
|
|
85
|
+
|
|
86
|
+
| Area | Confidence | Notes |
|
|
87
|
+
|------|------------|-------|
|
|
88
|
+
| Stack | {confidence} | {notes} |
|
|
89
|
+
| Features | {confidence} | {notes} |
|
|
90
|
+
| Architecture | {confidence} | {notes} |
|
|
91
|
+
| Pitfalls | {confidence} | {notes} |
|
|
92
|
+
|
|
93
|
+
**Overall confidence:** {confidence}
|
|
94
|
+
|
|
95
|
+
### Gaps to Address
|
|
96
|
+
|
|
97
|
+
- {gap}: {handling}
|
|
98
|
+
|
|
99
|
+
## Sources
|
|
100
|
+
|
|
101
|
+
### Primary (HIGH confidence)
|
|
102
|
+
- {source}
|
|
103
|
+
|
|
104
|
+
### Secondary (MEDIUM confidence)
|
|
105
|
+
- {source}
|
|
106
|
+
|
|
107
|
+
### Tertiary (LOW confidence)
|
|
108
|
+
- {source}
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
*Research completed: {date}*
|
|
112
|
+
*Ready for roadmap: yes*
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Phase Research: {Phase Name}
|
|
2
|
+
|
|
3
|
+
> Research conducted: {date}
|
|
4
|
+
> Research date: {ISO date}
|
|
5
|
+
> Mode: phase-research
|
|
6
|
+
> Phase: {NN}-{phase-name}
|
|
7
|
+
> Confidence: {overall HIGH/MEDIUM/LOW}
|
|
8
|
+
> Coverage: {COMPLETE/PARTIAL/INSUFFICIENT}
|
|
9
|
+
> Retrieval cycles: {1-3}
|
|
10
|
+
|
|
11
|
+
## User Constraints
|
|
12
|
+
|
|
13
|
+
{Copied verbatim from CONTEXT.md}
|
|
14
|
+
|
|
15
|
+
## Phase Goal
|
|
16
|
+
|
|
17
|
+
{What this phase aims to achieve, extracted from the phase definition}
|
|
18
|
+
|
|
19
|
+
## Implementation Approach
|
|
20
|
+
|
|
21
|
+
### Recommended Approach
|
|
22
|
+
|
|
23
|
+
{Detailed implementation strategy with source attribution}
|
|
24
|
+
|
|
25
|
+
**Steps**:
|
|
26
|
+
1. {Step with [S{n}] attribution}
|
|
27
|
+
2. ...
|
|
28
|
+
|
|
29
|
+
**Key decisions**:
|
|
30
|
+
- {Decision with rationale and source}
|
|
31
|
+
|
|
32
|
+
### Configuration Details
|
|
33
|
+
|
|
34
|
+
{Specific configuration values, environment variables, file paths}
|
|
35
|
+
|
|
36
|
+
```{language}
|
|
37
|
+
// Source: [S{n}]
|
|
38
|
+
{configuration example}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### API Patterns
|
|
42
|
+
|
|
43
|
+
{Relevant API signatures, request/response formats, authentication patterns}
|
|
44
|
+
|
|
45
|
+
### Data Models
|
|
46
|
+
|
|
47
|
+
{Database schemas, type definitions, data flow}
|
|
48
|
+
|
|
49
|
+
## Dependencies
|
|
50
|
+
|
|
51
|
+
{What needs to be installed, configured, or available}
|
|
52
|
+
|
|
53
|
+
| Dependency | Version | Purpose | Required By |
|
|
54
|
+
|-----------|---------|---------|-------------|
|
|
55
|
+
| ... | ... | ... | ... |
|
|
56
|
+
|
|
57
|
+
## Pitfalls for This Phase
|
|
58
|
+
|
|
59
|
+
{Phase-specific things that can go wrong}
|
|
60
|
+
|
|
61
|
+
1. **{Pitfall}** [S{n}]: {Description}
|
|
62
|
+
|
|
63
|
+
## Testing Strategy
|
|
64
|
+
|
|
65
|
+
{How to verify this phase works correctly}
|
|
66
|
+
|
|
67
|
+
## Coverage Assessment
|
|
68
|
+
|
|
69
|
+
| Question | Status | Confidence | Cycle Resolved |
|
|
70
|
+
|----------|--------|------------|----------------|
|
|
71
|
+
| {Implementation question 1} | ANSWERED | HIGH | 1 |
|
|
72
|
+
| {Implementation question 2} | GAP | — | — |
|
|
73
|
+
|
|
74
|
+
**Overall coverage**: {COMPLETE/PARTIAL/INSUFFICIENT}
|
|
75
|
+
**Gaps remaining**: {List any unresolved questions}
|
|
76
|
+
|
|
77
|
+
## Sources
|
|
78
|
+
|
|
79
|
+
| # | Type | URL/Description | Confidence |
|
|
80
|
+
|---|------|----------------|------------|
|
|
81
|
+
| ... | ... | ... | ... |
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Research: {Topic Title}
|
|
2
|
+
|
|
3
|
+
> Research conducted: {date}
|
|
4
|
+
> Research date: {ISO date}
|
|
5
|
+
> Mode: project-research
|
|
6
|
+
> Confidence: {overall HIGH/MEDIUM/LOW}
|
|
7
|
+
> Coverage: {COMPLETE/PARTIAL/INSUFFICIENT}
|
|
8
|
+
> Retrieval cycles: {1-3}
|
|
9
|
+
> Sources consulted: {count}
|
|
10
|
+
|
|
11
|
+
## User Constraints
|
|
12
|
+
|
|
13
|
+
{Copied verbatim from CONTEXT.md if it exists. Otherwise: "No CONTEXT.md found."}
|
|
14
|
+
|
|
15
|
+
## Executive Summary
|
|
16
|
+
|
|
17
|
+
{2-3 paragraph overview of findings. What is this technology/domain? Why does it matter for this project? What is the recommended approach?}
|
|
18
|
+
|
|
19
|
+
## Standard Stack
|
|
20
|
+
|
|
21
|
+
{The conventional/recommended technology stack for this domain}
|
|
22
|
+
|
|
23
|
+
| Layer | Technology | Version | Confidence | Source |
|
|
24
|
+
|-------|-----------|---------|------------|--------|
|
|
25
|
+
| Runtime | Node.js | 20.x LTS | HIGH | [S2] |
|
|
26
|
+
| Framework | Next.js | 14.x | HIGH | [S2] |
|
|
27
|
+
| ... | ... | ... | ... | ... |
|
|
28
|
+
|
|
29
|
+
### Stack Rationale
|
|
30
|
+
|
|
31
|
+
{Why this combination? What alternatives were considered and why they were rejected?}
|
|
32
|
+
|
|
33
|
+
### Stack Risks
|
|
34
|
+
|
|
35
|
+
{Known issues, upcoming deprecations, migration concerns}
|
|
36
|
+
|
|
37
|
+
## Architecture Patterns
|
|
38
|
+
|
|
39
|
+
### Recommended Pattern: {Name}
|
|
40
|
+
|
|
41
|
+
{Description with source attribution}
|
|
42
|
+
|
|
43
|
+
**When to use**: ...
|
|
44
|
+
**When to avoid**: ...
|
|
45
|
+
**Example structure**:
|
|
46
|
+
```
|
|
47
|
+
project/
|
|
48
|
+
src/
|
|
49
|
+
...
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Alternative Pattern: {Name}
|
|
53
|
+
|
|
54
|
+
{Only include if CONTEXT.md doesn't lock the architecture}
|
|
55
|
+
|
|
56
|
+
## Common Pitfalls
|
|
57
|
+
|
|
58
|
+
{Numbered list of things that commonly go wrong}
|
|
59
|
+
|
|
60
|
+
1. **{Pitfall name}** [S{n}]: {Description and how to avoid}
|
|
61
|
+
2. ...
|
|
62
|
+
|
|
63
|
+
## Code Examples
|
|
64
|
+
|
|
65
|
+
{Working code snippets for key patterns. Every snippet must include source attribution.}
|
|
66
|
+
|
|
67
|
+
### {Pattern Name}
|
|
68
|
+
|
|
69
|
+
```{language}
|
|
70
|
+
// Source: [S{n}] {url or description}
|
|
71
|
+
{code}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Integration Points
|
|
75
|
+
|
|
76
|
+
{How this technology connects with other systems. API patterns, data flow, authentication.}
|
|
77
|
+
|
|
78
|
+
## Coverage Assessment
|
|
79
|
+
|
|
80
|
+
| Question | Status | Confidence | Cycle Resolved |
|
|
81
|
+
|----------|--------|------------|----------------|
|
|
82
|
+
| {Core question 1} | ANSWERED | HIGH | 1 |
|
|
83
|
+
| {Core question 2} | ANSWERED | MEDIUM | 2 |
|
|
84
|
+
| {Core question 3} | GAP | — | — |
|
|
85
|
+
|
|
86
|
+
**Overall coverage**: {COMPLETE/PARTIAL/INSUFFICIENT}
|
|
87
|
+
**Gaps remaining**: {List any unresolved questions and why they couldn't be answered}
|
|
88
|
+
|
|
89
|
+
## Open Questions
|
|
90
|
+
|
|
91
|
+
{Things the research could not definitively answer. These need human input or further investigation.}
|
|
92
|
+
|
|
93
|
+
## Sources
|
|
94
|
+
|
|
95
|
+
| # | Type | URL/Description | Confidence |
|
|
96
|
+
|---|------|----------------|------------|
|
|
97
|
+
| S1 | Official Docs | {url} | HIGH |
|
|
98
|
+
| S2 | GitHub | {url} | HIGH |
|
|
99
|
+
| ... | ... | ... | ... |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Research Synthesis: {Topic}
|
|
2
|
+
|
|
3
|
+
> Synthesized: {date}
|
|
4
|
+
> Mode: synthesis
|
|
5
|
+
> Input documents: {count}
|
|
6
|
+
> Confidence: {overall}
|
|
7
|
+
|
|
8
|
+
## Executive Summary
|
|
9
|
+
|
|
10
|
+
{Unified findings across all input documents}
|
|
11
|
+
|
|
12
|
+
## Key Findings
|
|
13
|
+
|
|
14
|
+
{Numbered list of the most important findings, with source document attribution}
|
|
15
|
+
|
|
16
|
+
## Contradictions Resolved
|
|
17
|
+
|
|
18
|
+
{Where input documents disagreed and how it was resolved}
|
|
19
|
+
|
|
20
|
+
| Topic | Document A Says | Document B Says | Resolution | Basis |
|
|
21
|
+
|-------|----------------|----------------|------------|-------|
|
|
22
|
+
| ... | ... | ... | ... | ... |
|
|
23
|
+
|
|
24
|
+
## Recommended Approach
|
|
25
|
+
|
|
26
|
+
{The synthesized recommendation}
|
|
27
|
+
|
|
28
|
+
## Risks and Mitigations
|
|
29
|
+
|
|
30
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
31
|
+
|------|-----------|--------|------------|
|
|
32
|
+
| ... | ... | ... | ... |
|
|
33
|
+
|
|
34
|
+
## Sources
|
|
35
|
+
|
|
36
|
+
{Consolidated source list from all input documents}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pbr",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"description": "Plan-Build-Run — Structured development workflow for Claude Code. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SienkLogic",
|
|
@@ -9,5 +9,10 @@
|
|
|
9
9
|
"homepage": "https://github.com/SienkLogic/plan-build-run",
|
|
10
10
|
"repository": "https://github.com/SienkLogic/plan-build-run",
|
|
11
11
|
"license": "MIT",
|
|
12
|
-
"keywords": [
|
|
12
|
+
"keywords": [
|
|
13
|
+
"claude-code",
|
|
14
|
+
"context-engineering",
|
|
15
|
+
"development-workflow",
|
|
16
|
+
"subagent-delegation"
|
|
17
|
+
]
|
|
13
18
|
}
|
|
@@ -263,10 +263,13 @@ Archive a completed milestone and prepare for the next one.
|
|
|
263
263
|
|
|
264
264
|
5. **Archive milestone documents:**
|
|
265
265
|
|
|
266
|
-
|
|
267
|
-
- `.planning/milestones/{version}
|
|
268
|
-
- `.planning/milestones/{version}
|
|
269
|
-
- `.planning/milestones/{version}
|
|
266
|
+
Create a versioned archive directory and move phase directories into it:
|
|
267
|
+
- `.planning/milestones/{version}/ROADMAP.md` — snapshot of ROADMAP.md at completion
|
|
268
|
+
- `.planning/milestones/{version}/REQUIREMENTS.md` — snapshot of REQUIREMENTS.md
|
|
269
|
+
- `.planning/milestones/{version}/STATS.md` — milestone statistics
|
|
270
|
+
- `.planning/milestones/{version}/phases/{NN}-{slug}/` — move each milestone phase directory from `.planning/phases/` into the archive
|
|
271
|
+
|
|
272
|
+
**Move phases:** For each phase belonging to this milestone, move (not copy) its directory from `.planning/phases/{NN}-{slug}/` to `.planning/milestones/{version}/phases/{NN}-{slug}/`. This keeps the active phases directory clean for the next milestone.
|
|
270
273
|
|
|
271
274
|
**Stats file content:**
|
|
272
275
|
|
|
@@ -293,7 +296,7 @@ Archive a completed milestone and prepare for the next one.
|
|
|
293
296
|
```markdown
|
|
294
297
|
## Milestone: {name} ({version}) -- COMPLETED
|
|
295
298
|
|
|
296
|
-
Phases {start}-{end} completed on {date}. See `.planning/milestones/{version}
|
|
299
|
+
Phases {start}-{end} completed on {date}. See `.planning/milestones/{version}/ROADMAP.md` for details.
|
|
297
300
|
|
|
298
301
|
| Phase | Status |
|
|
299
302
|
|-------|--------|
|
|
@@ -325,7 +328,7 @@ Archive a completed milestone and prepare for the next one.
|
|
|
325
328
|
|
|
326
329
|
9. **Commit:**
|
|
327
330
|
```bash
|
|
328
|
-
git add .planning/milestones/ .planning/ROADMAP.md .planning/PROJECT.md .planning/STATE.md .planning/HISTORY.md
|
|
331
|
+
git add .planning/milestones/ .planning/phases/ .planning/ROADMAP.md .planning/PROJECT.md .planning/STATE.md .planning/HISTORY.md
|
|
329
332
|
git commit -m "docs(planning): complete milestone {version}"
|
|
330
333
|
```
|
|
331
334
|
|
|
@@ -342,7 +345,7 @@ Archive a completed milestone and prepare for the next one.
|
|
|
342
345
|
- {count} commits, {lines} lines of code
|
|
343
346
|
- {duration} days
|
|
344
347
|
|
|
345
|
-
Archived to: .planning/milestones/{version}
|
|
348
|
+
Archived to: .planning/milestones/{version}/
|
|
346
349
|
Git tag: {version}
|
|
347
350
|
|
|
348
351
|
───────────────────────────────────────────────────────────────
|