valent-pipeline 0.1.4 → 0.1.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valent-pipeline",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "v3 multi-agent AI pipeline for software development lifecycle",
5
5
  "type": "module",
6
6
  "bin": {
@@ -135,7 +135,42 @@ As a {role} I want {capability} so that {benefit}.
135
135
  - If an AC is vague ("the UI should look good"), flag it and ask the user to clarify or remove it
136
136
  - Include error/edge cases as separate ACs, not just happy paths
137
137
 
138
- ## Step 7: Report
138
+ ## Step 7: Initialize Knowledge Base
139
+
140
+ Scan the repo to build the curated knowledge files that the Knowledge Agent uses at runtime. Write these to `knowledge/curated/`.
141
+
142
+ **Use haiku subagents in parallel** to scan the repo efficiently. Launch up to 3 agents simultaneously, each responsible for one knowledge file:
143
+
144
+ **Agent 1 → `project-context.md`:**
145
+ Scan the repo and generate:
146
+ - Project name and purpose (from README, package.json, or ask the user)
147
+ - Directory layout (top-level structure)
148
+ - Tech stack (from `v3/pipeline-config.yaml` + detected from package.json, tsconfig, etc.)
149
+ - Database schema (from Prisma schema, migrations, or SQL files if present)
150
+ - Existing API endpoints (from route files if present)
151
+ - Environment setup (from docker-compose, Dockerfile, .env.example if present)
152
+
153
+ **Agent 2 → `code-conventions.md`:**
154
+ Scan existing source code and extract:
155
+ - Import patterns (ESM vs CJS, path aliases)
156
+ - Naming conventions (camelCase, snake_case, file naming)
157
+ - Project structure patterns (routes, services, controllers, etc.)
158
+ - Test file organization and patterns
159
+ - Error handling patterns
160
+ - Any linting config (.eslintrc, .prettierrc, biome.json)
161
+
162
+ **Agent 3 → `api-reference.md`** (only if API endpoints exist):
163
+ Scan route files and generate:
164
+ - Method, path, request/response shapes
165
+ - Validation rules
166
+ - Auth requirements
167
+ - Status codes
168
+
169
+ All three agents run in parallel using `model: "haiku"` to minimize cost. Collect their outputs and write the files.
170
+
171
+ If the repo is empty or brand new (no source code yet), skip the subagents and create minimal placeholder files noting "No existing code detected — Knowledge Agent will update these as stories ship."
172
+
173
+ ## Step 8: Report
139
174
 
140
175
  After writing all files, summarize:
141
176
 
@@ -143,9 +178,13 @@ After writing all files, summarize:
143
178
  Created:
144
179
  - {backlog_path} ({N} stories)
145
180
  - {N} story input files in {story_directory}/
181
+ - knowledge/curated/project-context.md
182
+ - knowledge/curated/code-conventions.md
183
+ - knowledge/curated/api-reference.md (if applicable)
146
184
 
147
185
  Next steps:
148
186
  - Review story files and refine ACs if needed
187
+ - Review knowledge/curated/ files for accuracy
149
188
  - Run /v3-run-story {first-story-id} to start
150
189
  - Or run /v3-run-epic {epic-id} to run the whole epic
151
190
  ```
@@ -79,7 +79,20 @@ export async function init(options = {}) {
79
79
  console.log(' SQLite knowledge mode selected. Run "valent-pipeline db init" to create the database.');
80
80
  }
81
81
 
82
- // 8. Update .gitignore
82
+ // 8. Configure Claude settings for agent teams
83
+ const claudeSettingsPath = join(projectRoot, '.claude', 'settings.json');
84
+ let claudeSettings = {};
85
+ if (fileExists(claudeSettingsPath)) {
86
+ try {
87
+ claudeSettings = JSON.parse(readFile(claudeSettingsPath));
88
+ } catch { /* start fresh if parse fails */ }
89
+ }
90
+ if (!claudeSettings.env) claudeSettings.env = {};
91
+ claudeSettings.env.CLAUDE_CODE_ENABLE_EXPERIMENTAL_AGENT_TEAMS = '1';
92
+ writeFileSafe(claudeSettingsPath, JSON.stringify(claudeSettings, null, 2) + '\n');
93
+ console.log(' Configured .claude/settings.json (agent teams enabled)');
94
+
95
+ // 9. Update .gitignore
83
96
  appendToGitignore(projectRoot, 'v3/pipeline.db');
84
97
  appendToGitignore(projectRoot, 'v3/pipeline.db-*');
85
98
  appendToGitignore(projectRoot, 'v3/chromadb-data/');