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 +1 -1
- package/skills/v3-setup-backlog/SKILL.md +40 -1
- package/src/commands/init.js +14 -1
package/package.json
CHANGED
|
@@ -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:
|
|
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
|
```
|
package/src/commands/init.js
CHANGED
|
@@ -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.
|
|
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/');
|