vibe-forge 0.4.0 → 0.8.2
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 +5 -5
- package/.claude/commands/forge.md +50 -3
- 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 +37 -4
- package/.claude/scripts/setup-worker-loop.sh +45 -45
- package/.claude/settings.json +89 -0
- package/LICENSE +21 -21
- package/README.md +211 -232
- package/agents/aegis/personality.md +35 -1
- package/agents/anvil/personality.md +39 -1
- package/agents/architect/personality.md +26 -0
- package/agents/crucible/personality.md +54 -1
- package/agents/crucible-x/personality.md +210 -0
- package/agents/ember/personality.md +29 -1
- package/agents/flux/personality.md +248 -0
- package/agents/furnace/personality.md +52 -1
- package/agents/herald/personality.md +3 -1
- 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 +222 -0
- package/agents/scribe/personality.md +3 -1
- package/agents/slag/personality.md +268 -0
- package/agents/{sentinel → temper}/personality.md +85 -9
- package/bin/cli.js +77 -30
- 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 +176 -550
- package/bin/forge-setup.sh +28 -11
- package/bin/forge-spawn.sh +5 -5
- package/bin/forge.cmd +83 -83
- package/bin/forge.sh +210 -31
- package/config/agent-manifest.yaml +237 -243
- package/config/agents.json +207 -132
- package/config/task-types.yaml +111 -106
- package/context/agent-overrides/README.md +41 -0
- package/context/architecture.md +42 -0
- package/context/modern-conventions.md +129 -129
- 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 +38 -11
- package/src/lib/check-aliases.js +50 -0
- package/{bin → src}/lib/colors.sh +2 -1
- package/src/lib/config.sh +347 -0
- package/{bin → src}/lib/constants.sh +48 -13
- package/src/lib/daemon/budgets.sh +107 -0
- package/src/lib/daemon/dependencies.sh +146 -0
- package/src/lib/daemon/display.sh +128 -0
- package/src/lib/daemon/notifications.sh +273 -0
- package/src/lib/daemon/routing.sh +93 -0
- package/src/lib/daemon/state.sh +163 -0
- package/src/lib/daemon/sync.sh +103 -0
- package/{bin → src}/lib/database.sh +52 -0
- package/src/lib/frontmatter.js +106 -0
- package/src/lib/heimdall-setup.js +113 -0
- package/src/lib/heimdall.js +265 -0
- package/src/lib/index.sh +25 -0
- package/{bin → src}/lib/json.sh +7 -1
- package/{bin → src}/lib/terminal.js +7 -1
- 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/bin/lib/config.sh +0 -313
- package/config/task-template.md +0 -87
- 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
- /package/{bin → src}/lib/agents.sh +0 -0
- /package/{bin → src}/lib/util.sh +0 -0
- /package/{bin → src}/lib/vcs.js +0 -0
- /package/{context → templates}/project-context-template.md +0 -0
package/docs/workflows.md
DELETED
|
@@ -1,454 +0,0 @@
|
|
|
1
|
-
# Common Workflows
|
|
2
|
-
|
|
3
|
-
This guide covers typical development workflows with Vibe Forge.
|
|
4
|
-
|
|
5
|
-
## Single Developer Workflow
|
|
6
|
-
|
|
7
|
-
The simplest way to use Vibe Forge - one developer coordinating AI agents.
|
|
8
|
-
|
|
9
|
-
### Morning Startup
|
|
10
|
-
|
|
11
|
-
1. **Open your project** in your terminal
|
|
12
|
-
|
|
13
|
-
2. **Start Claude Code** and open the Planning Hub:
|
|
14
|
-
```
|
|
15
|
-
/forge
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
3. **Check status** to see where you left off:
|
|
19
|
-
```
|
|
20
|
-
/forge status
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
4. **Review pending tasks** and plan your day
|
|
24
|
-
|
|
25
|
-
### Feature Development
|
|
26
|
-
|
|
27
|
-
1. **Discuss the feature** with the Planning Hub:
|
|
28
|
-
```
|
|
29
|
-
I want to add user authentication with email/password login
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
2. **Let the Hub break it down** into tasks for different agents
|
|
33
|
-
|
|
34
|
-
3. **Spawn the needed workers**:
|
|
35
|
-
```
|
|
36
|
-
/forge spawn furnace # Backend for auth API
|
|
37
|
-
/forge spawn anvil # Frontend for login form
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
4. **Create tasks** (or let the Hub create them):
|
|
41
|
-
```
|
|
42
|
-
/forge task Create authentication API endpoints
|
|
43
|
-
/forge task Build login form component
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
5. **Monitor progress**:
|
|
47
|
-
```
|
|
48
|
-
/forge status
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
6. **Review completed work** with Sentinel:
|
|
52
|
-
```
|
|
53
|
-
/forge spawn sentinel
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### End of Day
|
|
57
|
-
|
|
58
|
-
1. Check `/forge status` for any blocked tasks
|
|
59
|
-
2. Note any attention signals (`/need-help` requests)
|
|
60
|
-
3. Review what was completed
|
|
61
|
-
4. Plan tomorrow's priorities
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Multi-Agent Task Workflow
|
|
66
|
-
|
|
67
|
-
Coordinating multiple agents working in parallel.
|
|
68
|
-
|
|
69
|
-
### Setup
|
|
70
|
-
|
|
71
|
-
1. **Start the Planning Hub**:
|
|
72
|
-
```
|
|
73
|
-
/forge
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
2. **Spawn your team** (each in its own terminal):
|
|
77
|
-
```
|
|
78
|
-
/forge spawn anvil
|
|
79
|
-
/forge spawn furnace
|
|
80
|
-
/forge spawn crucible
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
3. **Enable worker loops** for continuous work:
|
|
84
|
-
In each worker terminal:
|
|
85
|
-
```
|
|
86
|
-
/worker-loop anvil
|
|
87
|
-
/worker-loop furnace
|
|
88
|
-
/worker-loop crucible
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Task Distribution
|
|
92
|
-
|
|
93
|
-
1. **Create tasks** from the Planning Hub:
|
|
94
|
-
```
|
|
95
|
-
/forge task [frontend] Create product listing component
|
|
96
|
-
/forge task [backend] Build product API with pagination
|
|
97
|
-
/forge task [test] Write tests for product endpoints
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
2. **Tasks are picked up automatically** by workers in loop mode
|
|
101
|
-
|
|
102
|
-
3. **Monitor from the Hub**:
|
|
103
|
-
```
|
|
104
|
-
/forge status
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Handling Dependencies
|
|
108
|
-
|
|
109
|
-
When tasks depend on each other:
|
|
110
|
-
|
|
111
|
-
1. **Furnace completes the API** - task moves to `completed/`
|
|
112
|
-
|
|
113
|
-
2. **Anvil picks up frontend task** - can now integrate with API
|
|
114
|
-
|
|
115
|
-
3. **Crucible writes tests** - validates both frontend and backend
|
|
116
|
-
|
|
117
|
-
### Resolving Blocks
|
|
118
|
-
|
|
119
|
-
When a worker signals for help:
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
# In worker terminal
|
|
123
|
-
/need-help API spec unclear - should pagination be cursor or offset?
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
1. **Hub sees the attention signal** in status
|
|
127
|
-
|
|
128
|
-
2. **You respond** in the Planning Hub or directly to the worker
|
|
129
|
-
|
|
130
|
-
3. **Worker continues** after getting guidance
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Code Review Workflow
|
|
135
|
-
|
|
136
|
-
Systematic code review with Sentinel.
|
|
137
|
-
|
|
138
|
-
### Automatic Review
|
|
139
|
-
|
|
140
|
-
1. **Worker completes a task** and moves it to `review/`
|
|
141
|
-
|
|
142
|
-
2. **Sentinel picks up the review**:
|
|
143
|
-
```
|
|
144
|
-
/forge spawn sentinel
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
3. **Sentinel examines the changes**:
|
|
148
|
-
- Code correctness
|
|
149
|
-
- Security concerns
|
|
150
|
-
- Performance implications
|
|
151
|
-
- Test coverage
|
|
152
|
-
|
|
153
|
-
4. **Sentinel provides feedback**:
|
|
154
|
-
- Approves: Task moves to `approved/`
|
|
155
|
-
- Requests changes: Task moves to `needs-changes/`
|
|
156
|
-
|
|
157
|
-
### Manual Review Request
|
|
158
|
-
|
|
159
|
-
Request a review of specific code:
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
# In Planning Hub
|
|
163
|
-
Ask Sentinel to review the authentication implementation in src/auth/
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
Or spawn Sentinel directly:
|
|
167
|
-
|
|
168
|
-
```
|
|
169
|
-
/forge spawn sentinel
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Then in Sentinel's terminal:
|
|
173
|
-
```
|
|
174
|
-
Review the recent changes to the user service
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Handling Review Feedback
|
|
178
|
-
|
|
179
|
-
When Sentinel requests changes:
|
|
180
|
-
|
|
181
|
-
1. **Task moves to `needs-changes/`**
|
|
182
|
-
|
|
183
|
-
2. **Original worker sees the task** and picks it up
|
|
184
|
-
|
|
185
|
-
3. **Worker addresses feedback**
|
|
186
|
-
|
|
187
|
-
4. **Task goes back to `review/`**
|
|
188
|
-
|
|
189
|
-
5. **Sentinel re-reviews**
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Planning and Breaking Down Tasks
|
|
194
|
-
|
|
195
|
-
Using the Planning Hub to decompose large features.
|
|
196
|
-
|
|
197
|
-
### Feature Decomposition
|
|
198
|
-
|
|
199
|
-
1. **Describe the feature**:
|
|
200
|
-
```
|
|
201
|
-
/forge
|
|
202
|
-
|
|
203
|
-
I need to build a shopping cart with:
|
|
204
|
-
- Add/remove items
|
|
205
|
-
- Quantity adjustment
|
|
206
|
-
- Price calculation
|
|
207
|
-
- Checkout flow
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
2. **Hub engages advisors**:
|
|
211
|
-
- **Sage** considers architecture
|
|
212
|
-
- **Oracle** clarifies requirements
|
|
213
|
-
- **Quartermaster** suggests priorities
|
|
214
|
-
|
|
215
|
-
3. **Hub proposes task breakdown**:
|
|
216
|
-
```
|
|
217
|
-
Suggested tasks:
|
|
218
|
-
|
|
219
|
-
[backend] Cart data model and API
|
|
220
|
-
[backend] Price calculation service
|
|
221
|
-
[frontend] Cart component with item list
|
|
222
|
-
[frontend] Checkout form and flow
|
|
223
|
-
[test] Cart API integration tests
|
|
224
|
-
[test] Checkout e2e tests
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
4. **Refine and approve**:
|
|
228
|
-
```
|
|
229
|
-
Looks good, but add a task for cart persistence across sessions
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
5. **Create the tasks**:
|
|
233
|
-
```
|
|
234
|
-
Create these tasks and assign priorities
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### Estimating Complexity
|
|
238
|
-
|
|
239
|
-
Ask the Hub for estimates:
|
|
240
|
-
|
|
241
|
-
```
|
|
242
|
-
How complex is the checkout flow? What are the main risks?
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
The Hub will engage relevant advisors:
|
|
246
|
-
- Sage on technical complexity
|
|
247
|
-
- Oracle on requirement gaps
|
|
248
|
-
- Quartermaster on timeline
|
|
249
|
-
|
|
250
|
-
### Handling Ambiguity
|
|
251
|
-
|
|
252
|
-
When requirements are unclear:
|
|
253
|
-
|
|
254
|
-
1. **Hub identifies gaps**:
|
|
255
|
-
```
|
|
256
|
-
Before we proceed, I need clarity on:
|
|
257
|
-
- Should guest checkout be supported?
|
|
258
|
-
- What payment providers to integrate?
|
|
259
|
-
- Are there shipping calculation requirements?
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
2. **You provide answers** or mark as assumptions
|
|
263
|
-
|
|
264
|
-
3. **Hub documents decisions** in task files
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## Release Workflow
|
|
269
|
-
|
|
270
|
-
Preparing and executing releases with Herald.
|
|
271
|
-
|
|
272
|
-
### Pre-Release Checklist
|
|
273
|
-
|
|
274
|
-
1. **Check status**:
|
|
275
|
-
```
|
|
276
|
-
/forge status
|
|
277
|
-
```
|
|
278
|
-
Ensure no tasks are in-progress or blocked.
|
|
279
|
-
|
|
280
|
-
2. **Spawn Herald**:
|
|
281
|
-
```
|
|
282
|
-
/forge spawn herald
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
3. **Prepare release**:
|
|
286
|
-
```
|
|
287
|
-
Prepare release v1.2.0 with all completed work since v1.1.0
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
4. **Herald generates**:
|
|
291
|
-
- Changelog entries
|
|
292
|
-
- Release notes
|
|
293
|
-
- Version bump
|
|
294
|
-
|
|
295
|
-
### Release Execution
|
|
296
|
-
|
|
297
|
-
1. **Review Herald's output**
|
|
298
|
-
|
|
299
|
-
2. **Approve the release**:
|
|
300
|
-
```
|
|
301
|
-
Proceed with the release
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
3. **Herald executes**:
|
|
305
|
-
- Commits version changes
|
|
306
|
-
- Creates git tag
|
|
307
|
-
- Prepares deployment notes
|
|
308
|
-
|
|
309
|
-
### Hotfix Release
|
|
310
|
-
|
|
311
|
-
For urgent fixes:
|
|
312
|
-
|
|
313
|
-
1. **Create hotfix task**:
|
|
314
|
-
```
|
|
315
|
-
/forge task [urgent] Fix payment processing bug
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
2. **Spawn appropriate worker**:
|
|
319
|
-
```
|
|
320
|
-
/forge spawn furnace
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
3. **After fix, spawn Herald**:
|
|
324
|
-
```
|
|
325
|
-
/forge spawn herald
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
4. **Prepare patch release**:
|
|
329
|
-
```
|
|
330
|
-
Prepare hotfix release v1.1.1 for the payment bug fix
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## DevOps Workflow
|
|
336
|
-
|
|
337
|
-
Infrastructure and deployment with Ember.
|
|
338
|
-
|
|
339
|
-
### CI/CD Setup
|
|
340
|
-
|
|
341
|
-
1. **Spawn Ember**:
|
|
342
|
-
```
|
|
343
|
-
/forge spawn ember
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
2. **Describe your needs**:
|
|
347
|
-
```
|
|
348
|
-
Set up CI/CD pipeline with:
|
|
349
|
-
- Run tests on PR
|
|
350
|
-
- Build and deploy on merge to main
|
|
351
|
-
- Deploy to staging automatically
|
|
352
|
-
- Manual promotion to production
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
3. **Ember creates**:
|
|
356
|
-
- GitHub Actions workflows
|
|
357
|
-
- Dockerfile if needed
|
|
358
|
-
- Deployment scripts
|
|
359
|
-
|
|
360
|
-
### Infrastructure Changes
|
|
361
|
-
|
|
362
|
-
1. **Create infrastructure task**:
|
|
363
|
-
```
|
|
364
|
-
/forge task [devops] Add Redis caching layer
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
2. **Ember handles**:
|
|
368
|
-
- Docker compose updates
|
|
369
|
-
- Environment configuration
|
|
370
|
-
- Monitoring setup
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
## Security Review Workflow
|
|
375
|
-
|
|
376
|
-
Security auditing with Aegis.
|
|
377
|
-
|
|
378
|
-
### Scheduled Security Review
|
|
379
|
-
|
|
380
|
-
1. **Spawn Aegis**:
|
|
381
|
-
```
|
|
382
|
-
/forge spawn aegis
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
2. **Request audit**:
|
|
386
|
-
```
|
|
387
|
-
Perform security review of the authentication system
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
3. **Aegis examines**:
|
|
391
|
-
- Authentication flows
|
|
392
|
-
- Input validation
|
|
393
|
-
- Dependency vulnerabilities
|
|
394
|
-
- Security headers
|
|
395
|
-
|
|
396
|
-
4. **Aegis reports findings** with severity levels
|
|
397
|
-
|
|
398
|
-
### Pre-Release Security Check
|
|
399
|
-
|
|
400
|
-
Before major releases:
|
|
401
|
-
|
|
402
|
-
1. **Create security task**:
|
|
403
|
-
```
|
|
404
|
-
/forge task [security] Pre-release security audit for v2.0
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
2. **Aegis reviews**:
|
|
408
|
-
- All changes since last audit
|
|
409
|
-
- New dependencies
|
|
410
|
-
- Configuration changes
|
|
411
|
-
|
|
412
|
-
3. **Address findings** before release
|
|
413
|
-
|
|
414
|
-
---
|
|
415
|
-
|
|
416
|
-
## Tips for Effective Workflows
|
|
417
|
-
|
|
418
|
-
### Keep Context Updated
|
|
419
|
-
|
|
420
|
-
Edit `context/project-context.md` as your project evolves:
|
|
421
|
-
- Architecture decisions
|
|
422
|
-
- Coding conventions
|
|
423
|
-
- Team agreements
|
|
424
|
-
|
|
425
|
-
### Use Worker Loop for Long Sessions
|
|
426
|
-
|
|
427
|
-
Enable persistent mode for extended work:
|
|
428
|
-
```
|
|
429
|
-
/worker-loop anvil --max-idle 20
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
### Monitor Regularly
|
|
433
|
-
|
|
434
|
-
Check status frequently:
|
|
435
|
-
```
|
|
436
|
-
/forge status
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
Look for:
|
|
440
|
-
- Blocked tasks
|
|
441
|
-
- Attention signals
|
|
442
|
-
- Completed work ready for review
|
|
443
|
-
|
|
444
|
-
### Document Decisions
|
|
445
|
-
|
|
446
|
-
When the Hub makes recommendations, capture important decisions in:
|
|
447
|
-
- Task files (for task-specific context)
|
|
448
|
-
- Project context (for project-wide patterns)
|
|
449
|
-
|
|
450
|
-
### Balance Automation and Control
|
|
451
|
-
|
|
452
|
-
- **Worker Loop** for routine tasks
|
|
453
|
-
- **Manual spawning** for specific needs
|
|
454
|
-
- **Hub coordination** for complex features
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ARCH-001
|
|
3
|
-
title: "Consolidate duplicate agent configuration sources"
|
|
4
|
-
type: architecture
|
|
5
|
-
priority: high
|
|
6
|
-
assigned_to: architect
|
|
7
|
-
created_at: 2026-01-15T17:00:00Z
|
|
8
|
-
created_by: architect-review
|
|
9
|
-
completed_at: 2026-01-16T10:30:00Z
|
|
10
|
-
completed_by: architect
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Summary
|
|
14
|
-
Agent configuration is defined in three separate locations with overlapping but inconsistent data, creating maintenance burden and risk of drift.
|
|
15
|
-
|
|
16
|
-
## Current State
|
|
17
|
-
Agent definitions exist in:
|
|
18
|
-
|
|
19
|
-
1. **config/agents.json** - JSON format with name, icon, role, aliases, type, personality_file, tab_color
|
|
20
|
-
2. **config/agent-manifest.yaml** - YAML format with much richer data (principles, communication_style, task_types, terminal_tab, description, source)
|
|
21
|
-
3. **bin/lib/constants.sh** - Bash fallback arrays (VALID_AGENTS, AGENT_ALIASES, AGENT_DISPLAY_NAMES, AGENT_ROLES, AGENT_PERSONALITY_FILES, AGENT_ICONS, AGENT_TAB_COLORS)
|
|
22
|
-
|
|
23
|
-
Problems:
|
|
24
|
-
- `agent-manifest.yaml` has "forge-master" vs `agents.json` has "hub" naming
|
|
25
|
-
- `agent-manifest.yaml` has extra agents (sage, oracle, quartermaster) not in `agents.json`
|
|
26
|
-
- Rich data in manifest (principles, communication_style) is not being used
|
|
27
|
-
- Bash fallbacks duplicate JSON, risking drift
|
|
28
|
-
|
|
29
|
-
## Proposed State
|
|
30
|
-
Single source of truth with clear hierarchy:
|
|
31
|
-
|
|
32
|
-
1. **config/agents.json** - Primary machine-readable configuration
|
|
33
|
-
- All agent data consolidated here
|
|
34
|
-
- Used by bash scripts via `load_agents_from_json()`
|
|
35
|
-
- Used by Node.js scripts directly
|
|
36
|
-
|
|
37
|
-
2. **config/agent-manifest.yaml** - DEPRECATED or converted
|
|
38
|
-
- Either delete (migrate data to agents.json)
|
|
39
|
-
- Or keep as human documentation only, clearly marked as non-normative
|
|
40
|
-
|
|
41
|
-
3. **bin/lib/constants.sh** - Minimal fallback
|
|
42
|
-
- Keep only as emergency fallback for environments without Node.js
|
|
43
|
-
- Auto-generate from agents.json during release process
|
|
44
|
-
- Or remove entirely if Node.js is a hard requirement
|
|
45
|
-
|
|
46
|
-
## Affected Files
|
|
47
|
-
- G:\dev\vibe-forge\config\agents.json
|
|
48
|
-
- G:\dev\vibe-forge\config\agent-manifest.yaml
|
|
49
|
-
- G:\dev\vibe-forge\bin\lib\constants.sh
|
|
50
|
-
- G:\dev\vibe-forge\bin\lib\config.sh (load_agents_from_json)
|
|
51
|
-
|
|
52
|
-
## Migration/Remediation Steps
|
|
53
|
-
1. Decide which extra agents to include (sage, oracle, quartermaster, or delete)
|
|
54
|
-
2. Add missing fields from agent-manifest.yaml to agents.json (principles, communication_style, etc.)
|
|
55
|
-
3. Either delete agent-manifest.yaml or add clear header marking it as documentation-only
|
|
56
|
-
4. Evaluate whether bash fallback in constants.sh is needed
|
|
57
|
-
5. If keeping fallback, create build script to auto-generate from agents.json
|
|
58
|
-
6. Update tests to verify single source of truth
|
|
59
|
-
|
|
60
|
-
## Acceptance Criteria
|
|
61
|
-
- [x] Single authoritative agent configuration source
|
|
62
|
-
- [x] No duplicate agent definitions across files
|
|
63
|
-
- [x] Clear documentation on which file is source of truth
|
|
64
|
-
- [x] Existing functionality unchanged
|
|
65
|
-
- [x] All tests passing
|
|
66
|
-
|
|
67
|
-
## Resolution
|
|
68
|
-
|
|
69
|
-
### Decision Made
|
|
70
|
-
Established `config/agents.json` as the SINGLE SOURCE OF TRUTH for agent configuration. The other files serve specific purposes:
|
|
71
|
-
|
|
72
|
-
- **agents.json**: Primary, authoritative configuration (used by code)
|
|
73
|
-
- **agent-manifest.yaml**: Non-normative documentation with rich personality info
|
|
74
|
-
- **constants.sh**: Fallback defaults for environments without Node.js
|
|
75
|
-
|
|
76
|
-
### Changes Implemented
|
|
77
|
-
|
|
78
|
-
1. **Enhanced agents.json (v1.1.0)**
|
|
79
|
-
- Added `_comment` field documenting it as source of truth
|
|
80
|
-
- Added `version` field for tracking schema changes
|
|
81
|
-
- Added fields from manifest: `persistent`, `terminal_tab`, `description`, `task_types`
|
|
82
|
-
- Standardized on "hub" as canonical name (with "forge-master" alias)
|
|
83
|
-
- Changed hub icon from fire to forge hammer to match orchestrator role
|
|
84
|
-
- Added `architect` agent (consolidating sage/oracle/quartermaster functionality)
|
|
85
|
-
|
|
86
|
-
2. **Updated agent-manifest.yaml**
|
|
87
|
-
- Added prominent header marking file as DOCUMENTATION ONLY / NON-NORMATIVE
|
|
88
|
-
- Added `_status: documentation-only` field
|
|
89
|
-
- Preserved rich personality data as reference for personality file authors
|
|
90
|
-
|
|
91
|
-
3. **Updated constants.sh**
|
|
92
|
-
- Added `architect` agent to all arrays
|
|
93
|
-
- Added sync date comments to remind maintainers to check agents.json
|
|
94
|
-
- Reordered arrays to match agents.json ordering (hub first as core)
|
|
95
|
-
- Updated hub icon to forge hammer
|
|
96
|
-
|
|
97
|
-
4. **Created architect agent**
|
|
98
|
-
- New directory: `agents/architect/`
|
|
99
|
-
- New personality file: `agents/architect/personality.md`
|
|
100
|
-
- Consolidates system architect role (similar to sage from manifest)
|
|
101
|
-
|
|
102
|
-
5. **Updated README.md**
|
|
103
|
-
- Added Architect to specialists list
|
|
104
|
-
- Updated project structure to show agents.json as roster source
|
|
105
|
-
|
|
106
|
-
### Files Modified
|
|
107
|
-
- `config/agents.json` - Enhanced with new fields, architect agent, version
|
|
108
|
-
- `config/agent-manifest.yaml` - Added documentation-only header
|
|
109
|
-
- `bin/lib/constants.sh` - Added architect, sync date comments
|
|
110
|
-
- `README.md` - Updated structure and agent list
|
|
111
|
-
- `agents/architect/personality.md` - Created
|
|
112
|
-
|
|
113
|
-
### Tests
|
|
114
|
-
All 80 tests passing:
|
|
115
|
-
- 4 test suites (cli, constants, config, agents)
|
|
116
|
-
- No regressions
|
|
117
|
-
|
|
118
|
-
### Future Considerations
|
|
119
|
-
- Consider auto-generating constants.sh from agents.json in build process
|
|
120
|
-
- Consider a validation script to check sync between files
|
|
121
|
-
- Rich personality data (principles, communication_style) kept in manifest for now - could be moved to personality files
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ARCH-002
|
|
3
|
-
title: "Standardize on single implementation language"
|
|
4
|
-
type: architecture
|
|
5
|
-
priority: medium
|
|
6
|
-
assigned_to: architect
|
|
7
|
-
created_at: 2026-01-15T17:00:00Z
|
|
8
|
-
created_by: architect-review
|
|
9
|
-
completed_at: 2026-01-16T11:00:00Z
|
|
10
|
-
completed_by: architect
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Summary
|
|
14
|
-
The codebase uses a mix of Bash and Node.js for similar functionality, increasing maintenance burden and complexity. Since Node.js is already a requirement (Node 16+), consider standardizing on Node.js.
|
|
15
|
-
|
|
16
|
-
## Current State (Reassessed)
|
|
17
|
-
Implementation split:
|
|
18
|
-
|
|
19
|
-
**Bash (bin/*.sh, bin/lib/*.sh):**
|
|
20
|
-
- forge.sh - Main entry point
|
|
21
|
-
- forge-setup.sh - Setup/init
|
|
22
|
-
- forge-spawn.sh - Terminal spawning
|
|
23
|
-
- forge-daemon.sh - Background daemon
|
|
24
|
-
- lib/colors.sh - Color output
|
|
25
|
-
- lib/constants.sh - Constants
|
|
26
|
-
- lib/config.sh - Configuration loading
|
|
27
|
-
- lib/agents.sh - Agent resolution
|
|
28
|
-
- lib/database.sh - SQLite operations
|
|
29
|
-
- lib/json.sh - JSON utilities (Node.js-based)
|
|
30
|
-
- lib/util.sh - Utility functions
|
|
31
|
-
|
|
32
|
-
**Node.js (bin/*.js, bin/lib/*.js):**
|
|
33
|
-
- cli.js - npx entry point
|
|
34
|
-
- terminal.js - Cross-platform terminal detection
|
|
35
|
-
|
|
36
|
-
**Bash calling Node.js:**
|
|
37
|
-
- config.sh uses Node.js for JSON parsing
|
|
38
|
-
- json.sh provides unified JSON operations via Node.js
|
|
39
|
-
- All jq usage has been removed
|
|
40
|
-
|
|
41
|
-
## Analysis Findings
|
|
42
|
-
|
|
43
|
-
**Good news:** The task description was outdated. The codebase has already:
|
|
44
|
-
1. Removed all jq dependencies
|
|
45
|
-
2. Unified JSON handling via `bin/lib/json.sh` using Node.js
|
|
46
|
-
3. Established clear separation of concerns
|
|
47
|
-
|
|
48
|
-
**Current architecture is intentional:**
|
|
49
|
-
- Bash for orchestration (process management, file watching, terminal control)
|
|
50
|
-
- Node.js for cross-platform utilities (terminal detection, JSON parsing)
|
|
51
|
-
- This hybrid approach is appropriate for a shell orchestration tool
|
|
52
|
-
|
|
53
|
-
## Decision: Option B - Document and Maintain Hybrid
|
|
54
|
-
|
|
55
|
-
After analysis, Option B (keep hybrid, document clearly) is the better choice because:
|
|
56
|
-
|
|
57
|
-
1. **Bash is appropriate for shell orchestration** - Vibe Forge manages terminals and processes, which are inherently shell operations
|
|
58
|
-
2. **Full migration is high risk/effort** - Would require rewriting ~70KB of tested Bash code
|
|
59
|
-
3. **Current split is clean** - Clear boundaries between Bash (orchestration) and Node.js (cross-platform utilities)
|
|
60
|
-
4. **jq dependency already removed** - The main inconsistency (JSON handling) is already resolved
|
|
61
|
-
|
|
62
|
-
## Changes Implemented
|
|
63
|
-
|
|
64
|
-
1. **Created docs/architecture.md** - Comprehensive documentation of:
|
|
65
|
-
- Language strategy and rationale
|
|
66
|
-
- Directory structure
|
|
67
|
-
- Data flow diagram
|
|
68
|
-
- JSON handling patterns
|
|
69
|
-
- Future migration considerations
|
|
70
|
-
|
|
71
|
-
2. **Verified jq removal** - Confirmed all JSON operations use json.sh/Node.js
|
|
72
|
-
|
|
73
|
-
## Acceptance Criteria
|
|
74
|
-
- [x] Decision documented on language strategy - See docs/architecture.md
|
|
75
|
-
- [x] Consistent JSON parsing approach - All uses json.sh (Node.js-based)
|
|
76
|
-
- [x] Windows compatibility maintained - Git Bash + forge.cmd wrapper
|
|
77
|
-
- [x] All tests passing - 80 tests pass
|
|
78
|
-
- [N/A] If migrating: at least one component fully migrated - Decided not to migrate
|
|
79
|
-
|
|
80
|
-
## Files Modified
|
|
81
|
-
- `docs/architecture.md` - Created (new architectural documentation)
|
|
82
|
-
|
|
83
|
-
## Future Work (Out of Scope)
|
|
84
|
-
If full Node.js migration is desired later:
|
|
85
|
-
1. Create `src/` directory structure
|
|
86
|
-
2. Migrate incrementally: config -> agents -> database -> daemon -> CLI
|
|
87
|
-
3. Keep Bash wrappers during transition
|
|
88
|
-
4. See migration path in docs/architecture.md
|