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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valent-pipeline",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "v3 multi-agent AI pipeline for software development lifecycle",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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 @anthropic-ai/{tech_stack.browser_automation_mcp}). Then re-run this epic.`
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 @anthropic-ai/{tech_stack.browser_automation_mcp}). Then re-run.`
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 @anthropic-ai/{tech_stack.browser_automation_mcp}). Then re-run this story.`
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
 
@@ -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
- console.log(` Installing ${mcpName}...`);
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 @anthropic-ai/${mcpName}`, { stdio: 'pipe' });
113
- console.log(` Installed ${mcpName}`);
121
+ execSync(`npm install -g ${mcpPackage}`, { stdio: 'pipe' });
122
+ console.log(` Installed ${mcpPackage}`);
114
123
  } catch (err) {
115
- console.warn(` Warning: Failed to install ${mcpName}. Run "npm install -g @anthropic-ai/${mcpName}" manually.`);
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: [`@anthropic-ai/${mcpName}`]
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`);