valent-pipeline 0.2.10 → 0.2.12
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
|
@@ -25,7 +25,7 @@ Use the standard 200k context window. Per `pipeline-config.yaml` `orchestration.
|
|
|
25
25
|
After loading `pipeline-config.yaml`, check if visual validation infrastructure is required:
|
|
26
26
|
|
|
27
27
|
1. If `project.type` is `fullstack-web` or `frontend-only`, verify `{tech_stack.browser_automation_mcp}` is accessible (e.g., `npx @anthropic-ai/playwright-mcp --version` or check `.claude/settings.json` for the MCP registration).
|
|
28
|
-
2. If not accessible → **STOP** with: `Browser automation MCP ({tech_stack.browser_automation_mcp}) is not installed. Visual validation cannot run. Install it with: npx valent-pipeline init --force (or npm install -g @
|
|
28
|
+
2. If not accessible → **STOP** with: `Browser automation MCP ({tech_stack.browser_automation_mcp}) is not installed. Visual validation cannot run. Install it with: npx valent-pipeline init --force (or npm install -g @playwright/mcp). Then re-run this epic.`
|
|
29
29
|
|
|
30
30
|
This is an infrastructure prerequisite. Don't waste tokens spawning Lead into a pipeline that can't run visual validation for UI projects.
|
|
31
31
|
|
|
@@ -18,7 +18,7 @@ Use the standard 200k context window. Auto-compression fires every 2-3 stories.
|
|
|
18
18
|
After loading `pipeline-config.yaml`, check if visual validation infrastructure is required:
|
|
19
19
|
|
|
20
20
|
1. If `project.type` is `fullstack-web` or `frontend-only`, verify `{tech_stack.browser_automation_mcp}` is accessible (e.g., `npx @anthropic-ai/playwright-mcp --version` or check `.claude/settings.json` for the MCP registration).
|
|
21
|
-
2. If not accessible → **STOP** with: `Browser automation MCP ({tech_stack.browser_automation_mcp}) is not installed. Visual validation cannot run. Install it with: npx valent-pipeline init --force (or npm install -g @
|
|
21
|
+
2. If not accessible → **STOP** with: `Browser automation MCP ({tech_stack.browser_automation_mcp}) is not installed. Visual validation cannot run. Install it with: npx valent-pipeline init --force (or npm install -g @playwright/mcp). Then re-run.`
|
|
22
22
|
|
|
23
23
|
This is an infrastructure prerequisite. Don't waste tokens spawning Lead into a pipeline that can't run visual validation for UI projects.
|
|
24
24
|
|
|
@@ -23,7 +23,7 @@ If no argument is provided, resolve the next work item from the backlog (see Ste
|
|
|
23
23
|
After loading `pipeline-config.yaml`, check if visual validation infrastructure is required:
|
|
24
24
|
|
|
25
25
|
1. If `project.type` is `fullstack-web` or `frontend-only`, verify `{tech_stack.browser_automation_mcp}` is accessible (e.g., `npx @anthropic-ai/playwright-mcp --version` or check `.claude/settings.json` for the MCP registration).
|
|
26
|
-
2. If not accessible → **STOP** with: `Browser automation MCP ({tech_stack.browser_automation_mcp}) is not installed. Visual validation cannot run. Install it with: npx valent-pipeline init --force (or npm install -g @
|
|
26
|
+
2. If not accessible → **STOP** with: `Browser automation MCP ({tech_stack.browser_automation_mcp}) is not installed. Visual validation cannot run. Install it with: npx valent-pipeline init --force (or npm install -g @playwright/mcp). Then re-run this story.`
|
|
27
27
|
|
|
28
28
|
This is an infrastructure prerequisite — same category as "does `pipeline-config.yaml` exist?" Don't waste tokens spawning Lead into a pipeline that can't run visual validation for UI projects.
|
|
29
29
|
|
package/src/commands/init.js
CHANGED
|
@@ -29,6 +29,14 @@ export async function init(options = {}) {
|
|
|
29
29
|
|
|
30
30
|
console.log('\nInitializing valent-pipeline...\n');
|
|
31
31
|
|
|
32
|
+
// 0. Ensure git repo exists
|
|
33
|
+
if (!existsSync(join(projectRoot, '.git'))) {
|
|
34
|
+
console.log(' No git repository detected. Initializing...');
|
|
35
|
+
const { execSync } = await import('child_process');
|
|
36
|
+
execSync('git init', { cwd: projectRoot, stdio: 'pipe' });
|
|
37
|
+
console.log(' Initialized git repository');
|
|
38
|
+
}
|
|
39
|
+
|
|
32
40
|
// 1. Copy pipeline infrastructure
|
|
33
41
|
const pipelineSrc = join(PACKAGE_ROOT, 'pipeline');
|
|
34
42
|
const pipelineDest = join(projectRoot, '.valent-pipeline');
|
|
@@ -106,13 +114,14 @@ export async function init(options = {}) {
|
|
|
106
114
|
: config.install_browser_mcp;
|
|
107
115
|
if (shouldInstallMcp) {
|
|
108
116
|
const mcpName = config.tech_stack?.browser_automation_mcp || 'playwright-mcp';
|
|
109
|
-
|
|
117
|
+
const mcpPackage = '@playwright/mcp';
|
|
118
|
+
console.log(` Installing ${mcpPackage}...`);
|
|
110
119
|
const { execSync } = await import('child_process');
|
|
111
120
|
try {
|
|
112
|
-
execSync(`npm install -g
|
|
113
|
-
console.log(` Installed ${
|
|
121
|
+
execSync(`npm install -g ${mcpPackage}`, { stdio: 'pipe' });
|
|
122
|
+
console.log(` Installed ${mcpPackage}`);
|
|
114
123
|
} catch (err) {
|
|
115
|
-
console.warn(` Warning: Failed to install ${
|
|
124
|
+
console.warn(` Warning: Failed to install ${mcpPackage}. Run "npm install -g ${mcpPackage}" manually.`);
|
|
116
125
|
}
|
|
117
126
|
// Register in .claude/settings.json mcpServers
|
|
118
127
|
const mcpSettingsPath = join(projectRoot, '.claude', 'settings.json');
|
|
@@ -126,7 +135,7 @@ export async function init(options = {}) {
|
|
|
126
135
|
if (!mcpSettings.mcpServers[mcpName]) {
|
|
127
136
|
mcpSettings.mcpServers[mcpName] = {
|
|
128
137
|
command: 'npx',
|
|
129
|
-
args: [
|
|
138
|
+
args: [mcpPackage]
|
|
130
139
|
};
|
|
131
140
|
writeFileSafe(mcpSettingsPath, JSON.stringify(mcpSettings, null, 2) + '\n');
|
|
132
141
|
console.log(` Registered ${mcpName} in .claude/settings.json`);
|