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.
Files changed (129) 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 +5 -5
  4. package/.claude/commands/forge.md +50 -3
  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 +37 -4
  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 +211 -232
  13. package/agents/aegis/personality.md +35 -1
  14. package/agents/anvil/personality.md +39 -1
  15. package/agents/architect/personality.md +26 -0
  16. package/agents/crucible/personality.md +54 -1
  17. package/agents/crucible-x/personality.md +210 -0
  18. package/agents/ember/personality.md +29 -1
  19. package/agents/flux/personality.md +248 -0
  20. package/agents/furnace/personality.md +52 -1
  21. package/agents/herald/personality.md +3 -1
  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 +222 -0
  26. package/agents/scribe/personality.md +3 -1
  27. package/agents/slag/personality.md +268 -0
  28. package/agents/{sentinel → temper}/personality.md +85 -9
  29. package/bin/cli.js +77 -30
  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 +176 -550
  38. package/bin/forge-setup.sh +28 -11
  39. package/bin/forge-spawn.sh +5 -5
  40. package/bin/forge.cmd +83 -83
  41. package/bin/forge.sh +210 -31
  42. package/config/agent-manifest.yaml +237 -243
  43. package/config/agents.json +207 -132
  44. package/config/task-types.yaml +111 -106
  45. package/context/agent-overrides/README.md +41 -0
  46. package/context/architecture.md +42 -0
  47. package/context/modern-conventions.md +129 -129
  48. package/docs/agents.md +473 -409
  49. package/docs/architecture.md +194 -162
  50. package/docs/commands.md +451 -388
  51. package/docs/security.md +195 -144
  52. package/package.json +38 -11
  53. package/src/lib/check-aliases.js +50 -0
  54. package/{bin → src}/lib/colors.sh +2 -1
  55. package/src/lib/config.sh +347 -0
  56. package/{bin → src}/lib/constants.sh +48 -13
  57. package/src/lib/daemon/budgets.sh +107 -0
  58. package/src/lib/daemon/dependencies.sh +146 -0
  59. package/src/lib/daemon/display.sh +128 -0
  60. package/src/lib/daemon/notifications.sh +273 -0
  61. package/src/lib/daemon/routing.sh +93 -0
  62. package/src/lib/daemon/state.sh +163 -0
  63. package/src/lib/daemon/sync.sh +103 -0
  64. package/{bin → src}/lib/database.sh +52 -0
  65. package/src/lib/frontmatter.js +106 -0
  66. package/src/lib/heimdall-setup.js +113 -0
  67. package/src/lib/heimdall.js +265 -0
  68. package/src/lib/index.sh +25 -0
  69. package/{bin → src}/lib/json.sh +7 -1
  70. package/{bin → src}/lib/terminal.js +7 -1
  71. package/.claude/settings.local.json +0 -33
  72. package/agents/forge-master/capabilities.md +0 -144
  73. package/agents/forge-master/context-template.md +0 -128
  74. package/agents/forge-master/personality.md +0 -138
  75. package/bin/lib/config.sh +0 -313
  76. package/config/task-template.md +0 -87
  77. package/context/forge-state.yaml +0 -19
  78. package/docs/TODO.md +0 -150
  79. package/docs/getting-started.md +0 -243
  80. package/docs/npm-publishing.md +0 -95
  81. package/docs/workflows/README.md +0 -32
  82. package/docs/workflows/azure-devops.md +0 -108
  83. package/docs/workflows/bitbucket.md +0 -104
  84. package/docs/workflows/git-only.md +0 -130
  85. package/docs/workflows/gitea.md +0 -168
  86. package/docs/workflows/github.md +0 -103
  87. package/docs/workflows/gitlab.md +0 -105
  88. package/docs/workflows.md +0 -454
  89. package/tasks/completed/ARCH-001-duplicate-agent-config.md +0 -121
  90. package/tasks/completed/ARCH-002-mixed-bash-node-implementation.md +0 -88
  91. package/tasks/completed/ARCH-003-worker-loop-hook-duplication.md +0 -77
  92. package/tasks/completed/ARCH-009-test-organization.md +0 -78
  93. package/tasks/completed/ARCH-011-jq-vs-nodejs-json.md +0 -94
  94. package/tasks/completed/ARCH-012-tmp-files-in-root.md +0 -71
  95. package/tasks/completed/ARCH-013-exit-code-constants.md +0 -65
  96. package/tasks/completed/ARCH-014-sed-incompatibility.md +0 -96
  97. package/tasks/completed/ARCH-015-docs-todo-tracking.md +0 -83
  98. package/tasks/completed/CLEAN-001.md +0 -38
  99. package/tasks/completed/CLEAN-003.md +0 -47
  100. package/tasks/completed/CLEAN-004.md +0 -56
  101. package/tasks/completed/CLEAN-005.md +0 -75
  102. package/tasks/completed/CLEAN-006.md +0 -47
  103. package/tasks/completed/CLEAN-007.md +0 -34
  104. package/tasks/completed/CLEAN-008.md +0 -49
  105. package/tasks/completed/CLEAN-012.md +0 -58
  106. package/tasks/completed/CLEAN-013.md +0 -45
  107. package/tasks/completed/SEC-001-sql-injection-fix.md +0 -58
  108. package/tasks/completed/SEC-002-notification-injection-fix.md +0 -45
  109. package/tasks/completed/SEC-003-eval-injection-fix.md +0 -54
  110. package/tasks/completed/SEC-004-pid-race-condition-fix.md +0 -49
  111. package/tasks/completed/SEC-005-worker-loop-path-fix.md +0 -51
  112. package/tasks/completed/SEC-006-eval-agent-names.md +0 -55
  113. package/tasks/completed/SEC-007-spawn-escaping.md +0 -67
  114. package/tasks/pending/ARCH-004-git-bash-detection-duplication.md +0 -72
  115. package/tasks/pending/ARCH-005-missing-src-directory.md +0 -95
  116. package/tasks/pending/ARCH-006-task-template-location.md +0 -64
  117. package/tasks/pending/ARCH-007-daemon-monolith.md +0 -91
  118. package/tasks/pending/ARCH-008-forge-master-vs-hub.md +0 -81
  119. package/tasks/pending/ARCH-010-missing-index-files.md +0 -84
  120. package/tasks/pending/CLEAN-002.md +0 -29
  121. package/tasks/pending/CLEAN-009.md +0 -31
  122. package/tasks/pending/CLEAN-010.md +0 -30
  123. package/tasks/pending/CLEAN-011.md +0 -30
  124. package/tasks/pending/CLEAN-014.md +0 -32
  125. package/tasks/review/task-001.md +0 -78
  126. /package/{bin → src}/lib/agents.sh +0 -0
  127. /package/{bin → src}/lib/util.sh +0 -0
  128. /package/{bin → src}/lib/vcs.js +0 -0
  129. /package/{context → templates}/project-context-template.md +0 -0
@@ -1,129 +1,129 @@
1
- # Modern Development Conventions
2
-
3
- Reference for up-to-date tooling and naming conventions. Knowledge cutoffs can cause outdated suggestions - prefer these modern approaches.
4
-
5
- ## Docker & Containers
6
-
7
- ### Compose (V2+, 2021)
8
-
9
- - **File name:** `compose.yml` or `compose.yaml` (NOT `docker-compose.yml`)
10
- - **Command:** `docker compose` (NOT `docker-compose`)
11
- - Compose V2 is built into Docker CLI, no separate install needed
12
- - `docker-compose` (hyphenated) is legacy V1
13
-
14
- ```yaml
15
- # compose.yml (modern)
16
- services:
17
- app:
18
- build: .
19
- ports:
20
- - "3000:3000"
21
- ```
22
-
23
- ### Docker Best Practices
24
-
25
- - Use multi-stage builds for smaller images
26
- - Prefer `COPY` over `ADD` unless extracting archives
27
- - Use `.dockerignore` to exclude node_modules, .git, etc.
28
- - Pin base image versions (e.g., `node:20-alpine`, not `node:latest`)
29
-
30
- ## Package Managers
31
-
32
- ### Node.js
33
-
34
- - **npm:** v7+ supports workspaces, lockfile v2
35
- - **pnpm:** Preferred for monorepos, faster, stricter
36
- - **Bun:** Fast runtime + package manager, growing adoption
37
-
38
- ### Python
39
-
40
- - **uv:** Modern, fast replacement for pip/pip-tools (2024+)
41
- - **poetry:** Dependency management + packaging
42
- - **pipx:** For CLI tools (don't pip install globally)
43
-
44
- ## TypeScript
45
-
46
- - **Config:** `tsconfig.json` with `"moduleResolution": "bundler"` for modern bundlers
47
- - **Strict mode:** Always enable `"strict": true`
48
- - **Node types:** `@types/node` version should match Node.js version
49
-
50
- ## Testing
51
-
52
- ### JavaScript/TypeScript
53
-
54
- - **Vitest:** Modern, fast, Vite-native (preferred for new projects)
55
- - **Jest:** Still widely used, v30+ reduces deprecated deps
56
- - **Playwright:** E2E testing, cross-browser
57
-
58
- ### Python
59
-
60
- - **pytest:** Standard, use over unittest
61
- - **pytest-cov:** Coverage reporting
62
-
63
- ## CI/CD
64
-
65
- ### GitHub Actions
66
-
67
- - Use `actions/checkout@v4`, `actions/setup-node@v4` (latest major versions)
68
- - Prefer `npm ci` over `npm install` in CI
69
- - Use job matrices for cross-platform testing
70
-
71
- ## Linting & Formatting
72
-
73
- ### JavaScript/TypeScript
74
-
75
- - **ESLint v9+:** Flat config (`eslint.config.js`, not `.eslintrc`)
76
- - **Prettier:** Code formatting (or use ESLint with stylistic rules)
77
- - **Biome:** Fast all-in-one linter + formatter (Rust-based)
78
-
79
- ### Python
80
-
81
- - **Ruff:** Fast linter + formatter (replaces flake8, black, isort)
82
- - **mypy:** Type checking
83
-
84
- ## API Design
85
-
86
- ### REST
87
-
88
- - Use plural nouns for collections (`/users`, not `/user`)
89
- - HTTP methods: GET (read), POST (create), PUT/PATCH (update), DELETE
90
- - Status codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Server Error
91
-
92
- ### Authentication
93
-
94
- - **JWTs:** Short expiry + refresh tokens, store in httpOnly cookies (not localStorage)
95
- - **OAuth 2.0 / OIDC:** For third-party auth
96
- - **Passkeys/WebAuthn:** Modern passwordless option
97
-
98
- ## Database
99
-
100
- ### ORMs
101
-
102
- - **Prisma:** Type-safe, great DX for Node.js/TypeScript
103
- - **Drizzle:** Lightweight, SQL-like syntax
104
- - **SQLAlchemy 2.0:** Python standard (note: 2.0 syntax differs from 1.x)
105
-
106
- ### Migrations
107
-
108
- - Always use migrations, never manual schema changes in production
109
- - Version control migration files
110
-
111
- ## Frontend
112
-
113
- ### React
114
-
115
- - **React 18+:** Concurrent features, Suspense
116
- - Prefer function components + hooks over class components
117
- - Use React Server Components where appropriate (Next.js 13+)
118
-
119
- ### State Management
120
-
121
- - Start with React Context + useReducer
122
- - **Zustand:** Simple, minimal boilerplate
123
- - **TanStack Query:** For server state (caching, refetching)
124
-
125
- ## Monorepos
126
-
127
- - **Turborepo:** Fast builds, caching
128
- - **Nx:** Full-featured, good for enterprise
129
- - **pnpm workspaces:** Native package manager support
1
+ # Modern Development Conventions
2
+
3
+ Reference for up-to-date tooling and naming conventions. Knowledge cutoffs can cause outdated suggestions - prefer these modern approaches.
4
+
5
+ ## Docker & Containers
6
+
7
+ ### Compose (V2+, 2021)
8
+
9
+ - **File name:** `compose.yml` or `compose.yaml` (NOT `docker-compose.yml`)
10
+ - **Command:** `docker compose` (NOT `docker-compose`)
11
+ - Compose V2 is built into Docker CLI, no separate install needed
12
+ - `docker-compose` (hyphenated) is legacy V1
13
+
14
+ ```yaml
15
+ # compose.yml (modern)
16
+ services:
17
+ app:
18
+ build: .
19
+ ports:
20
+ - "3000:3000"
21
+ ```
22
+
23
+ ### Docker Best Practices
24
+
25
+ - Use multi-stage builds for smaller images
26
+ - Prefer `COPY` over `ADD` unless extracting archives
27
+ - Use `.dockerignore` to exclude node_modules, .git, etc.
28
+ - Pin base image versions (e.g., `node:20-alpine`, not `node:latest`)
29
+
30
+ ## Package Managers
31
+
32
+ ### Node.js
33
+
34
+ - **npm:** v7+ supports workspaces, lockfile v2
35
+ - **pnpm:** Preferred for monorepos, faster, stricter
36
+ - **Bun:** Fast runtime + package manager, growing adoption
37
+
38
+ ### Python
39
+
40
+ - **uv:** Modern, fast replacement for pip/pip-tools (2024+)
41
+ - **poetry:** Dependency management + packaging
42
+ - **pipx:** For CLI tools (don't pip install globally)
43
+
44
+ ## TypeScript
45
+
46
+ - **Config:** `tsconfig.json` with `"moduleResolution": "bundler"` for modern bundlers
47
+ - **Strict mode:** Always enable `"strict": true`
48
+ - **Node types:** `@types/node` version should match Node.js version
49
+
50
+ ## Testing
51
+
52
+ ### JavaScript/TypeScript
53
+
54
+ - **Vitest:** Modern, fast, Vite-native (preferred for new projects)
55
+ - **Jest:** Still widely used, v30+ reduces deprecated deps
56
+ - **Playwright:** E2E testing, cross-browser
57
+
58
+ ### Python
59
+
60
+ - **pytest:** Standard, use over unittest
61
+ - **pytest-cov:** Coverage reporting
62
+
63
+ ## CI/CD
64
+
65
+ ### GitHub Actions
66
+
67
+ - Use `actions/checkout@v4`, `actions/setup-node@v4` (latest major versions)
68
+ - Prefer `npm ci` over `npm install` in CI
69
+ - Use job matrices for cross-platform testing
70
+
71
+ ## Linting & Formatting
72
+
73
+ ### JavaScript/TypeScript
74
+
75
+ - **ESLint v9+:** Flat config (`eslint.config.js`, not `.eslintrc`)
76
+ - **Prettier:** Code formatting (or use ESLint with stylistic rules)
77
+ - **Biome:** Fast all-in-one linter + formatter (Rust-based)
78
+
79
+ ### Python
80
+
81
+ - **Ruff:** Fast linter + formatter (replaces flake8, black, isort)
82
+ - **mypy:** Type checking
83
+
84
+ ## API Design
85
+
86
+ ### REST
87
+
88
+ - Use plural nouns for collections (`/users`, not `/user`)
89
+ - HTTP methods: GET (read), POST (create), PUT/PATCH (update), DELETE
90
+ - Status codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Server Error
91
+
92
+ ### Authentication
93
+
94
+ - **JWTs:** Short expiry + refresh tokens, store in httpOnly cookies (not localStorage)
95
+ - **OAuth 2.0 / OIDC:** For third-party auth
96
+ - **Passkeys/WebAuthn:** Modern passwordless option
97
+
98
+ ## Database
99
+
100
+ ### ORMs
101
+
102
+ - **Prisma:** Type-safe, great DX for Node.js/TypeScript
103
+ - **Drizzle:** Lightweight, SQL-like syntax
104
+ - **SQLAlchemy 2.0:** Python standard (note: 2.0 syntax differs from 1.x)
105
+
106
+ ### Migrations
107
+
108
+ - Always use migrations, never manual schema changes in production
109
+ - Version control migration files
110
+
111
+ ## Frontend
112
+
113
+ ### React
114
+
115
+ - **React 18+:** Concurrent features, Suspense
116
+ - Prefer function components + hooks over class components
117
+ - Use React Server Components where appropriate (Next.js 13+)
118
+
119
+ ### State Management
120
+
121
+ - Start with React Context + useReducer
122
+ - **Zustand:** Simple, minimal boilerplate
123
+ - **TanStack Query:** For server state (caching, refetching)
124
+
125
+ ## Monorepos
126
+
127
+ - **Turborepo:** Fast builds, caching
128
+ - **Nx:** Full-featured, good for enterprise
129
+ - **pnpm workspaces:** Native package manager support