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,122 +1,122 @@
|
|
|
1
|
-
# Project Context
|
|
2
|
-
|
|
3
|
-
**This file is the single source of truth for all Vibe Forge agents.**
|
|
4
|
-
|
|
5
|
-
Every agent loads this file at session start. Update this when architecture or conventions change.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Project Identity
|
|
10
|
-
|
|
11
|
-
- **Name:** {PROJECT_NAME}
|
|
12
|
-
- **Description:** {ONE_LINE_DESCRIPTION}
|
|
13
|
-
- **Repository:** {REPO_URL}
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Tech Stack
|
|
18
|
-
|
|
19
|
-
### Frontend
|
|
20
|
-
- Framework: {React/Vue/Svelte/etc}
|
|
21
|
-
- Styling: {Tailwind/CSS Modules/Styled Components/etc}
|
|
22
|
-
- State: {Redux/Zustand/Context/etc}
|
|
23
|
-
- Build: {Vite/Webpack/etc}
|
|
24
|
-
|
|
25
|
-
### Backend
|
|
26
|
-
- Runtime: {Node/Deno/Bun/etc}
|
|
27
|
-
- Framework: {Express/Fastify/Hono/etc}
|
|
28
|
-
- Database: {PostgreSQL/MongoDB/SQLite/etc}
|
|
29
|
-
- ORM: {Prisma/Drizzle/TypeORM/etc}
|
|
30
|
-
|
|
31
|
-
### Testing
|
|
32
|
-
- Unit: {Vitest/Jest/etc}
|
|
33
|
-
- E2E: {Playwright/Cypress/etc}
|
|
34
|
-
- Coverage target: {80%/etc}
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## File Structure
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
{PROJECT_ROOT}/
|
|
42
|
-
├── src/
|
|
43
|
-
│ ├── components/ # React components (Anvil's domain)
|
|
44
|
-
│ ├── pages/ # Page components
|
|
45
|
-
│ ├── api/ # API routes (Furnace's domain)
|
|
46
|
-
│ ├── services/ # Business logic
|
|
47
|
-
│ ├── models/ # Data models
|
|
48
|
-
│ ├── utils/ # Shared utilities
|
|
49
|
-
│ └── types/ # TypeScript types
|
|
50
|
-
├── tests/ # Test files (Crucible's domain)
|
|
51
|
-
├── docs/ # Documentation (Scribe's domain)
|
|
52
|
-
└── ...
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Coding Standards
|
|
58
|
-
|
|
59
|
-
### Naming
|
|
60
|
-
- Components: PascalCase (`UserProfile.tsx`)
|
|
61
|
-
- Functions: camelCase (`getUserById`)
|
|
62
|
-
- Constants: SCREAMING_SNAKE (`MAX_RETRIES`)
|
|
63
|
-
- Files: kebab-case for non-components (`auth-service.ts`)
|
|
64
|
-
|
|
65
|
-
### Patterns
|
|
66
|
-
- {Pattern 1: e.g., "Use custom hooks for shared logic"}
|
|
67
|
-
- {Pattern 2: e.g., "Services return Result<T, E> types"}
|
|
68
|
-
- {Pattern 3: e.g., "API routes follow REST conventions"}
|
|
69
|
-
|
|
70
|
-
### Forbidden
|
|
71
|
-
- {Anti-pattern 1: e.g., "No any types"}
|
|
72
|
-
- {Anti-pattern 2: e.g., "No console.log in production code"}
|
|
73
|
-
- {Anti-pattern 3: e.g., "No direct DOM manipulation in React"}
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Key Decisions
|
|
78
|
-
|
|
79
|
-
### Architecture
|
|
80
|
-
- {Decision 1: e.g., "Monorepo with Turborepo"}
|
|
81
|
-
- {Decision 2: e.g., "Feature-based folder structure"}
|
|
82
|
-
|
|
83
|
-
### Why We Chose X
|
|
84
|
-
- {Rationale for major tech choice}
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Environment
|
|
89
|
-
|
|
90
|
-
### Local Development
|
|
91
|
-
```bash
|
|
92
|
-
{SETUP_COMMANDS}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Environment Variables
|
|
96
|
-
- `DATABASE_URL` - Database connection string
|
|
97
|
-
- `API_KEY` - External API key
|
|
98
|
-
- {etc}
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## Agent-Specific Notes
|
|
103
|
-
|
|
104
|
-
### Anvil (Frontend)
|
|
105
|
-
- Component library: {Shadcn/Radix/etc}
|
|
106
|
-
- Design system: {Link to Figma/Storybook}
|
|
107
|
-
|
|
108
|
-
### Furnace (Backend)
|
|
109
|
-
- API base path: `/api/v1`
|
|
110
|
-
- Auth method: {JWT/Session/etc}
|
|
111
|
-
|
|
112
|
-
### Crucible (Testing)
|
|
113
|
-
- Run tests: `npm test`
|
|
114
|
-
- Coverage: `npm run test:coverage`
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Links
|
|
119
|
-
|
|
120
|
-
- Design: {Figma URL}
|
|
121
|
-
- API Docs: {Swagger/OpenAPI URL}
|
|
122
|
-
- Deployment: {Vercel/AWS/etc dashboard}
|
|
1
|
+
# Project Context
|
|
2
|
+
|
|
3
|
+
**This file is the single source of truth for all Vibe Forge agents.**
|
|
4
|
+
|
|
5
|
+
Every agent loads this file at session start. Update this when architecture or conventions change.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Project Identity
|
|
10
|
+
|
|
11
|
+
- **Name:** {PROJECT_NAME}
|
|
12
|
+
- **Description:** {ONE_LINE_DESCRIPTION}
|
|
13
|
+
- **Repository:** {REPO_URL}
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Tech Stack
|
|
18
|
+
|
|
19
|
+
### Frontend
|
|
20
|
+
- Framework: {React/Vue/Svelte/etc}
|
|
21
|
+
- Styling: {Tailwind/CSS Modules/Styled Components/etc}
|
|
22
|
+
- State: {Redux/Zustand/Context/etc}
|
|
23
|
+
- Build: {Vite/Webpack/etc}
|
|
24
|
+
|
|
25
|
+
### Backend
|
|
26
|
+
- Runtime: {Node/Deno/Bun/etc}
|
|
27
|
+
- Framework: {Express/Fastify/Hono/etc}
|
|
28
|
+
- Database: {PostgreSQL/MongoDB/SQLite/etc}
|
|
29
|
+
- ORM: {Prisma/Drizzle/TypeORM/etc}
|
|
30
|
+
|
|
31
|
+
### Testing
|
|
32
|
+
- Unit: {Vitest/Jest/etc}
|
|
33
|
+
- E2E: {Playwright/Cypress/etc}
|
|
34
|
+
- Coverage target: {80%/etc}
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## File Structure
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
{PROJECT_ROOT}/
|
|
42
|
+
├── src/
|
|
43
|
+
│ ├── components/ # React components (Anvil's domain)
|
|
44
|
+
│ ├── pages/ # Page components
|
|
45
|
+
│ ├── api/ # API routes (Furnace's domain)
|
|
46
|
+
│ ├── services/ # Business logic
|
|
47
|
+
│ ├── models/ # Data models
|
|
48
|
+
│ ├── utils/ # Shared utilities
|
|
49
|
+
│ └── types/ # TypeScript types
|
|
50
|
+
├── tests/ # Test files (Crucible's domain)
|
|
51
|
+
├── docs/ # Documentation (Scribe's domain)
|
|
52
|
+
└── ...
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Coding Standards
|
|
58
|
+
|
|
59
|
+
### Naming
|
|
60
|
+
- Components: PascalCase (`UserProfile.tsx`)
|
|
61
|
+
- Functions: camelCase (`getUserById`)
|
|
62
|
+
- Constants: SCREAMING_SNAKE (`MAX_RETRIES`)
|
|
63
|
+
- Files: kebab-case for non-components (`auth-service.ts`)
|
|
64
|
+
|
|
65
|
+
### Patterns
|
|
66
|
+
- {Pattern 1: e.g., "Use custom hooks for shared logic"}
|
|
67
|
+
- {Pattern 2: e.g., "Services return Result<T, E> types"}
|
|
68
|
+
- {Pattern 3: e.g., "API routes follow REST conventions"}
|
|
69
|
+
|
|
70
|
+
### Forbidden
|
|
71
|
+
- {Anti-pattern 1: e.g., "No any types"}
|
|
72
|
+
- {Anti-pattern 2: e.g., "No console.log in production code"}
|
|
73
|
+
- {Anti-pattern 3: e.g., "No direct DOM manipulation in React"}
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Key Decisions
|
|
78
|
+
|
|
79
|
+
### Architecture
|
|
80
|
+
- {Decision 1: e.g., "Monorepo with Turborepo"}
|
|
81
|
+
- {Decision 2: e.g., "Feature-based folder structure"}
|
|
82
|
+
|
|
83
|
+
### Why We Chose X
|
|
84
|
+
- {Rationale for major tech choice}
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Environment
|
|
89
|
+
|
|
90
|
+
### Local Development
|
|
91
|
+
```bash
|
|
92
|
+
{SETUP_COMMANDS}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Environment Variables
|
|
96
|
+
- `DATABASE_URL` - Database connection string
|
|
97
|
+
- `API_KEY` - External API key
|
|
98
|
+
- {etc}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Agent-Specific Notes
|
|
103
|
+
|
|
104
|
+
### Anvil (Frontend)
|
|
105
|
+
- Component library: {Shadcn/Radix/etc}
|
|
106
|
+
- Design system: {Link to Figma/Storybook}
|
|
107
|
+
|
|
108
|
+
### Furnace (Backend)
|
|
109
|
+
- API base path: `/api/v1`
|
|
110
|
+
- Auth method: {JWT/Session/etc}
|
|
111
|
+
|
|
112
|
+
### Crucible (Testing)
|
|
113
|
+
- Run tests: `npm test`
|
|
114
|
+
- Coverage: `npm run test:coverage`
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Links
|
|
119
|
+
|
|
120
|
+
- Design: {Figma URL}
|
|
121
|
+
- API Docs: {Swagger/OpenAPI URL}
|
|
122
|
+
- Deployment: {Vercel/AWS/etc dashboard}
|