forgehive 0.6.1 → 0.6.3
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/dist/cli.js +5 -1
- package/forgehive/commands/fh-sprint.md +108 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -5585,6 +5585,10 @@ function formatSecurityReport(report) {
|
|
|
5585
5585
|
var [, , command, subcommand, ...rest] = process.argv;
|
|
5586
5586
|
var projectRoot = process.cwd();
|
|
5587
5587
|
var forgehiveDir = path23.join(projectRoot, ".forgehive");
|
|
5588
|
+
if (command === "--version" || command === "-v") {
|
|
5589
|
+
console.log("0.6.1");
|
|
5590
|
+
process.exit(0);
|
|
5591
|
+
}
|
|
5588
5592
|
function loadClaudeMdBlock() {
|
|
5589
5593
|
const templatePath = path23.join(
|
|
5590
5594
|
path23.dirname(new URL(import.meta.url).pathname),
|
|
@@ -6254,7 +6258,7 @@ Setze diese Umgebungsvariablen:`);
|
|
|
6254
6258
|
} else {
|
|
6255
6259
|
const cmd = [command, subcommand].filter(Boolean).join(" ") || "(kein)";
|
|
6256
6260
|
console.error(`Unbekannter Befehl: ${cmd}`);
|
|
6257
|
-
console.error("Verf\xFCgbar: init | confirm | rollback | scan --update | scan --check | memory [show|clean|export] | skills [list|regen] | party [--set <name
|
|
6261
|
+
console.error("Verf\xFCgbar: init | confirm | rollback | scan --update | scan --check | status | cost [today|week|all] | cost --limit N --alert N | memory [show|clean|export|prune|snapshot] | memory adr [list|<titel>] | skills [list|regen|pull <url>] | party [--set <name>|run|status|cleanup] | wire <service> | mcp [auth|search|add] | security [scan|deps|report|audit|permissions]");
|
|
6258
6262
|
process.exit(1);
|
|
6259
6263
|
}
|
|
6260
6264
|
/*! Bundled license information:
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
You are running a Sprint Planning session using the ForgeHive workflow.
|
|
2
|
+
|
|
3
|
+
## Sprint Planning Protocol
|
|
4
|
+
|
|
5
|
+
### Step 1: Load context
|
|
6
|
+
|
|
7
|
+
1. Read `.forgehive/capabilities.yaml` — understand the tech stack and constraints
|
|
8
|
+
2. Read `.forgehive/memory/MEMORY.md` and all linked memory files — load project context
|
|
9
|
+
3. Check if `.forgehive/memory/sprint.md` exists — if so, show the last sprint summary first
|
|
10
|
+
4. Run `fh scan --check` to verify the codebase snapshot is current
|
|
11
|
+
|
|
12
|
+
### Step 2: Collect backlog items
|
|
13
|
+
|
|
14
|
+
Ask the user: **"Welche Items kommen in den Sprint? Liste sie auf — ein Item pro Zeile."**
|
|
15
|
+
|
|
16
|
+
Accept input in any format:
|
|
17
|
+
- Free text ("Login-Seite bauen")
|
|
18
|
+
- GitHub issue references (#123)
|
|
19
|
+
- Linear ticket IDs (ENG-456)
|
|
20
|
+
- Rough descriptions ("Performance-Probleme in der API fixen")
|
|
21
|
+
|
|
22
|
+
If GitHub or Linear MCP is connected, offer to load open issues automatically:
|
|
23
|
+
- GitHub: `gh issue list --state open --limit 20`
|
|
24
|
+
- Linear: use the Linear MCP tool to fetch backlog
|
|
25
|
+
|
|
26
|
+
### Step 3: Clarify and refine
|
|
27
|
+
|
|
28
|
+
For each item, ask one clarifying question if needed:
|
|
29
|
+
- Is this a feature, bug fix, or chore?
|
|
30
|
+
- Is there a hard dependency on another item?
|
|
31
|
+
- Any known technical risks?
|
|
32
|
+
|
|
33
|
+
Do NOT ask more than one question per item. If the item is clear, skip this step.
|
|
34
|
+
|
|
35
|
+
### Step 4: Estimate effort
|
|
36
|
+
|
|
37
|
+
Estimate each item using T-shirt sizes:
|
|
38
|
+
|
|
39
|
+
| Size | Meaning | Typical scope |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| XS | < 2h | Config change, copy fix, small bug |
|
|
42
|
+
| S | half day | Simple feature, isolated fix |
|
|
43
|
+
| M | 1–2 days | Feature with tests, moderate complexity |
|
|
44
|
+
| L | 3–5 days | Complex feature, multiple files, integration work |
|
|
45
|
+
| XL | > 5 days | Should be broken down further |
|
|
46
|
+
|
|
47
|
+
Flag any XL items: **"Dieses Item ist zu groß für einen Sprint — soll ich es aufteilen?"**
|
|
48
|
+
|
|
49
|
+
### Step 5: Prioritize
|
|
50
|
+
|
|
51
|
+
Sort items into three buckets:
|
|
52
|
+
|
|
53
|
+
**Must (Sprint-Ziel)** — delivers the sprint goal, blocks other work, or is overdue
|
|
54
|
+
**Should (Best Effort)** — important but not blocking
|
|
55
|
+
**Could (Nice to Have)** — do if capacity allows
|
|
56
|
+
|
|
57
|
+
Suggest a sprint goal in one sentence based on the Must items.
|
|
58
|
+
|
|
59
|
+
### Step 6: Check capacity
|
|
60
|
+
|
|
61
|
+
Ask: **"Wie viele Entwickler-Tage habt ihr im Sprint?"** (default: 10 days for a 2-week sprint with one developer)
|
|
62
|
+
|
|
63
|
+
Calculate if the Must + Should items fit. If they don't, move the lowest-priority Should items to Could.
|
|
64
|
+
|
|
65
|
+
Show a capacity summary:
|
|
66
|
+
```
|
|
67
|
+
Sprint-Kapazität: 10 Tage
|
|
68
|
+
Must: [sum] Tage
|
|
69
|
+
Should: [sum] Tage
|
|
70
|
+
Could: [sum] Tage
|
|
71
|
+
─────────────────
|
|
72
|
+
Geplant: [must+should] / 10 Tage
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Step 7: Output the sprint plan
|
|
76
|
+
|
|
77
|
+
Write the sprint plan to `.forgehive/memory/sprint.md` in this format:
|
|
78
|
+
|
|
79
|
+
```markdown
|
|
80
|
+
# Sprint [N] — [Datum]
|
|
81
|
+
|
|
82
|
+
**Ziel:** [one sentence sprint goal]
|
|
83
|
+
|
|
84
|
+
**Kapazität:** [X] Entwickler-Tage
|
|
85
|
+
|
|
86
|
+
## Must
|
|
87
|
+
- [ ] [Item] ([size]) — [one-line description]
|
|
88
|
+
|
|
89
|
+
## Should
|
|
90
|
+
- [ ] [Item] ([size]) — [one-line description]
|
|
91
|
+
|
|
92
|
+
## Could
|
|
93
|
+
- [ ] [Item] ([size]) — [one-line description]
|
|
94
|
+
|
|
95
|
+
## Offen / Blocked
|
|
96
|
+
- [any blocked items with reason]
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
*Erstellt mit fh sprint — [timestamp]*
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Confirm with the user: **"Sprint Plan gespeichert in `.forgehive/memory/sprint.md`. Soll ich für jedes Must-Item direkt einen Branch anlegen?"**
|
|
103
|
+
|
|
104
|
+
If yes: create branches for each Must item following the `git-conventions` skill (`feat/<slug>`, `fix/<slug>`, `chore/<slug>`).
|
|
105
|
+
|
|
106
|
+
### Step 8: Update project memory
|
|
107
|
+
|
|
108
|
+
Append the sprint goal to `.forgehive/memory/project.md` under a `## Aktueller Sprint` section so Claude knows the current focus in every future session.
|