vibe-forge 0.4.0 → 0.8.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/.claude/commands/clear-attention.md +63 -63
- package/.claude/commands/compact-context.md +52 -0
- package/.claude/commands/configure-vcs.md +102 -102
- package/.claude/commands/forge.md +218 -171
- package/.claude/commands/need-help.md +77 -77
- package/.claude/commands/update-status.md +64 -64
- package/.claude/commands/worker-loop.md +106 -106
- package/.claude/hooks/worker-loop.js +217 -187
- package/.claude/scripts/setup-worker-loop.sh +45 -45
- package/.claude/settings.json +89 -0
- package/LICENSE +21 -21
- package/README.md +253 -232
- package/agents/aegis/personality.md +303 -269
- package/agents/anvil/personality.md +278 -240
- package/agents/architect/personality.md +260 -234
- package/agents/crucible/personality.md +362 -309
- package/agents/crucible-x/personality.md +210 -0
- package/agents/ember/personality.md +293 -265
- package/agents/flux/personality.md +248 -0
- package/agents/furnace/personality.md +342 -291
- package/agents/herald/personality.md +249 -247
- package/agents/loki/personality.md +108 -0
- package/agents/oracle/personality.md +284 -0
- package/agents/pixel/personality.md +140 -0
- package/agents/planning-hub/personality.md +473 -251
- package/agents/scribe/personality.md +253 -251
- package/agents/slag/personality.md +268 -0
- package/agents/temper/personality.md +270 -0
- package/bin/cli.js +372 -325
- package/bin/dashboard/api/agents.js +333 -0
- package/bin/dashboard/api/dispatch.js +507 -0
- package/bin/dashboard/api/tasks.js +416 -0
- package/bin/dashboard/public/assets/index-BpHfsx1r.js +2 -0
- package/bin/dashboard/public/assets/index-QODv4Zn9.css +1 -0
- package/bin/dashboard/public/index.html +14 -0
- package/bin/dashboard/server.js +645 -0
- package/bin/forge-daemon.sh +477 -851
- package/bin/forge-setup.sh +661 -645
- package/bin/forge-spawn.sh +164 -164
- package/bin/forge.cmd +83 -83
- package/bin/forge.sh +566 -387
- package/bin/lib/agents.sh +177 -177
- package/bin/lib/check-aliases.js +50 -0
- package/bin/lib/colors.sh +44 -44
- package/bin/lib/config.sh +347 -313
- package/bin/lib/constants.sh +241 -206
- package/bin/lib/daemon/budgets.sh +107 -0
- package/bin/lib/daemon/dependencies.sh +146 -0
- package/bin/lib/daemon/display.sh +128 -0
- package/bin/lib/daemon/notifications.sh +273 -0
- package/bin/lib/daemon/routing.sh +93 -0
- package/bin/lib/daemon/state.sh +163 -0
- package/bin/lib/daemon/sync.sh +103 -0
- package/bin/lib/database.sh +357 -305
- package/bin/lib/frontmatter.js +106 -0
- package/bin/lib/heimdall-setup.js +113 -0
- package/bin/lib/heimdall.js +265 -0
- package/bin/lib/json.sh +264 -258
- package/bin/lib/terminal.js +452 -446
- package/bin/lib/util.sh +126 -126
- package/bin/lib/vcs.js +349 -349
- package/config/agent-manifest.yaml +237 -243
- package/config/agents.json +207 -132
- package/config/task-template.md +159 -87
- package/config/task-types.yaml +111 -106
- package/config/templates/handoff-template.md +40 -0
- package/context/agent-overrides/README.md +41 -0
- package/context/architecture.md +42 -0
- package/context/modern-conventions.md +129 -129
- package/context/project-context-template.md +122 -122
- package/docs/agents.md +473 -409
- package/docs/architecture.md +194 -162
- package/docs/commands.md +451 -388
- package/docs/security.md +195 -144
- package/package.json +77 -50
- package/.claude/settings.local.json +0 -33
- package/agents/forge-master/capabilities.md +0 -144
- package/agents/forge-master/context-template.md +0 -128
- package/agents/forge-master/personality.md +0 -138
- package/agents/sentinel/personality.md +0 -194
- package/context/forge-state.yaml +0 -19
- package/docs/TODO.md +0 -150
- package/docs/getting-started.md +0 -243
- package/docs/npm-publishing.md +0 -95
- package/docs/workflows/README.md +0 -32
- package/docs/workflows/azure-devops.md +0 -108
- package/docs/workflows/bitbucket.md +0 -104
- package/docs/workflows/git-only.md +0 -130
- package/docs/workflows/gitea.md +0 -168
- package/docs/workflows/github.md +0 -103
- package/docs/workflows/gitlab.md +0 -105
- package/docs/workflows.md +0 -454
- package/tasks/completed/ARCH-001-duplicate-agent-config.md +0 -121
- package/tasks/completed/ARCH-002-mixed-bash-node-implementation.md +0 -88
- package/tasks/completed/ARCH-003-worker-loop-hook-duplication.md +0 -77
- package/tasks/completed/ARCH-009-test-organization.md +0 -78
- package/tasks/completed/ARCH-011-jq-vs-nodejs-json.md +0 -94
- package/tasks/completed/ARCH-012-tmp-files-in-root.md +0 -71
- package/tasks/completed/ARCH-013-exit-code-constants.md +0 -65
- package/tasks/completed/ARCH-014-sed-incompatibility.md +0 -96
- package/tasks/completed/ARCH-015-docs-todo-tracking.md +0 -83
- package/tasks/completed/CLEAN-001.md +0 -38
- package/tasks/completed/CLEAN-003.md +0 -47
- package/tasks/completed/CLEAN-004.md +0 -56
- package/tasks/completed/CLEAN-005.md +0 -75
- package/tasks/completed/CLEAN-006.md +0 -47
- package/tasks/completed/CLEAN-007.md +0 -34
- package/tasks/completed/CLEAN-008.md +0 -49
- package/tasks/completed/CLEAN-012.md +0 -58
- package/tasks/completed/CLEAN-013.md +0 -45
- package/tasks/completed/SEC-001-sql-injection-fix.md +0 -58
- package/tasks/completed/SEC-002-notification-injection-fix.md +0 -45
- package/tasks/completed/SEC-003-eval-injection-fix.md +0 -54
- package/tasks/completed/SEC-004-pid-race-condition-fix.md +0 -49
- package/tasks/completed/SEC-005-worker-loop-path-fix.md +0 -51
- package/tasks/completed/SEC-006-eval-agent-names.md +0 -55
- package/tasks/completed/SEC-007-spawn-escaping.md +0 -67
- package/tasks/pending/ARCH-004-git-bash-detection-duplication.md +0 -72
- package/tasks/pending/ARCH-005-missing-src-directory.md +0 -95
- package/tasks/pending/ARCH-006-task-template-location.md +0 -64
- package/tasks/pending/ARCH-007-daemon-monolith.md +0 -91
- package/tasks/pending/ARCH-008-forge-master-vs-hub.md +0 -81
- package/tasks/pending/ARCH-010-missing-index-files.md +0 -84
- package/tasks/pending/CLEAN-002.md +0 -29
- package/tasks/pending/CLEAN-009.md +0 -31
- package/tasks/pending/CLEAN-010.md +0 -30
- package/tasks/pending/CLEAN-011.md +0 -30
- package/tasks/pending/CLEAN-014.md +0 -32
- package/tasks/review/task-001.md +0 -78
|
@@ -1,171 +1,218 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Vibe Forge - multi-agent development orchestration
|
|
3
|
-
argument-hint: [status|spawn <agent>|task [desc]|help]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Vibe Forge Command Router
|
|
7
|
-
|
|
8
|
-
**Command:** `/forge $ARGUMENTS`
|
|
9
|
-
|
|
10
|
-
## Route the Command
|
|
11
|
-
|
|
12
|
-
Based on the first argument, do ONE of the following:
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
### If `$1` is empty OR `$1` is "plan" → Start Planning Hub
|
|
17
|
-
|
|
18
|
-
You are now the **Vibe Forge Planning Hub** - a multi-expert planning team.
|
|
19
|
-
|
|
20
|
-
#### Your Identity
|
|
21
|
-
|
|
22
|
-
@_vibe-forge/agents/planning-hub/personality.md
|
|
23
|
-
|
|
24
|
-
#### Project Context
|
|
25
|
-
|
|
26
|
-
@context/project-context.md
|
|
27
|
-
|
|
28
|
-
#### Modern Tooling Reference (avoid outdated suggestions)
|
|
29
|
-
|
|
30
|
-
@_vibe-forge/context/modern-conventions.md
|
|
31
|
-
|
|
32
|
-
**Startup:** Display the team assembly welcome:
|
|
33
|
-
|
|
34
|
-
```text
|
|
35
|
-
🔥 VIBE FORGE - Planning Hub
|
|
36
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
37
|
-
|
|
38
|
-
The forge council assembles...
|
|
39
|
-
|
|
40
|
-
🔥
|
|
41
|
-
🏛️ Architect - Technical Design
|
|
42
|
-
🛡️ Aegis - Security
|
|
43
|
-
⚙️ Ember - DevOps & Infrastructure
|
|
44
|
-
🎨 Pixel - User Experience
|
|
45
|
-
📊 Oracle - Product & Requirements
|
|
46
|
-
🧪 Crucible - Quality & Testing
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- `_vibe-forge/tasks/
|
|
75
|
-
- `_vibe-forge/tasks/
|
|
76
|
-
- `_vibe-forge/tasks/
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
|
|
|
103
|
-
|
|
|
104
|
-
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
1
|
+
---
|
|
2
|
+
description: Vibe Forge - multi-agent development orchestration
|
|
3
|
+
argument-hint: [status|spawn <agent>|task [desc]|redteam [scope]|help]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vibe Forge Command Router
|
|
7
|
+
|
|
8
|
+
**Command:** `/forge $ARGUMENTS`
|
|
9
|
+
|
|
10
|
+
## Route the Command
|
|
11
|
+
|
|
12
|
+
Based on the first argument, do ONE of the following:
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### If `$1` is empty OR `$1` is "plan" → Start Planning Hub
|
|
17
|
+
|
|
18
|
+
You are now the **Vibe Forge Planning Hub** - a multi-expert planning team.
|
|
19
|
+
|
|
20
|
+
#### Your Identity
|
|
21
|
+
|
|
22
|
+
@_vibe-forge/agents/planning-hub/personality.md
|
|
23
|
+
|
|
24
|
+
#### Project Context
|
|
25
|
+
|
|
26
|
+
@context/project-context.md
|
|
27
|
+
|
|
28
|
+
#### Modern Tooling Reference (avoid outdated suggestions)
|
|
29
|
+
|
|
30
|
+
@_vibe-forge/context/modern-conventions.md
|
|
31
|
+
|
|
32
|
+
**Startup:** Display the team assembly welcome:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
🔥 VIBE FORGE - Planning Hub
|
|
36
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
37
|
+
|
|
38
|
+
The forge council assembles...
|
|
39
|
+
|
|
40
|
+
🔥 Planning Hub - Orchestration & Tasks
|
|
41
|
+
🏛️ Architect - Technical Design
|
|
42
|
+
🛡️ Aegis - Security
|
|
43
|
+
⚙️ Ember - DevOps & Infrastructure
|
|
44
|
+
🎨 Pixel - User Experience
|
|
45
|
+
📊 Oracle - Product & Requirements
|
|
46
|
+
🧪 Crucible - Quality & Testing
|
|
47
|
+
🎭 Loki - Lateral Thinking & Assumption Challenger
|
|
48
|
+
|
|
49
|
+
Ready to plan, review, or coordinate.
|
|
50
|
+
Use /forge status to check current tasks.
|
|
51
|
+
|
|
52
|
+
What's on the anvil today?
|
|
53
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Do NOT automatically scan task folders - wait for user to ask or use `/forge status`.
|
|
57
|
+
|
|
58
|
+
If `$1` is "plan" and `$2+` contains a feature description (e.g., `/forge plan user authentication`), enter **Planning Mode** immediately with the feature as the discovery input. Skip the generic welcome and go straight to Phase 1 (Discovery) with Oracle asking clarifying questions about the described feature.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### If `$1` is "status" → Show Status Dashboard
|
|
63
|
+
|
|
64
|
+
Display a formatted status dashboard.
|
|
65
|
+
|
|
66
|
+
#### Forge State
|
|
67
|
+
|
|
68
|
+
@_vibe-forge/context/forge-state.yaml
|
|
69
|
+
|
|
70
|
+
#### Task Counts
|
|
71
|
+
|
|
72
|
+
Use the Glob tool to count .md files in each task folder:
|
|
73
|
+
|
|
74
|
+
- `_vibe-forge/tasks/pending/*.md` - Pending
|
|
75
|
+
- `_vibe-forge/tasks/in-progress/*.md` - In Progress
|
|
76
|
+
- `_vibe-forge/tasks/completed/*.md` - Completed
|
|
77
|
+
- `_vibe-forge/tasks/review/*.md` - In Review
|
|
78
|
+
- `_vibe-forge/tasks/needs-changes/*.md` - Needs Changes
|
|
79
|
+
- `_vibe-forge/tasks/approved/*.md` - Approved
|
|
80
|
+
|
|
81
|
+
Format output like:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
🔥 VIBE FORGE - Status Dashboard
|
|
85
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
|
+
[Task counts and state summary]
|
|
87
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### If `$1` is "spawn" → Spawn Worker Agent
|
|
93
|
+
|
|
94
|
+
**Agent requested:** `$2`
|
|
95
|
+
|
|
96
|
+
Available agents (with aliases):
|
|
97
|
+
|
|
98
|
+
| Agent | Aliases | Role |
|
|
99
|
+
| -------- | -------------------- | ----------------- |
|
|
100
|
+
| anvil | frontend, ui, fe | Frontend Developer |
|
|
101
|
+
| furnace | backend, api, be | Backend Developer |
|
|
102
|
+
| crucible | test, testing, qa | Tester / QA |
|
|
103
|
+
| sentinel | review, reviewer, cr | Code Reviewer |
|
|
104
|
+
| scribe | docs, documentation | Documentation |
|
|
105
|
+
| herald | release, deploy | Release Manager |
|
|
106
|
+
| ember | devops, ops, infra | DevOps |
|
|
107
|
+
| aegis | security, sec, appsec | Security |
|
|
108
|
+
| slag | redteam, pentest | Red Team Lead |
|
|
109
|
+
| flux | infra-sec, chaos | Red Team Operator |
|
|
110
|
+
| loki | trickster, lateral | Lateral Thinker (Planning Hub) |
|
|
111
|
+
| crucible-x | adversarial, break-it, cx | Adversarial Reviewer |
|
|
112
|
+
|
|
113
|
+
If `$2` is empty, show the table above and ask which agent to spawn.
|
|
114
|
+
|
|
115
|
+
If `$2` is provided, run:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
./_vibe-forge/bin/forge-spawn.sh $2
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Confirm the spawn. If an alias was used (e.g., "frontend"), mention the resolved name: "Spawning **Anvil** (frontend)..."
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### If `$1` is "task" → Create Task
|
|
126
|
+
|
|
127
|
+
**Task description:** `$2` `$3` `$4` (remaining arguments)
|
|
128
|
+
|
|
129
|
+
#### Task Template
|
|
130
|
+
|
|
131
|
+
@_vibe-forge/config/task-template.md
|
|
132
|
+
|
|
133
|
+
#### Existing Tasks
|
|
134
|
+
|
|
135
|
+
Use the Glob tool to list files in `_vibe-forge/tasks/pending/*.md`
|
|
136
|
+
|
|
137
|
+
If no description provided, ask:
|
|
138
|
+
|
|
139
|
+
- What needs to be done?
|
|
140
|
+
- Which agent? (anvil, furnace, crucible, sentinel, scribe, herald, ember, aegis)
|
|
141
|
+
- Priority? (high, medium, low)
|
|
142
|
+
|
|
143
|
+
Generate task ID as `task-XXX` (next sequential number), create file at `_vibe-forge/tasks/pending/task-XXX.md`.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### If `$1` is "help" → Show Help
|
|
148
|
+
|
|
149
|
+
Display:
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
🔥 VIBE FORGE - Commands
|
|
153
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
154
|
+
|
|
155
|
+
/forge Start the Planning Hub (default)
|
|
156
|
+
/forge status Show status dashboard
|
|
157
|
+
/forge spawn <agent> Spawn worker in new terminal
|
|
158
|
+
/forge task [desc] Create a new task
|
|
159
|
+
/forge redteam [scope] Launch red team engagement
|
|
160
|
+
/forge help Show this help
|
|
161
|
+
|
|
162
|
+
Agents (with aliases):
|
|
163
|
+
anvil (frontend, ui, fe) - Frontend Developer
|
|
164
|
+
furnace (backend, api, be) - Backend Developer
|
|
165
|
+
crucible (test, testing, qa) - Tester / QA
|
|
166
|
+
sentinel (review, reviewer, cr) - Code Reviewer
|
|
167
|
+
scribe (docs, documentation) - Documentation
|
|
168
|
+
herald (release, deploy) - Release Manager
|
|
169
|
+
ember (devops, ops, infra) - DevOps
|
|
170
|
+
aegis (security, sec, appsec) - Security
|
|
171
|
+
slag (redteam, pentest) - Red Team Lead
|
|
172
|
+
flux (infra-sec, chaos) - Red Team Operator
|
|
173
|
+
loki (trickster, lateral) - Lateral Thinker (Planning Hub)
|
|
174
|
+
crucible-x (adversarial, cx) - Adversarial Reviewer
|
|
175
|
+
|
|
176
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### If `$1` is "redteam" → Launch Red Team Engagement
|
|
182
|
+
|
|
183
|
+
**Scope:** `$2` `$3` `$4` (remaining arguments)
|
|
184
|
+
|
|
185
|
+
If no scope provided, ask:
|
|
186
|
+
- What should the red team target? (e.g., "auth module", "API endpoints", "full application")
|
|
187
|
+
- Any exclusions? (systems/endpoints off-limits)
|
|
188
|
+
- Attack types? (OWASP, infra, supply-chain, all)
|
|
189
|
+
|
|
190
|
+
Display:
|
|
191
|
+
|
|
192
|
+
```text
|
|
193
|
+
💀 VIBE FORGE - Red Team Engagement
|
|
194
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
195
|
+
Scope: [target]
|
|
196
|
+
Lead: Slag (💀 Offensive Security)
|
|
197
|
+
Operator: Flux (⚡ Infrastructure)
|
|
198
|
+
|
|
199
|
+
Rules of Engagement:
|
|
200
|
+
- requires_approval: true (all actions need sign-off)
|
|
201
|
+
- Separation of duties: no Aegis collaboration during engagement
|
|
202
|
+
- All findings documented with PoC
|
|
203
|
+
|
|
204
|
+
Spawning red team...
|
|
205
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Then run:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
./_vibe-forge/bin/forge-spawn.sh slag
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### Otherwise → Unknown Command
|
|
217
|
+
|
|
218
|
+
Tell the user: "Unknown command: $1. Run `/forge help` for available commands."
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Signal that you need human attention/input
|
|
3
|
-
argument-hint: <brief reason>
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Need Help Command
|
|
7
|
-
|
|
8
|
-
Use this command when you're blocked and need human input. This will:
|
|
9
|
-
|
|
10
|
-
1. Create an attention file in `tasks/attention/`
|
|
11
|
-
2. Ring the terminal bell for immediate notification
|
|
12
|
-
3. Trigger a system toast notification (if daemon is running)
|
|
13
|
-
4. Show in the Planning Hub's status display
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
/need-help Need clarification on auth implementation approach
|
|
19
|
-
/need-help Blocked on API design decision - REST vs GraphQL?
|
|
20
|
-
/need-help Tests failing, need guidance on expected behavior
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Implementation
|
|
24
|
-
|
|
25
|
-
Based on `$ARGUMENTS`:
|
|
26
|
-
|
|
27
|
-
1. Determine your agent identity from your system prompt or context
|
|
28
|
-
2. Create an attention file at `tasks/attention/<agent>-<timestamp>.md`:
|
|
29
|
-
|
|
30
|
-
```markdown
|
|
31
|
-
---
|
|
32
|
-
agent: <your-agent-name>
|
|
33
|
-
created: <ISO timestamp>
|
|
34
|
-
status: pending
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
# Attention Needed
|
|
38
|
-
|
|
39
|
-
**Agent:** <icon> <display-name>
|
|
40
|
-
**Time:** <human-readable time>
|
|
41
|
-
|
|
42
|
-
## Issue
|
|
43
|
-
|
|
44
|
-
$ARGUMENTS
|
|
45
|
-
|
|
46
|
-
## Context
|
|
47
|
-
|
|
48
|
-
<Brief context about what you were working on>
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
3. Ring the terminal bell:
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
printf '\a'
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
4. Announce that you've signaled for help and will wait.
|
|
58
|
-
|
|
59
|
-
## Resolving Attention
|
|
60
|
-
|
|
61
|
-
When a human responds (via Hub or directly), they can:
|
|
62
|
-
- Delete the attention file to clear the flag
|
|
63
|
-
- Move it to a resolved folder
|
|
64
|
-
- Or just respond - the worker can delete their own attention file once unblocked
|
|
65
|
-
|
|
66
|
-
## Example Output
|
|
67
|
-
|
|
68
|
-
After running `/need-help Need decision on caching strategy`:
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
🔔 Attention signal sent!
|
|
72
|
-
|
|
73
|
-
I've created tasks/attention/anvil-20240115-143022.md
|
|
74
|
-
The Planning Hub and daemon have been notified.
|
|
75
|
-
|
|
76
|
-
I'll wait for guidance. You can respond here or via the Hub.
|
|
77
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: Signal that you need human attention/input
|
|
3
|
+
argument-hint: <brief reason>
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Need Help Command
|
|
7
|
+
|
|
8
|
+
Use this command when you're blocked and need human input. This will:
|
|
9
|
+
|
|
10
|
+
1. Create an attention file in `tasks/attention/`
|
|
11
|
+
2. Ring the terminal bell for immediate notification
|
|
12
|
+
3. Trigger a system toast notification (if daemon is running)
|
|
13
|
+
4. Show in the Planning Hub's status display
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/need-help Need clarification on auth implementation approach
|
|
19
|
+
/need-help Blocked on API design decision - REST vs GraphQL?
|
|
20
|
+
/need-help Tests failing, need guidance on expected behavior
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Implementation
|
|
24
|
+
|
|
25
|
+
Based on `$ARGUMENTS`:
|
|
26
|
+
|
|
27
|
+
1. Determine your agent identity from your system prompt or context
|
|
28
|
+
2. Create an attention file at `tasks/attention/<agent>-<timestamp>.md`:
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
---
|
|
32
|
+
agent: <your-agent-name>
|
|
33
|
+
created: <ISO timestamp>
|
|
34
|
+
status: pending
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# Attention Needed
|
|
38
|
+
|
|
39
|
+
**Agent:** <icon> <display-name>
|
|
40
|
+
**Time:** <human-readable time>
|
|
41
|
+
|
|
42
|
+
## Issue
|
|
43
|
+
|
|
44
|
+
$ARGUMENTS
|
|
45
|
+
|
|
46
|
+
## Context
|
|
47
|
+
|
|
48
|
+
<Brief context about what you were working on>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
3. Ring the terminal bell:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
printf '\a'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
4. Announce that you've signaled for help and will wait.
|
|
58
|
+
|
|
59
|
+
## Resolving Attention
|
|
60
|
+
|
|
61
|
+
When a human responds (via Hub or directly), they can:
|
|
62
|
+
- Delete the attention file to clear the flag
|
|
63
|
+
- Move it to a resolved folder
|
|
64
|
+
- Or just respond - the worker can delete their own attention file once unblocked
|
|
65
|
+
|
|
66
|
+
## Example Output
|
|
67
|
+
|
|
68
|
+
After running `/need-help Need decision on caching strategy`:
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
🔔 Attention signal sent!
|
|
72
|
+
|
|
73
|
+
I've created tasks/attention/anvil-20240115-143022.md
|
|
74
|
+
The Planning Hub and daemon have been notified.
|
|
75
|
+
|
|
76
|
+
I'll wait for guidance. You can respond here or via the Hub.
|
|
77
|
+
```
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Update your agent status for the forge dashboard
|
|
3
|
-
argument-hint: <status> [task-id]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Update Status Command
|
|
7
|
-
|
|
8
|
-
Report your current status to the forge daemon and Planning Hub. This enables real-time visibility into what each worker is doing.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
/update-status working TASK-001 # Working on a specific task
|
|
14
|
-
/update-status idle # Waiting for tasks
|
|
15
|
-
/update-status blocked # Stuck, may need help
|
|
16
|
-
/update-status reviewing PR-123 # Reviewing something
|
|
17
|
-
/update-status testing TASK-001 # Running tests
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Status Values
|
|
21
|
-
|
|
22
|
-
| Status | Meaning |
|
|
23
|
-
|--------|---------|
|
|
24
|
-
| `idle` | No current task, ready for work |
|
|
25
|
-
| `working` | Actively working on a task |
|
|
26
|
-
| `blocked` | Stuck, needs input (consider `/need-help`) |
|
|
27
|
-
| `reviewing` | Reviewing code or PR |
|
|
28
|
-
| `testing` | Running tests |
|
|
29
|
-
| `waiting` | Waiting for external dependency |
|
|
30
|
-
|
|
31
|
-
## Implementation
|
|
32
|
-
|
|
33
|
-
Based on `$ARGUMENTS`:
|
|
34
|
-
|
|
35
|
-
1. Parse the status and optional task ID from arguments
|
|
36
|
-
2. Determine your agent identity from your system prompt
|
|
37
|
-
3. Write status file to `context/agent-status/<agent>.json`:
|
|
38
|
-
|
|
39
|
-
```json
|
|
40
|
-
{
|
|
41
|
-
"agent": "anvil",
|
|
42
|
-
"status": "working",
|
|
43
|
-
"task": "TASK-001",
|
|
44
|
-
"message": "Implementing user authentication",
|
|
45
|
-
"updated": "2026-01-15T14:30:22Z" // ISO 8601 timestamp (auto-generated)
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
4. The daemon reads these files and includes them in `forge-state.yaml`
|
|
50
|
-
5. The Planning Hub sees your status in the dashboard
|
|
51
|
-
|
|
52
|
-
## Auto-Status Updates
|
|
53
|
-
|
|
54
|
-
Workers should update their status at these key moments:
|
|
55
|
-
|
|
56
|
-
1. **On startup**: `/update-status idle` (or working if picking up a task)
|
|
57
|
-
2. **When picking up a task**: `/update-status working TASK-XXX`
|
|
58
|
-
3. **When completing a task**: `/update-status idle`
|
|
59
|
-
4. **When blocked**: `/update-status blocked` (then `/need-help` if needed)
|
|
60
|
-
5. **Before exiting**: Status file can remain (daemon marks stale after timeout)
|
|
61
|
-
|
|
62
|
-
## Stale Status
|
|
63
|
-
|
|
64
|
-
The daemon considers a status stale if not updated for 5+ minutes. Stale statuses are shown with a warning indicator in the dashboard.
|
|
1
|
+
---
|
|
2
|
+
description: Update your agent status for the forge dashboard
|
|
3
|
+
argument-hint: <status> [task-id]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Update Status Command
|
|
7
|
+
|
|
8
|
+
Report your current status to the forge daemon and Planning Hub. This enables real-time visibility into what each worker is doing.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/update-status working TASK-001 # Working on a specific task
|
|
14
|
+
/update-status idle # Waiting for tasks
|
|
15
|
+
/update-status blocked # Stuck, may need help
|
|
16
|
+
/update-status reviewing PR-123 # Reviewing something
|
|
17
|
+
/update-status testing TASK-001 # Running tests
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Status Values
|
|
21
|
+
|
|
22
|
+
| Status | Meaning |
|
|
23
|
+
|--------|---------|
|
|
24
|
+
| `idle` | No current task, ready for work |
|
|
25
|
+
| `working` | Actively working on a task |
|
|
26
|
+
| `blocked` | Stuck, needs input (consider `/need-help`) |
|
|
27
|
+
| `reviewing` | Reviewing code or PR |
|
|
28
|
+
| `testing` | Running tests |
|
|
29
|
+
| `waiting` | Waiting for external dependency |
|
|
30
|
+
|
|
31
|
+
## Implementation
|
|
32
|
+
|
|
33
|
+
Based on `$ARGUMENTS`:
|
|
34
|
+
|
|
35
|
+
1. Parse the status and optional task ID from arguments
|
|
36
|
+
2. Determine your agent identity from your system prompt
|
|
37
|
+
3. Write status file to `context/agent-status/<agent>.json`:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"agent": "anvil",
|
|
42
|
+
"status": "working",
|
|
43
|
+
"task": "TASK-001",
|
|
44
|
+
"message": "Implementing user authentication",
|
|
45
|
+
"updated": "2026-01-15T14:30:22Z" // ISO 8601 timestamp (auto-generated)
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
4. The daemon reads these files and includes them in `forge-state.yaml`
|
|
50
|
+
5. The Planning Hub sees your status in the dashboard
|
|
51
|
+
|
|
52
|
+
## Auto-Status Updates
|
|
53
|
+
|
|
54
|
+
Workers should update their status at these key moments:
|
|
55
|
+
|
|
56
|
+
1. **On startup**: `/update-status idle` (or working if picking up a task)
|
|
57
|
+
2. **When picking up a task**: `/update-status working TASK-XXX`
|
|
58
|
+
3. **When completing a task**: `/update-status idle`
|
|
59
|
+
4. **When blocked**: `/update-status blocked` (then `/need-help` if needed)
|
|
60
|
+
5. **Before exiting**: Status file can remain (daemon marks stale after timeout)
|
|
61
|
+
|
|
62
|
+
## Stale Status
|
|
63
|
+
|
|
64
|
+
The daemon considers a status stale if not updated for 5+ minutes. Stale statuses are shown with a warning indicator in the dashboard.
|