vibe-forge 0.3.12 → 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.
Files changed (85) hide show
  1. package/.claude/commands/clear-attention.md +63 -63
  2. package/.claude/commands/compact-context.md +52 -0
  3. package/.claude/commands/configure-vcs.md +102 -0
  4. package/.claude/commands/forge.md +218 -171
  5. package/.claude/commands/need-help.md +77 -77
  6. package/.claude/commands/update-status.md +64 -64
  7. package/.claude/commands/worker-loop.md +106 -106
  8. package/.claude/hooks/worker-loop.js +217 -0
  9. package/.claude/scripts/setup-worker-loop.sh +45 -45
  10. package/.claude/settings.json +89 -0
  11. package/LICENSE +21 -21
  12. package/README.md +253 -230
  13. package/agents/aegis/personality.md +303 -269
  14. package/agents/anvil/personality.md +278 -211
  15. package/agents/architect/personality.md +260 -0
  16. package/agents/crucible/personality.md +362 -285
  17. package/agents/crucible-x/personality.md +210 -0
  18. package/agents/ember/personality.md +293 -245
  19. package/agents/flux/personality.md +248 -0
  20. package/agents/furnace/personality.md +342 -262
  21. package/agents/herald/personality.md +249 -247
  22. package/agents/loki/personality.md +108 -0
  23. package/agents/oracle/personality.md +284 -0
  24. package/agents/pixel/personality.md +140 -0
  25. package/agents/planning-hub/personality.md +473 -251
  26. package/agents/scribe/personality.md +253 -231
  27. package/agents/slag/personality.md +268 -0
  28. package/agents/temper/personality.md +270 -0
  29. package/bin/cli.js +372 -325
  30. package/bin/dashboard/api/agents.js +333 -0
  31. package/bin/dashboard/api/dispatch.js +507 -0
  32. package/bin/dashboard/api/tasks.js +416 -0
  33. package/bin/dashboard/public/assets/index-BpHfsx1r.js +2 -0
  34. package/bin/dashboard/public/assets/index-QODv4Zn9.css +1 -0
  35. package/bin/dashboard/public/index.html +14 -0
  36. package/bin/dashboard/server.js +645 -0
  37. package/bin/forge-daemon.sh +477 -775
  38. package/bin/forge-setup.sh +661 -532
  39. package/bin/forge-spawn.sh +164 -159
  40. package/bin/forge.cmd +83 -83
  41. package/bin/forge.sh +566 -393
  42. package/bin/lib/agents.sh +177 -177
  43. package/bin/lib/check-aliases.js +50 -0
  44. package/bin/lib/colors.sh +44 -44
  45. package/bin/lib/config.sh +347 -271
  46. package/bin/lib/constants.sh +241 -171
  47. package/bin/lib/daemon/budgets.sh +107 -0
  48. package/bin/lib/daemon/dependencies.sh +146 -0
  49. package/bin/lib/daemon/display.sh +128 -0
  50. package/bin/lib/daemon/notifications.sh +273 -0
  51. package/bin/lib/daemon/routing.sh +93 -0
  52. package/bin/lib/daemon/state.sh +163 -0
  53. package/bin/lib/daemon/sync.sh +103 -0
  54. package/bin/lib/database.sh +357 -224
  55. package/bin/lib/frontmatter.js +106 -0
  56. package/bin/lib/heimdall-setup.js +113 -0
  57. package/bin/lib/heimdall.js +265 -0
  58. package/bin/lib/json.sh +264 -0
  59. package/bin/lib/terminal.js +452 -0
  60. package/bin/lib/util.sh +126 -0
  61. package/bin/lib/vcs.js +349 -0
  62. package/config/agent-manifest.yaml +237 -230
  63. package/config/agents.json +207 -85
  64. package/config/task-template.md +159 -87
  65. package/config/task-types.yaml +111 -106
  66. package/config/templates/handoff-template.md +40 -0
  67. package/context/agent-overrides/README.md +41 -0
  68. package/context/architecture.md +42 -0
  69. package/context/modern-conventions.md +129 -129
  70. package/context/project-context-template.md +122 -122
  71. package/docs/agents.md +473 -0
  72. package/docs/architecture.md +194 -0
  73. package/docs/commands.md +451 -0
  74. package/docs/security.md +195 -144
  75. package/package.json +77 -48
  76. package/.claude/hooks/worker-loop.sh +0 -141
  77. package/.claude/settings.local.json +0 -29
  78. package/agents/forge-master/capabilities.md +0 -144
  79. package/agents/forge-master/context-template.md +0 -128
  80. package/agents/forge-master/personality.md +0 -138
  81. package/agents/sentinel/personality.md +0 -194
  82. package/context/forge-state.yaml +0 -19
  83. package/docs/TODO.md +0 -176
  84. package/docs/npm-publishing.md +0 -95
  85. package/tasks/review/task-001.md +0 -78
@@ -1,63 +1,63 @@
1
- ---
2
- description: Clear an attention signal after helping a worker
3
- argument-hint: [agent-name | all]
4
- ---
5
-
6
- # Clear Attention Command
7
-
8
- Use this command to clear attention signals after you've helped a blocked worker.
9
-
10
- ## Usage
11
-
12
- ```
13
- /clear-attention anvil # Clear Anvil's attention signal
14
- /clear-attention all # Clear all attention signals
15
- /clear-attention # List current attention signals
16
- ```
17
-
18
- ## Implementation
19
-
20
- Based on `$ARGUMENTS`:
21
-
22
- ### If no argument or empty
23
-
24
- List all current attention signals from `tasks/attention/`:
25
-
26
- ```
27
- 🔔 Current Attention Signals:
28
-
29
- 1. Anvil (5 min ago): Need clarification on auth implementation
30
- 2. Crucible (2 min ago): Tests failing, unsure of expected behavior
31
-
32
- Use /clear-attention <agent> to resolve.
33
- ```
34
-
35
- ### If argument is "all"
36
-
37
- Remove all files from `tasks/attention/` and confirm:
38
-
39
- ```
40
- ✅ Cleared all attention signals (2 resolved)
41
- ```
42
-
43
- ### If argument is an agent name
44
-
45
- 1. Find and remove files matching that agent in `tasks/attention/`
46
- 2. Confirm removal:
47
-
48
- ```
49
- ✅ Cleared attention signal for Anvil
50
- ```
51
-
52
- If no matching signal found:
53
-
54
- ```
55
- No attention signal found for Anvil
56
- ```
57
-
58
- ## Notes
59
-
60
- - Attention files are created by workers using `/need-help`
61
- - The daemon watches this folder and sends notifications
62
- - Clearing signals is a way to acknowledge you've responded
63
- - Workers can also clear their own signals when unblocked
1
+ ---
2
+ description: Clear an attention signal after helping a worker
3
+ argument-hint: [agent-name | all]
4
+ ---
5
+
6
+ # Clear Attention Command
7
+
8
+ Use this command to clear attention signals after you've helped a blocked worker.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /clear-attention anvil # Clear Anvil's attention signal
14
+ /clear-attention all # Clear all attention signals
15
+ /clear-attention # List current attention signals
16
+ ```
17
+
18
+ ## Implementation
19
+
20
+ Based on `$ARGUMENTS`:
21
+
22
+ ### If no argument or empty
23
+
24
+ List all current attention signals from `tasks/attention/`:
25
+
26
+ ```
27
+ 🔔 Current Attention Signals:
28
+
29
+ 1. Anvil (5 min ago): Need clarification on auth implementation
30
+ 2. Crucible (2 min ago): Tests failing, unsure of expected behavior
31
+
32
+ Use /clear-attention <agent> to resolve.
33
+ ```
34
+
35
+ ### If argument is "all"
36
+
37
+ Remove all files from `tasks/attention/` and confirm:
38
+
39
+ ```
40
+ ✅ Cleared all attention signals (2 resolved)
41
+ ```
42
+
43
+ ### If argument is an agent name
44
+
45
+ 1. Find and remove files matching that agent in `tasks/attention/`
46
+ 2. Confirm removal:
47
+
48
+ ```
49
+ ✅ Cleared attention signal for Anvil
50
+ ```
51
+
52
+ If no matching signal found:
53
+
54
+ ```
55
+ No attention signal found for Anvil
56
+ ```
57
+
58
+ ## Notes
59
+
60
+ - Attention files are created by workers using `/need-help`
61
+ - The daemon watches this folder and sends notifications
62
+ - Clearing signals is a way to acknowledge you've responded
63
+ - Workers can also clear their own signals when unblocked
@@ -0,0 +1,52 @@
1
+ # Compact Context
2
+
3
+ Compress the current conversation to free up context window space while preserving all essential information.
4
+
5
+ ## When to Use
6
+
7
+ Use this when:
8
+ - You notice response quality degrading (repetitive, forgetting earlier decisions)
9
+ - A task is running long and you want to continue without starting fresh
10
+ - The conversation history is getting unwieldy
11
+ - Before picking up a new task in the same session
12
+
13
+ ## How to Compact
14
+
15
+ Summarize the current conversation into a dense brief using this format:
16
+
17
+ ```
18
+ ## Context Compact — [timestamp]
19
+
20
+ ### Work In Progress
21
+ - Task: [task ID and title]
22
+ - Status: [what's done, what's not]
23
+ - Files touched: [list]
24
+
25
+ ### Key Decisions Made
26
+ - [decision 1 and the reason behind it]
27
+ - [decision 2 and the reason behind it]
28
+
29
+ ### Architecture Constraints Discovered
30
+ - [any patterns, restrictions, or conventions learned from reading code]
31
+
32
+ ### Tests Written
33
+ - [test file: X tests passing]
34
+
35
+ ### Blockers / Open Questions
36
+ - [anything unresolved]
37
+
38
+ ### Next Step
39
+ [Exactly what to do next when work resumes]
40
+ ```
41
+
42
+ After writing the summary, respond with:
43
+
44
+ > Context compacted. Summary above replaces prior conversation history.
45
+ > Ready to continue with: [next step].
46
+
47
+ ## Rules
48
+
49
+ - Never lose acceptance criteria state -- list any unchecked ACs explicitly
50
+ - Never lose test counts -- the DoD requires accurate numbers
51
+ - Keep the summary under 400 words -- longer defeats the purpose
52
+ - If mid-task: the summary IS the handoff. Make it complete enough to resume cold.
@@ -0,0 +1,102 @@
1
+ ---
2
+ description: Configure or re-detect version control system settings
3
+ argument-hint: [detect|set <type>]
4
+ ---
5
+
6
+ # Configure VCS Command
7
+
8
+ Configure or re-detect the version control system for this project. This affects how agents handle branching, PRs, and CI workflows.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /configure-vcs # Interactive configuration
14
+ /configure-vcs detect # Auto-detect from project structure
15
+ /configure-vcs set github # Manually set to GitHub
16
+ /configure-vcs set gitlab # Manually set to GitLab
17
+ /configure-vcs set gitea # Manually set to Gitea (self-hosted)
18
+ /configure-vcs set azure-devops # Manually set to Azure DevOps
19
+ /configure-vcs set bitbucket # Manually set to Bitbucket
20
+ /configure-vcs set git-only # Git without platform
21
+ /configure-vcs set none # No version control
22
+ ```
23
+
24
+ ## Supported Platforms
25
+
26
+ | Type | Platform | PR Command | CI Config |
27
+ |------|----------|------------|-----------|
28
+ | `github` | GitHub | `gh pr create` | `.github/workflows/` |
29
+ | `gitlab` | GitLab | `git push -o merge_request.create` | `.gitlab-ci.yml` |
30
+ | `gitea` | Gitea/Codeberg | `tea pr create` | `.gitea/workflows/` |
31
+ | `azure-devops` | Azure DevOps | `az repos pr create` | `azure-pipelines.yml` |
32
+ | `bitbucket` | Bitbucket | Manual via UI | `bitbucket-pipelines.yml` |
33
+ | `git-only` | Git (no platform) | N/A | N/A |
34
+ | `none` | No VCS | N/A | N/A |
35
+
36
+ ## Implementation
37
+
38
+ Based on `$ARGUMENTS`:
39
+
40
+ ### If no arguments (interactive mode):
41
+
42
+ 1. Run detection: `node bin/lib/vcs.js detect`
43
+ 2. Show current setting and detected type
44
+ 3. Ask user to confirm or change
45
+ 4. Run `node bin/lib/vcs.js init <type>` to create folders
46
+ 5. Report configuration saved
47
+
48
+ ### If `detect`:
49
+
50
+ 1. Run: `node bin/lib/vcs.js detect`
51
+ 2. Display detected type and confidence
52
+ 3. If confident detection, ask to apply
53
+ 4. Run `node bin/lib/vcs.js set <type>` to save
54
+
55
+ ### If `set <type>`:
56
+
57
+ 1. Validate type is one of: github, gitlab, azure-devops, bitbucket, git-only, none
58
+ 2. Run: `node bin/lib/vcs.js init <type>`
59
+ 3. Report folders created (if any)
60
+ 4. Confirm configuration saved
61
+
62
+ ## Detection Logic
63
+
64
+ The VCS detector checks (in order of priority):
65
+
66
+ 1. **Platform folders**: `.github/`, `.gitlab/`, `.gitea/`, `.azure/`
67
+ 2. **CI config files**: `.gitlab-ci.yml`, `azure-pipelines.yml`, `bitbucket-pipelines.yml`
68
+ 3. **Git remote URL**: Parses `.git/config` for github.com, gitlab.com, gitea, codeberg.org, etc.
69
+ 4. **Fallback**: `git-only` if `.git/` exists, `none` otherwise
70
+
71
+ ## Impact on Agents
72
+
73
+ When VCS is configured, agents will:
74
+
75
+ - **github**: Use `gh pr create`, reference GitHub Actions
76
+ - **gitlab**: Use merge request workflow, reference GitLab CI
77
+ - **azure-devops**: Use `az repos pr create`, reference Azure Pipelines
78
+ - **bitbucket**: Provide manual PR instructions, reference Bitbucket Pipelines
79
+ - **git-only**: Use branch workflow without PR commands
80
+ - **none**: Skip all git-related instructions
81
+
82
+ ## Configuration File
83
+
84
+ VCS config is stored in `.forge/config.json`:
85
+
86
+ ```json
87
+ {
88
+ "vcs": {
89
+ "type": "github",
90
+ "name": "GitHub",
91
+ "autoDetected": false,
92
+ "lastUpdated": "2026-01-16T12:00:00Z"
93
+ }
94
+ }
95
+ ```
96
+
97
+ ## When to Use
98
+
99
+ - **Initial setup**: Automatically run during `forge init`
100
+ - **Adding git later**: Run `/configure-vcs detect` after `git init`
101
+ - **Switching platforms**: Run `/configure-vcs set <type>` when migrating
102
+ - **Troubleshooting**: Run `/configure-vcs` if agents give wrong git instructions
@@ -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
- 🔥 Forge Master - 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
-
48
- Ready to plan, review, or coordinate.
49
- Use /forge status to check current tasks.
50
-
51
- What's on the anvil today?
52
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
53
- ```
54
-
55
- Do NOT automatically scan task folders - wait for user to ask or use `/forge status`.
56
-
57
- ---
58
-
59
- ### If `$1` is "status" → Show Status Dashboard
60
-
61
- Display a formatted status dashboard.
62
-
63
- #### Forge State
64
-
65
- @_vibe-forge/context/forge-state.yaml
66
-
67
- #### Task Counts
68
-
69
- Use the Glob tool to count .md files in each task folder:
70
-
71
- - `_vibe-forge/tasks/pending/*.md` - Pending
72
- - `_vibe-forge/tasks/in-progress/*.md` - In Progress
73
- - `_vibe-forge/tasks/completed/*.md` - Completed
74
- - `_vibe-forge/tasks/review/*.md` - In Review
75
- - `_vibe-forge/tasks/needs-changes/*.md` - Needs Changes
76
- - `_vibe-forge/tasks/approved/*.md` - Approved
77
-
78
- Format output like:
79
-
80
- ```text
81
- 🔥 VIBE FORGE - Status Dashboard
82
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
83
- [Task counts and state summary]
84
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
85
- ```
86
-
87
- ---
88
-
89
- ### If `$1` is "spawn" → Spawn Worker Agent
90
-
91
- **Agent requested:** `$2`
92
-
93
- Available agents (with aliases):
94
-
95
- | Agent | Aliases | Role |
96
- | -------- | -------------------- | ----------------- |
97
- | anvil | frontend, ui, fe | Frontend Developer |
98
- | furnace | backend, api, be | Backend Developer |
99
- | crucible | test, testing, qa | Tester / QA |
100
- | sentinel | review, reviewer, cr | Code Reviewer |
101
- | scribe | docs, documentation | Documentation |
102
- | herald | release, deploy | Release Manager |
103
- | ember | devops, ops, infra | DevOps |
104
- | aegis | security, sec, appsec | Security |
105
-
106
- If `$2` is empty, show the table above and ask which agent to spawn.
107
-
108
- If `$2` is provided, run:
109
-
110
- ```bash
111
- ./_vibe-forge/bin/forge-spawn.sh $2
112
- ```
113
-
114
- Confirm the spawn. If an alias was used (e.g., "frontend"), mention the resolved name: "Spawning **Anvil** (frontend)..."
115
-
116
- ---
117
-
118
- ### If `$1` is "task" → Create Task
119
-
120
- **Task description:** `$2` `$3` `$4` (remaining arguments)
121
-
122
- #### Task Template
123
-
124
- @_vibe-forge/config/task-template.md
125
-
126
- #### Existing Tasks
127
-
128
- Use the Glob tool to list files in `_vibe-forge/tasks/pending/*.md`
129
-
130
- If no description provided, ask:
131
-
132
- - What needs to be done?
133
- - Which agent? (anvil, furnace, crucible, sentinel, scribe, herald, ember, aegis)
134
- - Priority? (high, medium, low)
135
-
136
- Generate task ID as `task-XXX` (next sequential number), create file at `_vibe-forge/tasks/pending/task-XXX.md`.
137
-
138
- ---
139
-
140
- ### If `$1` is "help" Show Help
141
-
142
- Display:
143
-
144
- ```text
145
- 🔥 VIBE FORGE - Commands
146
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
147
-
148
- /forge Start the Planning Hub (default)
149
- /forge status Show status dashboard
150
- /forge spawn <agent> Spawn worker in new terminal
151
- /forge task [desc] Create a new task
152
- /forge help Show this help
153
-
154
- Agents (with aliases):
155
- anvil (frontend, ui, fe) - Frontend Developer
156
- furnace (backend, api, be) - Backend Developer
157
- crucible (test, testing, qa) - Tester / QA
158
- sentinel (review, reviewer, cr) - Code Reviewer
159
- scribe (docs, documentation) - Documentation
160
- herald (release, deploy) - Release Manager
161
- ember (devops, ops, infra) - DevOps
162
- aegis (security, sec, appsec) - Security
163
-
164
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
165
- ```
166
-
167
- ---
168
-
169
- ### Otherwise Unknown Command
170
-
171
- Tell the user: "Unknown command: $1. Run `/forge help` for available commands."
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."