forge-dev-framework 1.0.1 → 1.1.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.
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: forge:quick
3
+ description: Execute a quick task with FORGE guarantees (atomic commits, state tracking)
4
+ argument-hint: <task-description>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Glob
10
+ - Grep
11
+ - Bash
12
+ - Task
13
+ - AskUserQuestion
14
+ ---
15
+
16
+ <objective>
17
+ Execute small, ad-hoc tasks with FORGE guarantees (atomic commits, STATE.json tracking) while skipping optional workflows.
18
+
19
+ Quick mode is the same system with a shorter path:
20
+ - Spawns planner + executor(s)
21
+ - Skips research, plan-checker, verifier
22
+ - Quick tasks live in `.planning/quick/` separate from planned phases
23
+ - Updates STATE.json "Quick Tasks Completed" table (NOT ROADMAP.md)
24
+
25
+ Use when: You know exactly what to do and the task is small enough to not need research or verification.
26
+ </objective>
27
+
28
+ <execution_context>
29
+ @state/STATE.json
30
+ @CLAUDE.md
31
+ </execution_context>
32
+
33
+ <context>
34
+ **Task Description:** $ARGUMENTS
35
+
36
+ **Quick Task Workflow:**
37
+ 1. Validate task is appropriate for quick mode
38
+ 2. Create minimal task plan (1-3 atomic steps)
39
+ 3. Execute task with atomic commits
40
+ 4. Update STATE.json quick tasks table
41
+ 5. Verify with basic validation
42
+ </context>
43
+
44
+ <process>
45
+ **Execute quick task workflow:**
46
+
47
+ 1. **Validate Quick Mode Appropriateness**
48
+ Ask: "Is this task appropriate for quick mode?"
49
+ - Quick mode tasks should:
50
+ - Be well-understood (no research needed)
51
+ - Be small (1-3 atomic steps)
52
+ - Not require verification workflows
53
+
54
+ If task doesn't fit:
55
+ - Suggest: Use `forge plan <phase>` for proper planning
56
+ - Or: Continue with quick mode anyway
57
+
58
+ 2. **Create Quick Task Entry**
59
+ - Generate task ID: `quick-{timestamp}`
60
+ - Create quick task directory:
61
+ ```bash
62
+ mkdir -p .planning/quick/{taskId}/
63
+ ```
64
+
65
+ 3. **Generate Minimal Task Plan**
66
+ - Break task into 1-3 atomic steps
67
+ - Define acceptance criteria
68
+ - Identify files to change
69
+ - Create simple plan in `.planning/quick/{taskId}/PLAN.md`
70
+
71
+ 4. **Execute Task**
72
+ For each step:
73
+ - Read necessary files
74
+ - Make changes (Edit or Write)
75
+ - Run validation if applicable
76
+ - **Atomic commit after each step:**
77
+ ```bash
78
+ git add <changed-files>
79
+ git commit -m "feat({taskId}): {step-description}"
80
+ ```
81
+
82
+ 5. **Update STATE.json**
83
+ Add to "quickTasksCompleted" table:
84
+ ```json
85
+ {
86
+ "quickTasksCompleted": [
87
+ {
88
+ "taskId": "quick-{timestamp}",
89
+ "description": "{task-description}",
90
+ "completedAt": "{timestamp}",
91
+ "commitHash": "{hash}"
92
+ }
93
+ ]
94
+ }
95
+ ```
96
+
97
+ 6. **Submit Event**
98
+ - Event type: QUICK_TASK_COMPLETED
99
+ - Include: taskId, description, commitHash
100
+ - Write to state/events/
101
+
102
+ 7. **Verify**
103
+ - Basic validation (does it work?)
104
+ - No formal verification workflow in quick mode
105
+
106
+ 8. **Confirm**
107
+ - Show task completion summary
108
+ - List commits made
109
+ - Show updated STATE.json
110
+ </process>
111
+
112
+ <deliverables>
113
+ - .planning/quick/{taskId}/PLAN.md (minimal plan)
114
+ - Completed task with atomic commits
115
+ - STATE.json updated (quickTasksCompleted table)
116
+ - Event: QUICK_TASK_COMPLETED in state/events/
117
+ </deliverables>
118
+
119
+ <success_criteria>
120
+ - [ ] Task completed successfully
121
+ - [ ] Atomic commits for each step
122
+ - [ ] STATE.json updated
123
+ - [ ] Basic validation passed
124
+ </success_criteria>
125
+
126
+ <next_steps>
127
+ - Continue with more quick tasks: `forge quick <description>`
128
+ - Or plan a full phase: `forge plan <phase>`
129
+ - Check progress: `forge status`
130
+ </next_steps>
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: forge:remove-phase
3
+ description: Remove a future phase from roadmap and renumber subsequent phases
4
+ argument-hint: <phase-number>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Remove a future phase from the roadmap and renumber all subsequent phases.
13
+
14
+ Use when: Phase is no longer needed, duplicate, or superseded by another phase.
15
+
16
+ **Safety:** Cannot remove in-progress or completed phases.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ @state/STATE.json
21
+ @ROADMAP.md
22
+ @CLAUDE.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ **Phase to Remove:** $ARGUMENTS
27
+
28
+ **Phase Removal Validation:**
29
+ 1. Check phase status (must be "pending")
30
+ 2. Verify phase is in the future
31
+ 3. Check for dependents
32
+ 4. Warn if other phases depend on this one
33
+ </context>
34
+
35
+ <process>
36
+ **Execute remove-phase workflow:**
37
+
38
+ 1. **Parse Arguments**
39
+ - Extract phase number to remove
40
+
41
+ 2. **Load State**
42
+ - Read state/STATE.json
43
+ - Read ROADMAP.md
44
+ - Check phase status
45
+
46
+ 3. **Validate Removal**
47
+ - If phase is "in_progress" or "completed" → ERROR
48
+ - If phase is "pending" → continue
49
+ - Check for phases that depend on this one
50
+ - If dependents exist → warn and require confirmation
51
+
52
+ 4. **Renumber Subsequent Phases**
53
+ - Find all phases with higher numbers in the same milestone
54
+ - Decrement each phase number by 1
55
+ - Update phase directory names if needed
56
+ - Update phase IDs in ROADMAP.md
57
+ - Update dependencies in other phases
58
+
59
+ 5. **Remove from ROADMAP.md**
60
+ - Delete phase entry from ROADMAP.md
61
+ - Renumber subsequent phases
62
+ - Update all cross-references
63
+
64
+ 6. **Remove Directory** (optional)
65
+ - Ask user if they want to remove the phase directory
66
+ - If yes: `rm -rf .planning/phases/<phase-slug>/`
67
+ - If no: Keep for reference
68
+
69
+ 7. **Submit Event**
70
+ - Event type: PHASE_REMOVED
71
+ - Include: removedPhaseId, renumberedPhases
72
+ - Write to state/events/
73
+
74
+ 8. **Confirm**
75
+ - Show removed phase info
76
+ - List renumbered phases
77
+ - Notify of any dependency updates
78
+ </process>
79
+
80
+ <deliverables>
81
+ - ROADMAP.md updated (phase removed, subsequent phases renumbered)
82
+ - Phase directory removed (if user confirmed)
83
+ - Event: PHASE_REMOVED in state/events/
84
+ - STATE.json updated
85
+ </deliverables>
86
+
87
+ <next_steps>
88
+ - Review updated roadmap with `forge status`
89
+ - Update any dependent phases manually if needed
90
+ - Continue work with `forge execute <phase>`
91
+ </next_steps>
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: forge:resume-work
3
+ description: Resume work from previous session with full context restoration
4
+ argument-hint: ""
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Resume work from a previous pause by loading the `.continue-here.md` handoff file.
13
+
14
+ Restores complete context including position, completed work, remaining work, decisions, and blockers.
15
+ </objective>
16
+
17
+ <execution_context>
18
+ @.continue-here.md
19
+ @state/STATE.json
20
+ @CLAUDE.md
21
+ </execution_context>
22
+
23
+ <context>
24
+ **Resume Work Workflow:**
25
+ 1. Check for `.continue-here.md` file
26
+ 2. Load and display handoff contents
27
+ 3. Restore context from handoff
28
+ 4. Identify next steps
29
+ 5. Offer to continue work
30
+ </context>
31
+
32
+ <process>
33
+ **Execute resume-work workflow:**
34
+
35
+ 1. **Check for Handoff File**
36
+ ```bash
37
+ if [ -f .continue-here.md ]; then
38
+ echo "Found handoff file"
39
+ else
40
+ echo "No .continue-here.md found. Check STATE.json for last phase."
41
+ exit 1
42
+ fi
43
+ ```
44
+
45
+ 2. **Load Handoff**
46
+ - Read `.continue-here.md`
47
+ - Parse all sections
48
+ - Extract phase name and status
49
+
50
+ 3. **Display Context**
51
+ ```
52
+ ════════════════════════════════════════════════════════
53
+ RESUMING WORK
54
+ ════════════════════════════════════════════════════════
55
+
56
+ Phase: {phase-name}
57
+ Status: {status}
58
+ Paused: {timestamp}
59
+
60
+ ───────────────────────────────────────────────────────────
61
+ POSITION
62
+ ───────────────────────────────────────────────────────────
63
+ {current position}
64
+
65
+ ───────────────────────────────────────────────────────────
66
+ COMPLETED WORK
67
+ ───────────────────────────────────────────────────────────
68
+ ✓ {completed item 1}
69
+ ✓ {completed item 2}
70
+
71
+ ───────────────────────────────────────────────────────────
72
+ REMAINING WORK
73
+ ───────────────────────────────────────────────────────────
74
+ ○ {remaining item 1}
75
+ ○ {remaining item 2}
76
+
77
+ ───────────────────────────────────────────────────────────
78
+ DECISIONS MADE
79
+ ───────────────────────────────────────────────────────────
80
+ {decisions}
81
+
82
+ ───────────────────────────────────────────────────────────
83
+ BLOCKERS
84
+ ───────────────────────────────────────────────────────────
85
+ {blockers}
86
+
87
+ ════════════════════════════════════════════════════════
88
+ ```
89
+
90
+ 4. **Confirm Ready to Continue**
91
+ - Ask: "Ready to continue work?"
92
+ - If yes: Proceed
93
+ - If no: Exit, handoff file preserved
94
+
95
+ 5. **Submit Event**
96
+ - Event type: WORK_RESUMED
97
+ - Include: phaseId, handoffFile, timestamp
98
+ - Write to state/events/
99
+
100
+ 6. **Route to Next Action**
101
+ - Suggest: `forge execute <phase>` to continue execution
102
+ - Or: Manual work based on next steps
103
+ - Or: `forge discuss <phase>` to gather more context
104
+ </process>
105
+
106
+ <deliverables>
107
+ - Context restored from .continue-here.md
108
+ - Event: WORK_RESUMED in state/events/
109
+ - STATE.json updated
110
+ </deliverables>
111
+
112
+ <next_steps>
113
+ - Continue execution: `forge execute <phase>`
114
+ - Update plan if needed: `forge plan <phase>`
115
+ - Or proceed with manual work based on next steps
116
+ </next_steps>
117
+
118
+ <cleanup>
119
+ After successfully resuming and completing work:
120
+ - Remove .continue-here.md
121
+ - Submit WORK_COMPLETED event
122
+ </cleanup>
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: forge:status
3
+ description: Show FORGE project status including current milestone, tasks, events, and progress. Use when user asks "forge status" or wants to see project progress.
4
+ argument-hint: [-v|--verbose]
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ <objective>
11
+ Display current FORGE project status including milestone progress, task states, event count, and team activity.
12
+
13
+ Purpose: Provide visibility into project state and progress.
14
+ Output: Formatted status table with milestone, tasks, events, and counts.
15
+ </objective>
16
+
17
+ <execution_context>
18
+ **Load these files NOW:**
19
+
20
+ - @state/STATE.json (current project state)
21
+ - @src/commands/status.ts (status command implementation)
22
+ </execution_context>
23
+
24
+ <context>
25
+ **Verbosity:** Standard (summary) or -v (verbose with full details)
26
+ **State File:** state/STATE.json
27
+ **Events Directory:** state/events/
28
+
29
+ **Status Information:**
30
+ - Project name and version
31
+ - Current milestone and phase
32
+ - Task counts by status (pending, in_progress, completed)
33
+ - Total events processed
34
+ - Team member activity
35
+ - Recent commits
36
+ </context>
37
+
38
+ <process>
39
+ **Execute the status command:**
40
+
41
+ 1. **Load State**
42
+ ```bash
43
+ forge status
44
+ # or
45
+ forge status -v # verbose mode
46
+ ```
47
+
48
+ 2. **Parse STATE.json**
49
+ - Extract project metadata
50
+ - Count tasks by status
51
+ - Count events from state/events/
52
+ - Get current milestone/phase
53
+
54
+ 3. **Format Output**
55
+ ```
56
+ PROJECT: FORGE v1.0-M1
57
+ STATUS: in_progress
58
+
59
+ MILESTONE: v1.0-M1 (Foundation)
60
+ PHASE: Complete
61
+
62
+ TASKS:
63
+ ✅ Completed: 27/27
64
+ 🔄 In Progress: 0
65
+ ⏳ Pending: 0
66
+
67
+ EVENTS: 47 events processed
68
+
69
+ TEAM ACTIVITY:
70
+ ARCHITECT: 6/6 tasks complete
71
+ STATE-ENGINE: 4/4 tasks complete
72
+ CLI-ENGINE: 5/5 tasks complete
73
+ TEMPLATES: 6/6 tasks complete
74
+ GIT-OPS: 6/6 tasks complete
75
+ ```
76
+
77
+ 4. **Verbose Mode** (-v flag)
78
+ - Show all tasks with IDs and owners
79
+ - List recent events
80
+ - Show contract status
81
+ - Display worktree activity
82
+ </process>
83
+
84
+ <output_formats>
85
+ **Standard:** Summary with counts and milestone
86
+ **Verbose (-v):** Full task list, recent events, team details
87
+ </output_formats>
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: forge:verify
3
+ description: Verify a phase plan against requirements and success criteria. Use when user says "forge verify <phase>" or wants to validate a plan.
4
+ argument-hint: <phase-name>
5
+ allowed-tools:
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - Bash
10
+ ---
11
+
12
+ <objective>
13
+ Verify that a phase plan achieves its goals and covers all requirements through goal-backward analysis.
14
+
15
+ Purpose: Validate plan completeness before execution.
16
+ Output: VERIFICATION.md with coverage analysis and gaps identified.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ **Load these files NOW:**
21
+
22
+ - @.planning/phases/<phase>/PLAN.md (Task breakdown)
23
+ - @REQUIREMENTS.md (Project requirements)
24
+ - @ROADMAP.md (Milestone context)
25
+ - @CLAUDE.md (Success criteria patterns)
26
+ </execution_context>
27
+
28
+ <context>
29
+ **Phase:** $ARGUMENTS
30
+ **Verification Type:** Goal-backward analysis
31
+ **Focus:** Requirements coverage, integration completeness, end-to-end flows
32
+ </context>
33
+
34
+ <process>
35
+ **Execute verification workflow:**
36
+
37
+ 1. **Load Plan & Requirements**
38
+ - Read PLAN.md task list
39
+ - Read REQUIREMENTS.md entries
40
+ - Load milestone goals from ROADMAP.md
41
+
42
+ 2. **Requirements Coverage Analysis**
43
+
44
+ For each requirement in REQUIREMENTS.md:
45
+ ```
46
+ REQ-1: User authentication
47
+ ├─ Covered by: auth-001, auth-002
48
+ ├─ Task acceptance criteria maps to requirement? ✅
49
+ └─ Verification method defined? ✅
50
+
51
+ REQ-2: API rate limiting
52
+ ├─ Covered by: None
53
+ └─ ❌ GAP: No task for rate limiting
54
+ ```
55
+
56
+ 3. **Goal-Backward Verification**
57
+
58
+ For each milestone goal:
59
+ ```
60
+ Goal: "Users can authenticate and authorize"
61
+ └─ Can we trace from goal → tasks → acceptance?
62
+ ├─ auth-001: Login endpoint ✅
63
+ ├─ auth-002: Session management ✅
64
+ ├─ auth-003: Permission checks ✅
65
+ └─ Integration flow tested? ❌ Missing
66
+ ```
67
+
68
+ 4. **Integration Completeness**
69
+
70
+ Check cross-phase integration:
71
+ ```
72
+ Phase A (API) → Phase B (Frontend)
73
+ ├─ API contract defined? ✅ contracts/auth-api.yaml
74
+ ├─ Frontend consumes API? ✅ ui-auth-001
75
+ └─ Integration test exists? ❌ Gap
76
+ ```
77
+
78
+ 5. **Dependency Validation**
79
+
80
+ Verify dependency graph:
81
+ ```
82
+ ✅ No circular dependencies
83
+ ✅ All dependencies have tasks
84
+ ✅ Critical path identified
85
+ ⚠ Long dependency chain: api-001 → api-002 → api-003 → api-004
86
+ ```
87
+
88
+ 6. **Task Atomicity Check**
89
+
90
+ Verify each task is atomic:
91
+ ```
92
+ ✅ auth-001: Single owner, single concept
93
+ ❌ ui-002: Too broad (split into ui-002a, ui-002b)
94
+ ```
95
+
96
+ 7. **Generate VERIFICATION.md**
97
+ ```markdown
98
+ # <Phase> Verification
99
+
100
+ ## Requirements Coverage
101
+ - REQ-1: ✅ Covered (auth-001, auth-002)
102
+ - REQ-2: ❌ Gap - no rate limiting task
103
+ ...
104
+
105
+ ## Goals Verification
106
+ - Goal 1: ✅ Achievable through tasks
107
+ - Goal 2: ⚠ Gap - integration test missing
108
+ ...
109
+
110
+ ## Integration Checks
111
+ - Phase A → Phase B: ✅ Contract defined
112
+ - Frontend → API: ⚠ Integration test missing
113
+ ...
114
+
115
+ ## Task Atomicity
116
+ - All tasks atomic? ✅
117
+ - Task count within limit? ✅ (5/6)
118
+
119
+ ## Gaps Identified
120
+ 1. REQ-2: No rate limiting
121
+ 2. Integration test for auth flow
122
+ ...
123
+
124
+ ## Recommendations
125
+ - Add task api-005 for rate limiting
126
+ - Add task int-001 for integration tests
127
+ ...
128
+ ```
129
+
130
+ 8. **Route Decision**
131
+
132
+ If gaps found:
133
+ ```
134
+ - Ask user: "Add tasks for gaps?"
135
+ - If yes: Update PLAN.md
136
+ - If no: Document and proceed
137
+ ```
138
+
139
+ If verification passes:
140
+ ```
141
+ - Mark phase ready for execution
142
+ - Offer `forge execute <phase>`
143
+ ```
144
+ </process>
145
+
146
+ <deliverables>
147
+ - .planning/phases/<phase>/VERIFICATION.md
148
+ - Updated PLAN.md (if gaps addressed)
149
+ - Requirements coverage matrix
150
+ - Gap analysis report
151
+ </deliverables>
152
+
153
+ <verification_criteria>
154
+ Plan passes verification when:
155
+ - ✅ All requirements covered (or gaps documented)
156
+ - ✅ All goals achievable through tasks
157
+ - ✅ Integration points identified and tested
158
+ - ✅ Dependency graph valid (no cycles)
159
+ - ✅ All tasks atomic (single concept, single owner)
160
+ - ✅ Task count ≤ 6
161
+ - ✅ Acceptance criteria defined
162
+ - ✅ Verification methods specified
163
+ </verification_criteria>
164
+
165
+ <next_steps>
166
+ If verification passes:
167
+ - Run `forge execute <phase>` to start execution
168
+ - Or manually assign tasks to agents
169
+
170
+ If gaps found:
171
+ - Update PLAN.md with additional tasks
172
+ - Re-run `forge verify <phase>`
173
+ - Or document risks and proceed
174
+ </next_steps>
package/README.md CHANGED
@@ -6,6 +6,7 @@ A multi-agent development framework for Claude Code Agent Teams that forges prod
6
6
 
7
7
  [![npm version](https://badge.fury.io/js/forge-dev-framework.svg)](https://www.npmjs.com/package/forge-dev-framework)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
10
 
10
11
  ## Features
11
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forge-dev-framework",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Full Orchestration for Rapid Git Engineering - A multi-agent development framework for Claude Code Agent Teams",
5
5
  "main": "dist/cli/index.js",
6
6
  "bin": {