forge-orkes 0.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.
- package/bin/create-forge.js +103 -0
- package/package.json +28 -0
- package/template/.claude/agents/executor.md +177 -0
- package/template/.claude/agents/planner.md +148 -0
- package/template/.claude/agents/researcher.md +111 -0
- package/template/.claude/agents/reviewer.md +211 -0
- package/template/.claude/agents/verifier.md +210 -0
- package/template/.claude/settings.json +40 -0
- package/template/.claude/skills/architecting/SKILL.md +121 -0
- package/template/.claude/skills/auditing/SKILL.md +302 -0
- package/template/.claude/skills/beads-integration/SKILL.md +125 -0
- package/template/.claude/skills/debugging/SKILL.md +130 -0
- package/template/.claude/skills/designing/SKILL.md +134 -0
- package/template/.claude/skills/discussing/SKILL.md +229 -0
- package/template/.claude/skills/executing/SKILL.md +154 -0
- package/template/.claude/skills/forge/SKILL.md +524 -0
- package/template/.claude/skills/planning/SKILL.md +225 -0
- package/template/.claude/skills/quick-tasking/SKILL.md +74 -0
- package/template/.claude/skills/refactoring/SKILL.md +168 -0
- package/template/.claude/skills/researching/SKILL.md +117 -0
- package/template/.claude/skills/securing/SKILL.md +104 -0
- package/template/.claude/skills/verifying/SKILL.md +201 -0
- package/template/.forge/templates/constitution.md +123 -0
- package/template/.forge/templates/context.md +53 -0
- package/template/.forge/templates/design-systems/material-ui.md +44 -0
- package/template/.forge/templates/design-systems/primereact.md +46 -0
- package/template/.forge/templates/design-systems/shadcn-ui.md +47 -0
- package/template/.forge/templates/framework-absorption/generic.md +52 -0
- package/template/.forge/templates/framework-absorption/gsd.md +174 -0
- package/template/.forge/templates/framework-absorption/spec-kit.md +52 -0
- package/template/.forge/templates/plan.md +84 -0
- package/template/.forge/templates/project.yml +40 -0
- package/template/.forge/templates/refactor-backlog.yml +16 -0
- package/template/.forge/templates/requirements.yml +49 -0
- package/template/.forge/templates/roadmap.yml +44 -0
- package/template/.forge/templates/state/index.yml +51 -0
- package/template/.forge/templates/state/milestone.yml +42 -0
- package/template/CLAUDE.md +150 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# GSD → Forge Absorption Reference
|
|
2
|
+
|
|
3
|
+
This file is read by the `forge` skill during brownfield init when GSD is detected.
|
|
4
|
+
It provides the mapping tables needed to convert GSD documentation to Forge format.
|
|
5
|
+
|
|
6
|
+
## Detection Signatures
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
agents/gsd-*.md # Agent files prefixed with gsd-
|
|
10
|
+
commands/gsd/ # Command definitions directory
|
|
11
|
+
get-shit-done/ # Framework directory
|
|
12
|
+
Root-level: PROJECT.md + REQUIREMENTS.md + ROADMAP.md + STATE.md
|
|
13
|
+
CONTEXT.md with "NON-NEGOTIABLE" or "DEFERRED" sections
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## File Conversion Map
|
|
17
|
+
|
|
18
|
+
| GSD Source | Forge Target | Conversion Notes |
|
|
19
|
+
|-----------|-------------|-----------------|
|
|
20
|
+
| `PROJECT.md` | `.forge/project.yml` | Extract project name, description, tech stack, goals. Convert prose to YAML structure. |
|
|
21
|
+
| `REQUIREMENTS.md` | `.forge/requirements.yml` | Assign FR-IDs to each requirement. Convert acceptance criteria to Given/When/Then. Mark unknowns as `[NEEDS CLARIFICATION]`. |
|
|
22
|
+
| `ROADMAP.md` | `.forge/roadmap.yml` | Extract phases, milestones. Add dependency references between phases. Convert to YAML. |
|
|
23
|
+
| `STATE.md` | `.forge/state/index.yml` + `.forge/state/milestone-{id}.yml` | Extract current phase number, progress, active blockers, recent decisions. Split into global index and per-milestone state. |
|
|
24
|
+
| `CONTEXT.md` | `.forge/context.md` | NON-NEGOTIABLE → Locked Decisions. DEFERRED → Deferred Ideas. DISCRETION → Discretion Areas. Minimal format change needed. |
|
|
25
|
+
| `PLAN.md` | `.forge/phases/{N}-{name}/plan.md` | Keep XML task format. Add `must_haves` YAML frontmatter. Split per-phase if combined. |
|
|
26
|
+
| `references/ui-brand.md` | `.forge/design-system.md` | Extract component rules, brand guidelines. Convert to component mapping table format. |
|
|
27
|
+
| `references/tdd.md` | `.forge/constitution.md` Article II | Inform Test-First article gates with project-specific testing approach. |
|
|
28
|
+
| `references/verification-patterns.md` | Informs `verifying` skill | Extract project-specific verification patterns. Add to constitution or context. |
|
|
29
|
+
| `references/git-integration.md` | Informs `.claude/settings.json` | Extract commit format rules. Configure hooks if custom. |
|
|
30
|
+
| `.planning/quick/` | `.forge/archive/gsd/quick/` + `.forge/context.md` | Archive all quick task directories intact. Extract key decisions and context into `.forge/context.md` under "Absorbed Quick Tasks." See Quick Task Absorption below. |
|
|
31
|
+
| `STATE.md` → Quick Tasks Completed table | `.forge/state/milestone-{id}.yml` | Preserve the completion table as `quick_tasks_history` in the milestone state file for reference. |
|
|
32
|
+
|
|
33
|
+
## Agent Mapping
|
|
34
|
+
|
|
35
|
+
| GSD Agent | Forge Equivalent | Notes |
|
|
36
|
+
|-----------|-----------------|-------|
|
|
37
|
+
| gsd-planner | `planner` agent | Add constitutional gate enforcement. |
|
|
38
|
+
| gsd-executor | `executor` agent | Same deviation rules. Add context engineering. |
|
|
39
|
+
| gsd-debugger | `debugging` skill | Not a separate agent in Forge — invoked as skill. |
|
|
40
|
+
| gsd-verifier | `verifier` agent | Same goal-backward approach. |
|
|
41
|
+
| gsd-codebase-mapper | `researcher` agent | Codebase research type. |
|
|
42
|
+
| gsd-plan-checker | `planner` agent | Plan quality check built into planning skill. |
|
|
43
|
+
| gsd-integration-checker | `verifier` agent | Key Links verification. |
|
|
44
|
+
| gsd-project-researcher | `researcher` agent | Requirements research type. |
|
|
45
|
+
| gsd-research-synthesizer | `researcher` agent | Technology research type. |
|
|
46
|
+
| gsd-phase-researcher | `researcher` agent | Feasibility research type. |
|
|
47
|
+
| gsd-roadmapper | `planner` agent | Roadmap creation is part of planning skill. |
|
|
48
|
+
|
|
49
|
+
## Command Mapping
|
|
50
|
+
|
|
51
|
+
| GSD Commands | Forge Skill |
|
|
52
|
+
|-------------|-------------|
|
|
53
|
+
| Commands 1-5 (project init) | `forge` — tier detection replaces manual command selection |
|
|
54
|
+
| Commands 6-10 (research) | `researching` |
|
|
55
|
+
| Commands 11-15 (planning) | `planning` |
|
|
56
|
+
| Commands 16-20 (execution) | `executing` |
|
|
57
|
+
| Commands 21-25 (verification) | `verifying` |
|
|
58
|
+
| Commands 26-28 (utilities) | `quick-tasking`, `debugging` |
|
|
59
|
+
|
|
60
|
+
## Quick Task Absorption
|
|
61
|
+
|
|
62
|
+
GSD quick tasks live in `.planning/quick/{id}-{slug}/` and each can contain PLAN, SUMMARY, CONTEXT, RESEARCH, and VERIFICATION artifacts. These represent real work with real decisions — they must not be silently dropped during absorption.
|
|
63
|
+
|
|
64
|
+
### Process
|
|
65
|
+
|
|
66
|
+
**Step 1: Archive intact**
|
|
67
|
+
|
|
68
|
+
Copy the entire `.planning/quick/` directory to `.forge/archive/gsd/quick/`. This preserves all artifacts in their original structure so nothing is lost.
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
.planning/quick/ → .forge/archive/gsd/quick/
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Step 2: Extract decisions into context**
|
|
75
|
+
|
|
76
|
+
Read each quick task's artifacts (prioritize SUMMARY > CONTEXT > RESEARCH) and extract:
|
|
77
|
+
- **Decisions made** — implementation choices, library selections, approach rationale
|
|
78
|
+
- **Knowledge gained** — gotchas discovered, patterns established, constraints identified
|
|
79
|
+
- **Refactoring items** — any quick tasks tagged as refactoring work → add to `.forge/refactor-backlog.yml`
|
|
80
|
+
|
|
81
|
+
Write extracted decisions to `.forge/context.md` under an "Absorbed Quick Tasks" section:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## Absorbed Quick Tasks
|
|
85
|
+
|
|
86
|
+
Decisions and context extracted from {N} GSD quick tasks during framework absorption.
|
|
87
|
+
Full artifacts archived at `.forge/archive/gsd/quick/`.
|
|
88
|
+
|
|
89
|
+
### Key Decisions
|
|
90
|
+
- [{id}] {description}: {decision or outcome}
|
|
91
|
+
- [{id}] {description}: {decision or outcome}
|
|
92
|
+
|
|
93
|
+
### Patterns Established
|
|
94
|
+
- {pattern description} (from quick tasks {id}, {id})
|
|
95
|
+
|
|
96
|
+
### Carried Forward to Refactor Backlog
|
|
97
|
+
- {refactoring item} (from quick task {id})
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Step 3: Preserve completion history**
|
|
101
|
+
|
|
102
|
+
Extract the "Quick Tasks Completed" table from `STATE.md` and include it in the milestone state file as `quick_tasks_history`:
|
|
103
|
+
|
|
104
|
+
```yaml
|
|
105
|
+
quick_tasks_history:
|
|
106
|
+
- id: "{quick_id}"
|
|
107
|
+
description: "{description}"
|
|
108
|
+
date: "{date}"
|
|
109
|
+
commit: "{hash}"
|
|
110
|
+
status: "{status if present}"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
This allows Forge to reference what was done without re-reading archived artifacts.
|
|
114
|
+
|
|
115
|
+
### What NOT to do
|
|
116
|
+
|
|
117
|
+
- Don't discard quick task artifacts — even trivial-looking tasks may contain decisions that inform future work
|
|
118
|
+
- Don't flatten all quick tasks into a single summary — preserve individual task identity so specific decisions can be traced back
|
|
119
|
+
- Don't promote all quick tasks to the refactor backlog — only those explicitly tagged as refactoring work
|
|
120
|
+
|
|
121
|
+
## What Carries Forward Unchanged
|
|
122
|
+
|
|
123
|
+
These GSD patterns are preserved in Forge. During absorption, validate they're still configured:
|
|
124
|
+
|
|
125
|
+
- **Context engineering** — Size gates (project < 5KB, requirements < 50KB, plan < 30KB)
|
|
126
|
+
- **Deviation rules 1-4** — Same logic, same priority order
|
|
127
|
+
- **Goal-backward verification** — 3 levels: truths → artifacts → key links
|
|
128
|
+
- **Atomic commits** — `{type}({scope}): {description}`, never `git add .`
|
|
129
|
+
- **Wave-based execution** — Dependency analysis → wave grouping → parallel tasks
|
|
130
|
+
- **Fresh agent pattern** — Spawn fresh agents for 20+ file tasks
|
|
131
|
+
|
|
132
|
+
## What's New (Not in GSD)
|
|
133
|
+
|
|
134
|
+
During absorption, offer to enable these Forge capabilities that GSD lacks:
|
|
135
|
+
|
|
136
|
+
- **Constitutional governance** — Suggest articles based on GSD's implicit rules
|
|
137
|
+
- **Design system enforcement** — If `references/ui-brand.md` exists, convert to design-system.md
|
|
138
|
+
- **Native hooks** — Auto-test on file write, commit format validation
|
|
139
|
+
- **Architecture Decision Records** — Capture existing decisions as ADRs
|
|
140
|
+
- **Structured requirements** — YAML with IDs and Given/When/Then criteria
|
|
141
|
+
|
|
142
|
+
## Codebase Verification (Critical)
|
|
143
|
+
|
|
144
|
+
GSD documentation drifts. Always verify against the actual codebase before converting:
|
|
145
|
+
|
|
146
|
+
| GSD Doc Claim | Verify By |
|
|
147
|
+
|--------------|-----------|
|
|
148
|
+
| Tech stack in PROJECT.md | Cross-check `package.json`, actual imports |
|
|
149
|
+
| Features in REQUIREMENTS.md | Check if corresponding routes/components/tests exist |
|
|
150
|
+
| Phase completion in STATE.md | Verify features are wired and working (not stubs) |
|
|
151
|
+
| Design system in references/ui-brand.md | Grep src/ for actual component usage — are library components used consistently? |
|
|
152
|
+
| Decisions in CONTEXT.md | Check if NON-NEGOTIABLE rules are actually followed in code |
|
|
153
|
+
| Quick task completions in STATE.md | Verify commits exist (`git log --oneline {hash}`). Check that claimed changes are present in the codebase. |
|
|
154
|
+
|
|
155
|
+
Flag any discrepancies to the user. The codebase is the source of truth, not the docs.
|
|
156
|
+
|
|
157
|
+
## Absorption Checklist
|
|
158
|
+
|
|
159
|
+
- [ ] All GSD state files read and content extracted
|
|
160
|
+
- [ ] **Documentation verified against actual codebase** (discrepancies flagged)
|
|
161
|
+
- [ ] Project info converted to `.forge/project.yml`
|
|
162
|
+
- [ ] Requirements converted to `.forge/requirements.yml` with IDs
|
|
163
|
+
- [ ] Roadmap converted to `.forge/roadmap.yml`
|
|
164
|
+
- [ ] Current state captured in `.forge/state/` (index.yml + milestone files, verified against code reality)
|
|
165
|
+
- [ ] Context/decisions preserved in `.forge/context.md`
|
|
166
|
+
- [ ] Design/brand rules converted to `.forge/design-system.md` (if applicable)
|
|
167
|
+
- [ ] Reference docs reviewed for constitution-worthy rules
|
|
168
|
+
- [ ] Quick task artifacts archived intact in `.forge/archive/gsd/quick/`
|
|
169
|
+
- [ ] Quick task decisions extracted to `.forge/context.md` under "Absorbed Quick Tasks"
|
|
170
|
+
- [ ] Quick task refactoring items added to `.forge/refactor-backlog.yml` (if any)
|
|
171
|
+
- [ ] Quick task completion history preserved in milestone state as `quick_tasks_history`
|
|
172
|
+
- [ ] Unresolved discrepancies logged in `.forge/context.md` under "Needs Resolution"
|
|
173
|
+
- [ ] Original GSD files archived in `.forge/archive/gsd/`
|
|
174
|
+
- [ ] User confirmed conversion results
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Spec-Kit → Forge Absorption Reference
|
|
2
|
+
|
|
3
|
+
This file is read by the `forge` skill during brownfield init when Spec-Kit is detected.
|
|
4
|
+
|
|
5
|
+
## Detection Signatures
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
spec-driven.md # Core methodology file
|
|
9
|
+
templates/spec-template.md # Spec template
|
|
10
|
+
templates/constitution-template.md # Constitutional template
|
|
11
|
+
extensions/catalog.json # Extension system
|
|
12
|
+
AGENTS.md # Agent definitions
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## File Conversion Map
|
|
16
|
+
|
|
17
|
+
| Spec-Kit Source | Forge Target | Conversion Notes |
|
|
18
|
+
|----------------|-------------|-----------------|
|
|
19
|
+
| `spec-driven.md` | `.forge/constitution.md` | Extract governance rules. Map to Forge's 9 articles or create project-specific ones. |
|
|
20
|
+
| `templates/spec-template.md` | `.forge/requirements.yml` | Convert spec structure to YAML requirements with IDs. |
|
|
21
|
+
| `templates/constitution-template.md` | `.forge/constitution.md` | Merge with Forge's article template. Preserve project-specific gates. |
|
|
22
|
+
| Filled-in specs (project-specific) | `.forge/project.yml` + `.forge/requirements.yml` | Extract project info and requirements separately. |
|
|
23
|
+
| `extensions/` configs | `.claude/skills/` | Evaluate each extension. Create Forge skills for valuable ones. |
|
|
24
|
+
| `AGENTS.md` | `.claude/agents/` | Map agent definitions to Forge's 5 agents. |
|
|
25
|
+
| `templates/checklist-template.md` | Informs verification skill | Extract checklist patterns for verifier. |
|
|
26
|
+
| `templates/tasks-template.md` | `.forge/templates/plan.md` | Inform task template format. |
|
|
27
|
+
|
|
28
|
+
## What Carries Forward
|
|
29
|
+
|
|
30
|
+
- **Constitutional governance** — Spec-Kit's core strength. Directly maps to Forge's constitution.
|
|
31
|
+
- **Template-driven behavior** — Forge uses templates similarly, just in YAML where machine-readable.
|
|
32
|
+
- **Structured specs** — Maps to Forge's requirements.yml with Given/When/Then.
|
|
33
|
+
- **`[NEEDS CLARIFICATION]` markers** — Identical concept in Forge.
|
|
34
|
+
|
|
35
|
+
## What's New (Not in Spec-Kit)
|
|
36
|
+
|
|
37
|
+
- **Context engineering** — Size gates, fresh agent spawning (from GSD)
|
|
38
|
+
- **Deviation rules** — Structured handling of plan divergence
|
|
39
|
+
- **Goal-backward verification** — 3-level verification (from GSD)
|
|
40
|
+
- **Tier detection** — Auto-scaling ceremony to task complexity
|
|
41
|
+
- **Design system enforcement** — Component mapping tables
|
|
42
|
+
- **Native hooks** — Automated quality gates
|
|
43
|
+
|
|
44
|
+
## Absorption Checklist
|
|
45
|
+
|
|
46
|
+
- [ ] Spec-driven governance rules extracted and mapped to constitution articles
|
|
47
|
+
- [ ] Project specs converted to project.yml and requirements.yml
|
|
48
|
+
- [ ] Constitutional articles merged (Spec-Kit's + Forge's template)
|
|
49
|
+
- [ ] Extensions evaluated for skill conversion
|
|
50
|
+
- [ ] Agent definitions mapped to Forge's 5 agents
|
|
51
|
+
- [ ] Original Spec-Kit files archived in `.forge/archive/spec-kit/`
|
|
52
|
+
- [ ] User confirmed conversion results
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Phase Plan Template
|
|
2
|
+
|
|
3
|
+
Copy to `.forge/phases/{N}-{name}/plan-{NN}.md` for each plan in a phase.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
# Plan Frontmatter — parsed by agents
|
|
9
|
+
milestone: 1 # Milestone ID from roadmap
|
|
10
|
+
milestone_name: "" # Human-readable milestone name
|
|
11
|
+
phase: 1
|
|
12
|
+
phase_name: ""
|
|
13
|
+
plan: 1
|
|
14
|
+
type: execute # execute | tdd
|
|
15
|
+
wave: 1 # Execution wave (1 = no dependencies)
|
|
16
|
+
depends_on: [] # Plan IDs that must complete first
|
|
17
|
+
autonomous: true # false if contains checkpoints
|
|
18
|
+
|
|
19
|
+
must_haves:
|
|
20
|
+
truths: # Observable from user perspective when plan is done
|
|
21
|
+
- "" # e.g., "User can see their profile page"
|
|
22
|
+
- "" # e.g., "API returns user data as JSON"
|
|
23
|
+
artifacts: # Files that must exist and be substantive (not stubs)
|
|
24
|
+
- path: "" # e.g., "src/components/Profile.tsx"
|
|
25
|
+
provides: "" # e.g., "User profile display with avatar and bio"
|
|
26
|
+
min_lines: 30 # Stub detection threshold
|
|
27
|
+
key_links: # Critical connections between artifacts
|
|
28
|
+
- from: "" # e.g., "src/components/Profile.tsx"
|
|
29
|
+
to: "" # e.g., "/api/users/[id]"
|
|
30
|
+
via: "" # e.g., "fetch in useEffect"
|
|
31
|
+
pattern: "" # e.g., "fetch.*api/users"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Tasks
|
|
35
|
+
|
|
36
|
+
<!-- Each task: 15-60 minutes of Claude execution time. 2-3 tasks per plan max. -->
|
|
37
|
+
|
|
38
|
+
<task type="auto">
|
|
39
|
+
<name>Action-oriented task name</name>
|
|
40
|
+
<files>
|
|
41
|
+
- src/path/to/file.tsx (create)
|
|
42
|
+
- src/path/to/other.ts (modify)
|
|
43
|
+
</files>
|
|
44
|
+
<action>
|
|
45
|
+
Specific implementation instructions.
|
|
46
|
+
Include WHAT to build, HOW to build it, and what to AVOID (with WHY).
|
|
47
|
+
Reference context.md locked decisions where relevant.
|
|
48
|
+
</action>
|
|
49
|
+
<verify>
|
|
50
|
+
Command or check to prove completion:
|
|
51
|
+
- `npm test -- --filter=Profile`
|
|
52
|
+
- Inspect: file exists and exports component
|
|
53
|
+
</verify>
|
|
54
|
+
<done>
|
|
55
|
+
Measurable acceptance criteria:
|
|
56
|
+
- Component renders without errors
|
|
57
|
+
- Tests pass
|
|
58
|
+
- Follows design system (PrimeReact components used)
|
|
59
|
+
</done>
|
|
60
|
+
</task>
|
|
61
|
+
|
|
62
|
+
<!-- Checkpoint task example (use sparingly — 90% of tasks should be auto) -->
|
|
63
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
64
|
+
<what-built>Description of what was automated</what-built>
|
|
65
|
+
<how-to-verify>
|
|
66
|
+
1. Open http://localhost:3000/profile
|
|
67
|
+
2. Check that avatar displays correctly
|
|
68
|
+
3. Verify responsive layout on mobile
|
|
69
|
+
</how-to-verify>
|
|
70
|
+
<resume-signal>Type "approved" or describe issues</resume-signal>
|
|
71
|
+
</task>
|
|
72
|
+
|
|
73
|
+
## Dependency Notes
|
|
74
|
+
|
|
75
|
+
<!-- How this plan connects to others in the phase -->
|
|
76
|
+
- This plan creates [X] which plan-02 depends on for [Y]
|
|
77
|
+
- This plan assumes [Z] from plan-01 is complete
|
|
78
|
+
|
|
79
|
+
## Context Compliance
|
|
80
|
+
|
|
81
|
+
<!-- Self-check: do tasks honor locked decisions from context.md? -->
|
|
82
|
+
- [ ] Every locked decision has corresponding task(s)
|
|
83
|
+
- [ ] No task implements a deferred idea
|
|
84
|
+
- [ ] Discretion areas handled with documented rationale
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Forge Project Template
|
|
2
|
+
# Copy to .forge/project.yml and customize. Keep under 5 KB.
|
|
3
|
+
# This file answers: WHAT are we building and WHY?
|
|
4
|
+
|
|
5
|
+
project:
|
|
6
|
+
name: "" # Project or feature name
|
|
7
|
+
description: "" # 2-3 sentence summary of what we're building
|
|
8
|
+
primary_goal: "" # The single most important outcome
|
|
9
|
+
|
|
10
|
+
tech_stack:
|
|
11
|
+
language: "" # e.g., TypeScript, Python
|
|
12
|
+
framework: "" # e.g., React, Next.js, FastAPI
|
|
13
|
+
database: "" # e.g., PostgreSQL, SQLite, none
|
|
14
|
+
testing: "" # e.g., Vitest, Jest, Pytest
|
|
15
|
+
other: [] # Additional key dependencies
|
|
16
|
+
|
|
17
|
+
design_system:
|
|
18
|
+
library: "" # e.g., PrimeReact, Material-UI, shadcn/ui, Ant Design, Chakra UI, none
|
|
19
|
+
version: "" # e.g., 10.x, 5.x
|
|
20
|
+
icon_set: "" # e.g., PrimeIcons, Material Icons, Lucide, none
|
|
21
|
+
layout_system: "" # e.g., PrimeFlex, MUI Grid, Tailwind, CSS Grid
|
|
22
|
+
theme_approach: "" # e.g., SCSS variables, CSS-in-JS, Tailwind config, design tokens
|
|
23
|
+
docs_url: "" # e.g., https://primereact.org/datatable/
|
|
24
|
+
# Component mapping lives in .forge/design-system.md (generated during init)
|
|
25
|
+
|
|
26
|
+
constraints:
|
|
27
|
+
time: "" # e.g., "4 hours", "2 days", "1 week"
|
|
28
|
+
scope: "" # e.g., "v1 MVP", "single feature", "full system"
|
|
29
|
+
must_not: # Explicit exclusions
|
|
30
|
+
- "" # e.g., "No custom auth — use Clerk"
|
|
31
|
+
- "" # e.g., "No server-side rendering"
|
|
32
|
+
|
|
33
|
+
success_criteria: # How do we know we're done?
|
|
34
|
+
- "" # e.g., "User can create and edit posts"
|
|
35
|
+
- "" # e.g., "All tests pass with >80% coverage"
|
|
36
|
+
- "" # e.g., "Page load < 2 seconds"
|
|
37
|
+
|
|
38
|
+
risks: # What could go wrong?
|
|
39
|
+
- risk: ""
|
|
40
|
+
mitigation: ""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Forge Refactor Backlog
|
|
2
|
+
# Auto-managed by the refactoring skill. Items added after milestone audits.
|
|
3
|
+
# Work items via quick-tasking (effort: quick) or Standard tier (effort: standard).
|
|
4
|
+
|
|
5
|
+
items:
|
|
6
|
+
- id: R001 # Sequential ID: R001, R002, ...
|
|
7
|
+
milestone: 1 # Milestone that produced this item
|
|
8
|
+
category: duplication # duplication | complexity | naming | inconsistency | dead-code | abstraction
|
|
9
|
+
file: "src/example.ts" # File where the issue lives
|
|
10
|
+
lines: "42-67" # Line range
|
|
11
|
+
description: "Brief description of the refactoring opportunity"
|
|
12
|
+
effort: quick # quick (< 30 min, < 50 lines) | standard (needs planning)
|
|
13
|
+
suggested_approach: "Concrete suggestion for how to address it"
|
|
14
|
+
status: pending # pending | in_progress | done | dismissed
|
|
15
|
+
added: "2026-01-01" # ISO 8601 date when added
|
|
16
|
+
completed: null # ISO 8601 date when done, null otherwise
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Forge Requirements Template
|
|
2
|
+
# Copy to .forge/requirements.yml and customize. Keep under 50 KB.
|
|
3
|
+
# Mark uncertain items with [NEEDS CLARIFICATION] — planning blocks until resolved.
|
|
4
|
+
|
|
5
|
+
version: "v1" # v1 = MVP, v2 = next iteration
|
|
6
|
+
|
|
7
|
+
functional:
|
|
8
|
+
# Each requirement: unique ID, description, acceptance criteria, phase assignment
|
|
9
|
+
- id: FR-001
|
|
10
|
+
description: "" # Clear, testable statement
|
|
11
|
+
acceptance: # Given/When/Then format
|
|
12
|
+
- given: ""
|
|
13
|
+
when: ""
|
|
14
|
+
then: ""
|
|
15
|
+
phase: null # Assigned during roadmap creation
|
|
16
|
+
priority: P1 # P1 = must-have, P2 = should-have, P3 = nice-to-have
|
|
17
|
+
status: pending # pending | clarifying | planned | implemented | verified
|
|
18
|
+
notes: "" # [NEEDS CLARIFICATION] if uncertain
|
|
19
|
+
|
|
20
|
+
- id: FR-002
|
|
21
|
+
description: ""
|
|
22
|
+
acceptance:
|
|
23
|
+
- given: ""
|
|
24
|
+
when: ""
|
|
25
|
+
then: ""
|
|
26
|
+
phase: null
|
|
27
|
+
priority: P1
|
|
28
|
+
status: pending
|
|
29
|
+
notes: ""
|
|
30
|
+
|
|
31
|
+
non_functional:
|
|
32
|
+
- id: NFR-001
|
|
33
|
+
category: performance # performance | security | accessibility | reliability
|
|
34
|
+
description: "" # e.g., "API response time < 200ms p95"
|
|
35
|
+
measurement: "" # How to verify this is met
|
|
36
|
+
priority: P1
|
|
37
|
+
status: pending
|
|
38
|
+
|
|
39
|
+
deferred: # Explicitly out of scope for this version
|
|
40
|
+
- id: DEF-001
|
|
41
|
+
description: "" # What we're NOT building
|
|
42
|
+
reason: "" # Why it's deferred
|
|
43
|
+
revisit: "v2" # When to reconsider
|
|
44
|
+
|
|
45
|
+
traceability:
|
|
46
|
+
# Populated during planning — maps requirements to phases and plans
|
|
47
|
+
# FR-001 → Phase 1, Plan 01, Tasks 1-3
|
|
48
|
+
# FR-002 → Phase 2, Plan 01, Tasks 1-2
|
|
49
|
+
mapping: []
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Forge Roadmap Template
|
|
2
|
+
# Copy to .forge/roadmap.yml and customize.
|
|
3
|
+
# Phases are delivery boundaries — coherent, verifiable capabilities.
|
|
4
|
+
|
|
5
|
+
roadmap:
|
|
6
|
+
# Milestones group phases into concurrent work streams.
|
|
7
|
+
# Phases keep global IDs. Milestones reference them.
|
|
8
|
+
# Different milestones can be worked on in parallel across sessions.
|
|
9
|
+
milestones:
|
|
10
|
+
- id: 1
|
|
11
|
+
name: "" # e.g., "MVP", "Admin Dashboard"
|
|
12
|
+
phases: [] # List of phase IDs belonging to this milestone
|
|
13
|
+
|
|
14
|
+
phases:
|
|
15
|
+
- id: 1
|
|
16
|
+
name: "" # e.g., "Foundation & Architecture"
|
|
17
|
+
goal: "" # Outcome, not task. "Users can X" not "Build Y"
|
|
18
|
+
requirements: [] # List of FR-IDs this phase delivers
|
|
19
|
+
dependencies: [] # Phase IDs that must complete first
|
|
20
|
+
success_criteria: # Observable truths when phase is done
|
|
21
|
+
- "" # e.g., "User can see the landing page"
|
|
22
|
+
- "" # e.g., "API returns valid JSON for /users"
|
|
23
|
+
estimated_hours: null
|
|
24
|
+
status: pending # pending | researching | planning | executing | verifying | complete
|
|
25
|
+
|
|
26
|
+
- id: 2
|
|
27
|
+
name: ""
|
|
28
|
+
goal: ""
|
|
29
|
+
requirements: []
|
|
30
|
+
dependencies: [1] # Depends on phase 1
|
|
31
|
+
success_criteria:
|
|
32
|
+
- ""
|
|
33
|
+
estimated_hours: null
|
|
34
|
+
status: pending
|
|
35
|
+
|
|
36
|
+
# Coverage check: every FR-ID in requirements.yml must appear in exactly one phase.
|
|
37
|
+
# Orphaned requirements = planning failure.
|
|
38
|
+
coverage_verified: false
|
|
39
|
+
|
|
40
|
+
# Wave analysis: phases with no dependencies can run in parallel (Wave 1).
|
|
41
|
+
# Phases depending only on Wave 1 are Wave 2, etc.
|
|
42
|
+
waves:
|
|
43
|
+
1: [] # Populated during planning
|
|
44
|
+
2: []
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Forge Global State — Cross-Milestone Index
|
|
2
|
+
# Auto-managed by agents. Do not edit manually unless recovering from errors.
|
|
3
|
+
# This file tracks global concerns. Per-milestone state lives in state/milestone-{id}.yml.
|
|
4
|
+
|
|
5
|
+
milestones: # Active milestones and their high-level status
|
|
6
|
+
- id: 1
|
|
7
|
+
name: "" # Human-readable milestone name from roadmap
|
|
8
|
+
status: not_started # not_started | active | complete
|
|
9
|
+
last_updated: null # ISO 8601 timestamp — used for resume default selection
|
|
10
|
+
|
|
11
|
+
metrics:
|
|
12
|
+
total_commits: 0
|
|
13
|
+
total_files_modified: 0
|
|
14
|
+
verification_passes: 0
|
|
15
|
+
verification_failures: 0
|
|
16
|
+
checkpoints_hit: 0
|
|
17
|
+
|
|
18
|
+
# Desire Paths — Patterns in how the framework is actually used
|
|
19
|
+
# Collected automatically by agents. Reviewed during verification retrospective.
|
|
20
|
+
# When a pattern appears 3+ times, it becomes a candidate for framework evolution.
|
|
21
|
+
# Desire paths are GLOBAL — they track framework usage across all milestones.
|
|
22
|
+
desire_paths:
|
|
23
|
+
deviation_patterns: [] # Repeated Rule 1/2/3 deviations (same type, same area)
|
|
24
|
+
# - pattern: "" # e.g., "Rule 2: missing null checks in API handlers"
|
|
25
|
+
# occurrences: 0
|
|
26
|
+
# first_seen: null
|
|
27
|
+
# last_seen: null
|
|
28
|
+
|
|
29
|
+
tier_overrides: [] # User overriding auto-detected tier
|
|
30
|
+
# - detected: "" # What Forge detected
|
|
31
|
+
# overridden_to: "" # What user chose instead
|
|
32
|
+
# reason: "" # Why (if stated)
|
|
33
|
+
|
|
34
|
+
skipped_steps: [] # Steps users consistently skip or rush through
|
|
35
|
+
# - step: "" # e.g., "constitutional gate check"
|
|
36
|
+
# skill: ""
|
|
37
|
+
# times_skipped: 0
|
|
38
|
+
|
|
39
|
+
recurring_friction: [] # Same problem appearing across sessions
|
|
40
|
+
# - description: "" # e.g., "Design system violations in form components"
|
|
41
|
+
# occurrences: 0
|
|
42
|
+
# related_files: []
|
|
43
|
+
|
|
44
|
+
agent_struggles: [] # Tasks where agents consistently fail or need retries
|
|
45
|
+
# - task_type: "" # e.g., "Responsive layout implementation"
|
|
46
|
+
# failure_pattern: ""
|
|
47
|
+
# occurrences: 0
|
|
48
|
+
|
|
49
|
+
user_corrections: [] # User correcting agent output in the same way repeatedly
|
|
50
|
+
# - correction: "" # e.g., "Always adds 'use client' directive"
|
|
51
|
+
# occurrences: 0
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Forge Milestone State — Per-Milestone Cursor
|
|
2
|
+
# Auto-managed by agents. Do not edit manually unless recovering from errors.
|
|
3
|
+
# Copy to .forge/state/milestone-{id}.yml for each active milestone.
|
|
4
|
+
# This file tracks one milestone's position. Global state lives in state/index.yml.
|
|
5
|
+
|
|
6
|
+
milestone:
|
|
7
|
+
id: null # Milestone ID from roadmap
|
|
8
|
+
name: "" # Human-readable milestone name
|
|
9
|
+
|
|
10
|
+
current:
|
|
11
|
+
tier: null # quick | standard | full
|
|
12
|
+
phase: null # Phase number from roadmap
|
|
13
|
+
phase_name: "" # Human-readable phase name
|
|
14
|
+
plan: null # Current plan number within phase
|
|
15
|
+
task: null # Current task number within plan
|
|
16
|
+
status: not_started # not_started | researching | discussing | planning | executing | verifying | auditing | refactoring | complete
|
|
17
|
+
|
|
18
|
+
progress:
|
|
19
|
+
phases_complete: 0
|
|
20
|
+
phases_total: 0
|
|
21
|
+
current_phase_percent: 0
|
|
22
|
+
overall_percent: 0
|
|
23
|
+
last_update: null # ISO 8601 timestamp
|
|
24
|
+
|
|
25
|
+
decisions: # Locked decisions (synced from context.md)
|
|
26
|
+
- decision: ""
|
|
27
|
+
locked_at: null
|
|
28
|
+
rationale: ""
|
|
29
|
+
|
|
30
|
+
blockers: # Active blockers preventing progress
|
|
31
|
+
- blocker: ""
|
|
32
|
+
type: "" # technical | decision | external | human-action
|
|
33
|
+
since: null
|
|
34
|
+
resolution: ""
|
|
35
|
+
|
|
36
|
+
deviations: # Tracked deviations during execution
|
|
37
|
+
- rule: null # 1, 2, 3, or 4
|
|
38
|
+
description: ""
|
|
39
|
+
phase: null
|
|
40
|
+
plan: null
|
|
41
|
+
task: null
|
|
42
|
+
resolution: ""
|