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,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.
|
|
@@ -1,102 +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
|
+
---
|
|
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
|