vibe-forge 0.8.1 → 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/configure-vcs.md +102 -102
- package/.claude/commands/forge.md +218 -218
- package/.claude/hooks/worker-loop.js +220 -217
- package/.claude/settings.json +89 -89
- package/README.md +149 -191
- package/agents/aegis/personality.md +303 -303
- package/agents/anvil/personality.md +278 -278
- package/agents/architect/personality.md +260 -260
- package/agents/crucible/personality.md +362 -362
- package/agents/crucible-x/personality.md +210 -210
- package/agents/ember/personality.md +293 -293
- package/agents/flux/personality.md +248 -248
- package/agents/furnace/personality.md +342 -342
- package/agents/herald/personality.md +249 -249
- package/agents/oracle/personality.md +284 -284
- package/agents/pixel/personality.md +140 -140
- package/agents/planning-hub/personality.md +473 -473
- package/agents/scribe/personality.md +253 -253
- package/agents/slag/personality.md +268 -268
- package/agents/temper/personality.md +270 -270
- package/bin/cli.js +372 -372
- package/bin/forge-daemon.sh +477 -477
- package/bin/forge-setup.sh +662 -661
- package/bin/forge-spawn.sh +164 -164
- package/bin/forge.sh +566 -566
- package/docs/commands.md +8 -8
- package/package.json +77 -77
- package/{bin → src}/lib/agents.sh +177 -177
- package/{bin → src}/lib/check-aliases.js +50 -50
- package/{bin → src}/lib/colors.sh +45 -44
- package/{bin → src}/lib/config.sh +347 -347
- package/{bin → src}/lib/constants.sh +241 -241
- package/{bin → src}/lib/daemon/budgets.sh +107 -107
- package/{bin → src}/lib/daemon/dependencies.sh +146 -146
- package/{bin → src}/lib/daemon/display.sh +128 -128
- package/{bin → src}/lib/daemon/notifications.sh +273 -273
- package/{bin → src}/lib/daemon/routing.sh +93 -93
- package/{bin → src}/lib/daemon/state.sh +163 -163
- package/{bin → src}/lib/daemon/sync.sh +103 -103
- package/{bin → src}/lib/database.sh +357 -357
- package/{bin → src}/lib/frontmatter.js +106 -106
- package/{bin → src}/lib/heimdall-setup.js +113 -113
- package/{bin → src}/lib/heimdall.js +265 -265
- package/src/lib/index.sh +25 -0
- package/{bin → src}/lib/json.sh +264 -264
- package/{bin → src}/lib/terminal.js +452 -452
- package/{bin → src}/lib/util.sh +126 -126
- package/{bin → src}/lib/vcs.js +349 -349
- package/{context → templates}/project-context-template.md +122 -122
- package/config/task-template.md +0 -159
- package/config/templates/handoff-template.md +0 -40
package/README.md
CHANGED
|
@@ -1,252 +1,210 @@
|
|
|
1
|
-
# Vibe Forge
|
|
1
|
+
# Vibe Forge
|
|
2
2
|
|
|
3
3
|
A multi-agent development orchestration system for terminal-native vibe coding.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What Is This?
|
|
6
6
|
|
|
7
|
-
Vibe Forge transforms your terminal into a collaborative AI development environment. Multiple Claude agents
|
|
7
|
+
Vibe Forge transforms your terminal into a collaborative AI development environment. Multiple Claude agents, each with distinct personalities and specializations, work together to build software. You talk to a Planning Hub that coordinates the team, then spawn workers into separate terminal tabs to execute in parallel.
|
|
8
8
|
|
|
9
9
|
```
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
│ 🔨 │ │ 🔥 │ │ 🧪 │ │ 🛡️ │
|
|
28
|
-
│Frontend │ │ Backend │ │ Testing │ │ Review │
|
|
29
|
-
└─────────┘ └─────────┘ └─────────┘ └─────────┘
|
|
10
|
+
YOU
|
|
11
|
+
|
|
|
12
|
+
/forge plan
|
|
13
|
+
|
|
|
14
|
+
+-----------+-----------+
|
|
15
|
+
| PLANNING HUB |
|
|
16
|
+
| Oracle Architect |
|
|
17
|
+
| Aegis Pixel |
|
|
18
|
+
| Ember Crucible |
|
|
19
|
+
+-----------+-----------+
|
|
20
|
+
|
|
|
21
|
+
/forge spawn <agent>
|
|
22
|
+
|
|
|
23
|
+
+--------+-------+-------+--------+
|
|
24
|
+
| | | | |
|
|
25
|
+
Anvil Furnace Crucible Temper Scribe
|
|
26
|
+
FE BE QA Review Docs
|
|
30
27
|
```
|
|
31
28
|
|
|
32
|
-
##
|
|
29
|
+
## Install
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- **Terminal-native** - Built for Windows Terminal, works with any terminal supporting tabs
|
|
31
|
+
```bash
|
|
32
|
+
npx vibe-forge init
|
|
33
|
+
```
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
This sets up Vibe Forge in your project: detects your platform, configures your terminal, creates project context files, and installs the `/forge` slash command into Claude Code.
|
|
40
36
|
|
|
41
|
-
|
|
37
|
+
**Prerequisites:** [Claude Code CLI](https://claude.ai/download), Node.js 18+, Git
|
|
42
38
|
|
|
43
|
-
|
|
44
|
-
|-------|------|------|
|
|
45
|
-
| Planning Hub | 🔥 | Chief Orchestrator - distributes tasks, tracks progress |
|
|
46
|
-
| Sentinel | 🛡️ | Code Reviewer - quality gates, adversarial review |
|
|
39
|
+
## Quick Start
|
|
47
40
|
|
|
48
|
-
|
|
41
|
+
```bash
|
|
42
|
+
# Start the Planning Hub (multi-expert planning session)
|
|
43
|
+
/forge
|
|
49
44
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
| Anvil | 🔨 | Frontend Dev - components, UI, styling |
|
|
53
|
-
| Furnace | 🔥 | Backend Dev - APIs, database, services |
|
|
54
|
-
| Crucible | 🧪 | Tester/QA - tests, bug hunting |
|
|
55
|
-
| Scribe | 📜 | Documentation - docs, README, API specs |
|
|
56
|
-
| Herald | 📯 | Release Manager - versioning, deployment |
|
|
45
|
+
# Or jump straight to planning a feature
|
|
46
|
+
/forge plan user authentication
|
|
57
47
|
|
|
58
|
-
|
|
48
|
+
# Spawn a worker agent in a new terminal tab
|
|
49
|
+
/forge spawn anvil
|
|
59
50
|
|
|
60
|
-
|
|
51
|
+
# Check what's happening
|
|
52
|
+
/forge status
|
|
61
53
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| Architect | 🏛️ | Technical design & architecture |
|
|
66
|
-
| Aegis | 🔒 | Security & risk |
|
|
67
|
-
| Ember | ⚙️ | DevOps & infrastructure |
|
|
68
|
-
| Pixel | 🎨 | User experience & design |
|
|
69
|
-
| Oracle | 📊 | Requirements & scope |
|
|
70
|
-
| Crucible | 🧪 | Quality & edge cases |
|
|
54
|
+
# See all commands
|
|
55
|
+
/forge help
|
|
56
|
+
```
|
|
71
57
|
|
|
72
|
-
|
|
58
|
+
## Agents
|
|
73
59
|
|
|
74
|
-
|
|
75
|
-
|-------|------|------|
|
|
76
|
-
| Architect | 🏛️ | System Architect |
|
|
77
|
-
| Ember | ⚙️ | DevOps/Infrastructure |
|
|
78
|
-
| Aegis | 🔒 | Security Specialist |
|
|
79
|
-
| Pixel | 🎨 | UX Designer |
|
|
80
|
-
| Oracle | 🔮 | Product Owner / Requirements |
|
|
81
|
-
| Loki | 🎭 | Lateral Thinker, Assumption Challenger |
|
|
60
|
+
### Planning Hub (Your Terminal)
|
|
82
61
|
|
|
83
|
-
|
|
62
|
+
When you run `/forge`, a multi-voice planning session starts. These expert voices collaborate to help you scope, design, and decompose work:
|
|
84
63
|
|
|
85
|
-
|
|
|
86
|
-
|
|
87
|
-
|
|
|
88
|
-
|
|
|
64
|
+
| Voice | Icon | Speaks When |
|
|
65
|
+
|-------|------|-------------|
|
|
66
|
+
| Forge Master | :fire: | Tasks, assignments, workflow, coordination |
|
|
67
|
+
| Architect | :classical_building: | Architecture, patterns, tech decisions |
|
|
68
|
+
| Aegis | :shield: | Auth, security, vulnerabilities |
|
|
69
|
+
| Ember | :gear: | DevOps, CI/CD, deployment |
|
|
70
|
+
| Pixel | :art: | UX, user flows, accessibility |
|
|
71
|
+
| Oracle | :bar_chart: | Requirements, scope, priorities |
|
|
72
|
+
| Crucible | :test_tube: | Edge cases, test strategy, quality |
|
|
73
|
+
| Loki | :performing_arts: | Challenges assumptions, lateral thinking |
|
|
89
74
|
|
|
90
|
-
|
|
75
|
+
### Worker Agents (Separate Terminals)
|
|
91
76
|
|
|
92
|
-
|
|
93
|
-
vibe-forge/
|
|
94
|
-
├── agents/ # Agent definitions
|
|
95
|
-
│ ├── planning-hub/
|
|
96
|
-
│ │ ├── personality.md # Identity, voice, principles
|
|
97
|
-
│ │ ├── capabilities.md # Commands, tools, decisions
|
|
98
|
-
│ │ └── context-template.md # Session startup context
|
|
99
|
-
│ ├── sentinel/
|
|
100
|
-
│ ├── anvil/
|
|
101
|
-
│ ├── furnace/
|
|
102
|
-
│ ├── crucible/
|
|
103
|
-
│ └── ...
|
|
104
|
-
├── tasks/ # Task lifecycle folders
|
|
105
|
-
│ ├── pending/ # New tasks waiting for pickup
|
|
106
|
-
│ ├── in-progress/ # Currently being worked on
|
|
107
|
-
│ ├── completed/ # Done, ready for review
|
|
108
|
-
│ ├── review/ # Under Sentinel review
|
|
109
|
-
│ ├── approved/ # Passed review
|
|
110
|
-
│ ├── needs-changes/ # Review feedback to address
|
|
111
|
-
│ └── merged/ # Archive
|
|
112
|
-
├── specs/ # Planning documents
|
|
113
|
-
│ ├── epics/
|
|
114
|
-
│ └── stories/
|
|
115
|
-
├── context/ # Shared context files
|
|
116
|
-
│ ├── project-context.md # Tech stack, patterns, rules
|
|
117
|
-
│ └── forge-state.yaml # Current forge status
|
|
118
|
-
└── config/ # Configuration
|
|
119
|
-
├── agents.json # Agent roster (source of truth)
|
|
120
|
-
├── agent-manifest.yaml # Agent documentation (non-normative)
|
|
121
|
-
├── task-template.md # Task file template
|
|
122
|
-
└── task-types.yaml # Task routing rules
|
|
123
|
-
```
|
|
77
|
+
Spawn these into new terminal tabs to execute tasks:
|
|
124
78
|
|
|
125
|
-
|
|
79
|
+
| Agent | Aliases | Role |
|
|
80
|
+
|-------|---------|------|
|
|
81
|
+
| anvil | frontend, ui, fe | Frontend Developer |
|
|
82
|
+
| furnace | backend, api, be | Backend Developer |
|
|
83
|
+
| crucible | test, qa | Tester / QA |
|
|
84
|
+
| scribe | docs, documentation | Documentation |
|
|
85
|
+
| herald | release, deploy | Release Manager |
|
|
86
|
+
| ember | devops, infra | DevOps Engineer |
|
|
126
87
|
|
|
127
|
-
|
|
128
|
-
┌─────────┐ ┌─────────────┐ ┌───────────┐ ┌────────┐
|
|
129
|
-
│ pending │ -> │ in-progress │ -> │ completed │ -> │ review │
|
|
130
|
-
└─────────┘ └─────────────┘ └───────────┘ └────────┘
|
|
131
|
-
│
|
|
132
|
-
┌──────────────┐ │
|
|
133
|
-
│ needs-changes│ <────────────────┤
|
|
134
|
-
└──────────────┘ │
|
|
135
|
-
│ │
|
|
136
|
-
▼ ▼
|
|
137
|
-
┌─────────────┐ ┌──────────┐
|
|
138
|
-
│ in-progress │ │ approved │
|
|
139
|
-
└─────────────┘ └──────────┘
|
|
140
|
-
│
|
|
141
|
-
▼
|
|
142
|
-
┌─────────┐
|
|
143
|
-
│ merged │
|
|
144
|
-
└─────────┘
|
|
145
|
-
```
|
|
88
|
+
### Review Agents
|
|
146
89
|
|
|
147
|
-
|
|
90
|
+
| Agent | Aliases | Role |
|
|
91
|
+
|-------|---------|------|
|
|
92
|
+
| temper | review, cr | Code Reviewer (compliance + correctness) |
|
|
93
|
+
| crucible-x | adversarial, cx | Adversarial Reviewer (tries to break it) |
|
|
148
94
|
|
|
149
|
-
###
|
|
95
|
+
### Specialists
|
|
150
96
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
97
|
+
| Agent | Aliases | Role |
|
|
98
|
+
|-------|---------|------|
|
|
99
|
+
| architect | arch, sage | System Architect |
|
|
100
|
+
| aegis | security, sec | Security Specialist |
|
|
101
|
+
| pixel | ux, ui-design | UX Designer |
|
|
102
|
+
| oracle | product, po | Product Owner |
|
|
103
|
+
| loki | brainstorm, contrarian | Assumption Challenger |
|
|
155
104
|
|
|
156
|
-
###
|
|
105
|
+
### Red Team
|
|
157
106
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
107
|
+
| Agent | Aliases | Role |
|
|
108
|
+
|-------|---------|------|
|
|
109
|
+
| slag | redteam, pentest | Red Team Lead |
|
|
110
|
+
| flux | infra-sec, chaos | Infrastructure Security |
|
|
162
111
|
|
|
163
|
-
|
|
112
|
+
## How It Works
|
|
164
113
|
|
|
165
|
-
|
|
166
|
-
2. Detect your platform and terminal
|
|
167
|
-
3. Set up the daemon and configuration
|
|
168
|
-
4. Create a project context file
|
|
114
|
+
### Planning Mode
|
|
169
115
|
|
|
170
|
-
|
|
116
|
+
When you describe a goal, the Hub enters a 4-phase planning flow:
|
|
171
117
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
118
|
+
1. **Discovery** - Oracle asks clarifying questions about users, goals, constraints
|
|
119
|
+
2. **Decomposition** - Architect breaks the goal into epics with success metrics
|
|
120
|
+
3. **Tasking** - Forge Master creates stories and tasks, assigns to agents
|
|
121
|
+
4. **Commit** - Epic and task files written to disk, ready for workers
|
|
176
122
|
|
|
177
|
-
###
|
|
123
|
+
### Task System
|
|
178
124
|
|
|
179
|
-
|
|
125
|
+
Tasks flow through folders on disk. No database required.
|
|
180
126
|
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
|
|
127
|
+
```
|
|
128
|
+
pending/ -> in-progress/ -> completed/ -> review/ -> approved/ -> merged/
|
|
129
|
+
|
|
|
130
|
+
needs-changes/ (back to worker)
|
|
131
|
+
```
|
|
184
132
|
|
|
185
|
-
|
|
186
|
-
cd _vibe-forge
|
|
187
|
-
./bin/forge-setup.sh
|
|
133
|
+
Workers pick up tasks from `pending/` on startup. Temper reviews completed work. The daemon routes tasks automatically.
|
|
188
134
|
|
|
189
|
-
|
|
190
|
-
./bin/forge.sh
|
|
191
|
-
```
|
|
135
|
+
### Daemon
|
|
192
136
|
|
|
193
|
-
|
|
137
|
+
An optional background daemon monitors the forge:
|
|
194
138
|
|
|
195
139
|
```bash
|
|
196
|
-
|
|
140
|
+
./bin/forge.sh daemon start # Start background monitoring
|
|
141
|
+
./bin/forge.sh daemon status # Check what's happening
|
|
142
|
+
./bin/forge.sh daemon stop # Stop the daemon
|
|
197
143
|
```
|
|
198
144
|
|
|
199
|
-
|
|
145
|
+
The daemon provides:
|
|
146
|
+
- Task routing between folders
|
|
147
|
+
- Agent status tracking
|
|
148
|
+
- Token budget warnings for long-running agents
|
|
149
|
+
- Dependency resolution (respects `blocked_by` in task files)
|
|
150
|
+
- Attention notifications when agents need help
|
|
200
151
|
|
|
201
|
-
|
|
152
|
+
### Dashboard
|
|
202
153
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
/forge redteam [scope] - Launch red team engagement
|
|
209
|
-
/forge help - Show available commands
|
|
210
|
-
```
|
|
154
|
+
A web dashboard at `http://localhost:2800` shows:
|
|
155
|
+
- Task counts and status
|
|
156
|
+
- Agent activity feed
|
|
157
|
+
- Issue detection
|
|
158
|
+
- Real-time updates via WebSocket
|
|
211
159
|
|
|
212
|
-
|
|
160
|
+
### Per-Project Customization
|
|
213
161
|
|
|
214
|
-
|
|
215
|
-
|-------|---------|------|
|
|
216
|
-
| anvil | frontend, ui, fe | Frontend Developer |
|
|
217
|
-
| furnace | backend, api, be | Backend Developer |
|
|
218
|
-
| crucible | test, testing, qa | Tester / QA |
|
|
219
|
-
| sentinel | review, reviewer, cr | Code Reviewer |
|
|
220
|
-
| scribe | docs, documentation | Documentation |
|
|
221
|
-
| herald | release, deploy | Release Manager |
|
|
222
|
-
| ember | devops, ops, infra | DevOps |
|
|
223
|
-
| aegis | security, sec, appsec | Security |
|
|
224
|
-
| slag | redteam, pentest | Red Team Lead |
|
|
225
|
-
| flux | infra-sec, chaos | Red Team Operator |
|
|
162
|
+
Add agent-specific rules for your project in `context/agent-overrides/`:
|
|
226
163
|
|
|
227
|
-
|
|
164
|
+
```markdown
|
|
165
|
+
<!-- context/agent-overrides/anvil.md -->
|
|
166
|
+
- Use Tailwind CSS, no custom CSS files
|
|
167
|
+
- All components in src/components/ with PascalCase
|
|
168
|
+
- Use shadcn/ui for base components
|
|
169
|
+
```
|
|
228
170
|
|
|
229
|
-
|
|
171
|
+
These rules are injected into the agent's system prompt at spawn time.
|
|
230
172
|
|
|
231
|
-
##
|
|
173
|
+
## Project Structure
|
|
232
174
|
|
|
233
|
-
|
|
175
|
+
```
|
|
176
|
+
your-project/
|
|
177
|
+
_vibe-forge/
|
|
178
|
+
agents/ # Agent personalities (16 agents)
|
|
179
|
+
bin/ # CLI, daemon, dashboard, spawn scripts
|
|
180
|
+
config/ # agents.json, task templates
|
|
181
|
+
context/ # Project context, agent overrides
|
|
182
|
+
specs/ # Epics and stories
|
|
183
|
+
tasks/ # Task lifecycle folders
|
|
184
|
+
docs/ # Security, architecture, agent docs
|
|
185
|
+
```
|
|
234
186
|
|
|
235
|
-
|
|
236
|
-
2. **Task files as truth** - Instructions in files, not repeated in chat
|
|
237
|
-
3. **Reference, don't duplicate** - Point to paths, don't paste contents
|
|
238
|
-
4. **Batch updates** - One status report per cycle, not per task
|
|
239
|
-
5. **Exception-based** - Report problems, not smooth operations
|
|
187
|
+
## Commands Reference
|
|
240
188
|
|
|
241
|
-
|
|
189
|
+
| Command | Description |
|
|
190
|
+
|---------|-------------|
|
|
191
|
+
| `/forge` | Start the Planning Hub |
|
|
192
|
+
| `/forge plan <feature>` | Plan a feature with the full team |
|
|
193
|
+
| `/forge status` | Show status dashboard |
|
|
194
|
+
| `/forge spawn <agent>` | Spawn worker in new terminal |
|
|
195
|
+
| `/forge task [desc]` | Create a new task |
|
|
196
|
+
| `/forge redteam [scope]` | Launch red team engagement |
|
|
197
|
+
| `/forge help` | Show all commands |
|
|
242
198
|
|
|
243
|
-
|
|
199
|
+
## Security
|
|
244
200
|
|
|
245
|
-
Vibe Forge
|
|
201
|
+
Vibe Forge uses a defense-in-depth permission model:
|
|
246
202
|
|
|
247
|
-
|
|
203
|
+
1. **Allowlist** (`.claude/settings.json`) - Pre-approves safe operations
|
|
204
|
+
2. **Heimdall** (pre-tool hook) - Enforces forge policies (branch protection, naming)
|
|
205
|
+
3. **Claude Code prompts** - Anything not allowlisted still requires approval
|
|
248
206
|
|
|
249
|
-
|
|
207
|
+
See [docs/security.md](docs/security.md) for the full security model.
|
|
250
208
|
|
|
251
209
|
## License
|
|
252
210
|
|