specweave 1.0.444 → 1.0.445

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 (38) hide show
  1. package/bin/specweave.js +14 -0
  2. package/dist/src/cli/commands/get.d.ts +21 -0
  3. package/dist/src/cli/commands/get.d.ts.map +1 -0
  4. package/dist/src/cli/commands/get.js +148 -0
  5. package/dist/src/cli/commands/get.js.map +1 -0
  6. package/dist/src/cli/commands/plan/agent-invoker.d.ts +4 -4
  7. package/dist/src/cli/commands/plan/agent-invoker.d.ts.map +1 -1
  8. package/dist/src/cli/commands/plan/agent-invoker.js +7 -7
  9. package/dist/src/cli/commands/plan/agent-invoker.js.map +1 -1
  10. package/dist/src/cli/commands/plan/plan-orchestrator.js +1 -1
  11. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  12. package/dist/src/cli/helpers/get/clone-repo.d.ts +23 -0
  13. package/dist/src/cli/helpers/get/clone-repo.d.ts.map +1 -0
  14. package/dist/src/cli/helpers/get/clone-repo.js +52 -0
  15. package/dist/src/cli/helpers/get/clone-repo.js.map +1 -0
  16. package/dist/src/cli/helpers/get/register-repo.d.ts +21 -0
  17. package/dist/src/cli/helpers/get/register-repo.d.ts.map +1 -0
  18. package/dist/src/cli/helpers/get/register-repo.js +61 -0
  19. package/dist/src/cli/helpers/get/register-repo.js.map +1 -0
  20. package/dist/src/cli/helpers/get/source-parser.d.ts +28 -0
  21. package/dist/src/cli/helpers/get/source-parser.d.ts.map +1 -0
  22. package/dist/src/cli/helpers/get/source-parser.js +97 -0
  23. package/dist/src/cli/helpers/get/source-parser.js.map +1 -0
  24. package/dist/src/core/hooks/LifecycleHookDispatcher.js +1 -1
  25. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  26. package/dist/src/core/increment/spec-sync-manager.js +1 -1
  27. package/dist/src/core/workflow/cost-estimator.d.ts +1 -1
  28. package/dist/src/core/workflow/cost-estimator.js +1 -1
  29. package/package.json +1 -1
  30. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +1 -1
  31. package/plugins/SKILLS-VS-AGENTS.md +1 -3
  32. package/plugins/specweave/PLUGIN.md +0 -3
  33. package/plugins/specweave/agents/sw-planner.md +40 -4
  34. package/plugins/specweave/hooks/v2/guards/skill-chain-enforcement-guard.sh +4 -4
  35. package/plugins/specweave/skills/get/SKILL.md +80 -0
  36. package/src/templates/AGENTS.md.template +2 -2
  37. package/src/templates/CLAUDE.md.template +1 -1
  38. package/plugins/specweave/commands/docs-updater.md +0 -66
package/bin/specweave.js CHANGED
@@ -1439,6 +1439,20 @@ hooksCmd
1439
1439
  console.log('Hooks settings written to .claude/settings.json');
1440
1440
  });
1441
1441
 
1442
+ // Get command - Clone and register an existing repository into the workspace
1443
+ program
1444
+ .command('get <source>')
1445
+ .description('Clone and register an existing repository into the workspace')
1446
+ .option('--branch <branch>', 'Clone a specific branch')
1447
+ .option('--prefix <prefix>', 'User story prefix (default: first 3 chars uppercase)')
1448
+ .option('--role <role>', 'Repository role (frontend, backend, mobile, infra, shared)')
1449
+ .option('--no-init', 'Skip specweave init on cloned repo')
1450
+ .option('--yes', 'Skip confirmation prompts')
1451
+ .action(async (source, opts) => {
1452
+ const { getCommand } = await import('../dist/src/cli/commands/get.js');
1453
+ await getCommand(source, opts);
1454
+ });
1455
+
1442
1456
  // Migrate-to-umbrella command - Convert single-repo to umbrella workspace
1443
1457
  program
1444
1458
  .command('migrate-to-umbrella')
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `specweave get` Command
3
+ *
4
+ * Clone an existing repository into the workspace and register it.
5
+ *
6
+ * Usage:
7
+ * specweave get owner/repo
8
+ * specweave get https://github.com/org/repo
9
+ * specweave get git@github.com:org/repo
10
+ * specweave get ./path/to/local-repo
11
+ */
12
+ export interface GetOptions {
13
+ branch?: string;
14
+ prefix?: string;
15
+ role?: string;
16
+ /** true by default, false when --no-init is passed */
17
+ init?: boolean;
18
+ yes?: boolean;
19
+ }
20
+ export declare function getCommand(source: string, options?: GetOptions): Promise<void>;
21
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/get.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGxF"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * `specweave get` Command
3
+ *
4
+ * Clone an existing repository into the workspace and register it.
5
+ *
6
+ * Usage:
7
+ * specweave get owner/repo
8
+ * specweave get https://github.com/org/repo
9
+ * specweave get git@github.com:org/repo
10
+ * specweave get ./path/to/local-repo
11
+ */
12
+ import chalk from 'chalk';
13
+ import * as fs from 'fs';
14
+ import * as path from 'path';
15
+ import { parseSource } from '../helpers/get/source-parser.js';
16
+ import { cloneRepo } from '../helpers/get/clone-repo.js';
17
+ import { registerRepo } from '../helpers/get/register-repo.js';
18
+ import { execFileNoThrow } from '../../utils/execFileNoThrow.js';
19
+ import { detectRepository } from '../../utils/git-utils.js';
20
+ export async function getCommand(source, options = {}) {
21
+ const projectRoot = process.cwd();
22
+ const configPath = path.join(projectRoot, '.specweave', 'config.json');
23
+ // Guard: must be a SpecWeave project
24
+ if (!fs.existsSync(configPath)) {
25
+ console.log(chalk.red('\n Not a SpecWeave project. Run `specweave init` first.\n'));
26
+ process.exit(1);
27
+ }
28
+ let config = {};
29
+ try {
30
+ config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
31
+ }
32
+ catch {
33
+ console.log(chalk.red('\n Could not read .specweave/config.json\n'));
34
+ process.exit(1);
35
+ }
36
+ const isUmbrella = config.umbrella?.enabled === true;
37
+ // Parse source
38
+ let parsed;
39
+ try {
40
+ parsed = parseSource(source);
41
+ }
42
+ catch (err) {
43
+ console.log(chalk.red(`\n ${err instanceof Error ? err.message : String(err)}\n`));
44
+ process.exit(1);
45
+ }
46
+ // Resolve owner/repo for local paths
47
+ let owner = parsed.owner;
48
+ let repo = parsed.repo;
49
+ if (parsed.type === 'local') {
50
+ const absolutePath = parsed.absolutePath;
51
+ if (!fs.existsSync(absolutePath)) {
52
+ console.log(chalk.red(`\n Path does not exist: ${absolutePath}\n`));
53
+ process.exit(1);
54
+ }
55
+ if (!fs.existsSync(path.join(absolutePath, '.git'))) {
56
+ console.log(chalk.red(`\n Not a git repository: ${absolutePath}\n`));
57
+ process.exit(1);
58
+ }
59
+ // Detect owner/repo from git remote
60
+ const detected = await detectRepository('origin', absolutePath);
61
+ if (detected) {
62
+ owner = detected.owner;
63
+ repo = detected.repo;
64
+ }
65
+ else {
66
+ // Fall back to directory name
67
+ repo = path.basename(absolutePath);
68
+ owner = '';
69
+ }
70
+ console.log(chalk.blue(`\n Registering local repo: ${absolutePath}\n`));
71
+ if (isUmbrella) {
72
+ const relPath = path.relative(projectRoot, absolutePath);
73
+ await _registerAndInit(projectRoot, owner, repo, relPath, absolutePath, options, false);
74
+ }
75
+ else {
76
+ console.log(chalk.yellow(' Not an umbrella workspace — skipping registration.\n'));
77
+ }
78
+ return;
79
+ }
80
+ // Remote source: determine target directory
81
+ const targetDir = isUmbrella
82
+ ? path.join(projectRoot, 'repositories', owner, repo)
83
+ : path.join(projectRoot, repo);
84
+ console.log(chalk.blue(`\n Getting ${owner}/${repo}...\n`));
85
+ // Clone
86
+ try {
87
+ const cloneResult = await cloneRepo(parsed, targetDir, { branch: options.branch });
88
+ if (cloneResult.cloned) {
89
+ console.log(chalk.green(` Cloned → ${path.relative(projectRoot, cloneResult.repoPath)}`));
90
+ }
91
+ else {
92
+ console.log(chalk.dim(` Already exists at ${path.relative(projectRoot, cloneResult.repoPath)}, skipping clone`));
93
+ }
94
+ }
95
+ catch (err) {
96
+ console.log(chalk.red(`\n Clone failed: ${err instanceof Error ? err.message : String(err)}\n`));
97
+ process.exit(1);
98
+ }
99
+ // Register + init
100
+ if (isUmbrella) {
101
+ const relPath = path.relative(projectRoot, targetDir).replace(/\\/g, '/');
102
+ const githubUrl = parsed.type === 'github' ? `https://github.com/${owner}/${repo}` : undefined;
103
+ await _registerAndInit(projectRoot, owner, repo, relPath, targetDir, options, true, githubUrl);
104
+ }
105
+ else {
106
+ // Non-umbrella: just run init if requested
107
+ if (options.init !== false) {
108
+ await _runInit(targetDir);
109
+ }
110
+ console.log(chalk.green(`\n Done! Repository available at ./${repo}/\n`));
111
+ }
112
+ }
113
+ async function _registerAndInit(projectRoot, owner, repo, relPath, absPath, options, showPath, githubUrl) {
114
+ const regResult = await registerRepo(projectRoot, owner, repo, relPath, {
115
+ prefix: options.prefix,
116
+ role: options.role,
117
+ githubUrl,
118
+ });
119
+ if (regResult.alreadyRegistered) {
120
+ console.log(chalk.dim(` Already registered in umbrella config`));
121
+ }
122
+ else {
123
+ console.log(chalk.green(` Registered in umbrella config (prefix: ${options.prefix || repo.substring(0, 3).toUpperCase()})`));
124
+ }
125
+ if (options.init !== false) {
126
+ await _runInit(absPath);
127
+ }
128
+ console.log(chalk.green(`\n Done!`));
129
+ if (showPath) {
130
+ console.log(chalk.dim(` Path: ${relPath}`));
131
+ }
132
+ console.log(chalk.dim(` Next: /sw:increment to plan work in ${repo}\n`));
133
+ }
134
+ async function _runInit(repoDir) {
135
+ if (fs.existsSync(path.join(repoDir, '.specweave'))) {
136
+ console.log(chalk.dim(' Already has .specweave/, skipping init'));
137
+ return;
138
+ }
139
+ console.log(chalk.dim(' Running specweave init...'));
140
+ const result = await execFileNoThrow('specweave', ['init', '.'], { cwd: repoDir });
141
+ if (result.exitCode === 0) {
142
+ console.log(chalk.green(' Initialized with specweave'));
143
+ }
144
+ else {
145
+ console.log(chalk.yellow(' specweave init had warnings (you can run it manually)'));
146
+ }
147
+ }
148
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/cli/commands/get.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Agent Invoker - Orchestrates AI agent invocations for plan generation
3
3
  *
4
- * This module provides utilities to invoke the Architect and test-aware-planner
4
+ * This module provides utilities to invoke the Architect and Planner
5
5
  * agents within the Claude Code ecosystem.
6
6
  *
7
7
  * @module cli/commands/plan/agent-invoker
@@ -30,12 +30,12 @@ export declare class AgentInvoker {
30
30
  */
31
31
  invokeArchitectAgent(context: PlanPipelineContext): Promise<AgentInvocationResult>;
32
32
  /**
33
- * Invoke test-aware-planner Agent to generate tasks.md
33
+ * Invoke Planner Agent to generate tasks.md
34
34
  *
35
35
  * @param context - Pipeline context with spec.md and plan.md content
36
36
  * @returns Agent invocation result with generated tasks.md content
37
37
  */
38
- invokeTestAwarePlanner(context: PlanPipelineContext): Promise<AgentInvocationResult>;
38
+ invokePlannerAgent(context: PlanPipelineContext): Promise<AgentInvocationResult>;
39
39
  /**
40
40
  * Extract requirements from spec.md
41
41
  */
@@ -61,7 +61,7 @@ export declare class AgentInvoker {
61
61
  */
62
62
  private buildArchitectPrompt;
63
63
  /**
64
- * Build prompt for test-aware-planner Agent
64
+ * Build prompt for Planner Agent
65
65
  */
66
66
  private buildPlannerPrompt;
67
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-invoker.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/agent-invoker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2BxF;;;;;OAKG;IACG,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0B1F;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgF1B;;;;;OAKG;IACH,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;IAoE3D;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;CA2C7D"}
1
+ {"version":3,"file":"agent-invoker.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/agent-invoker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC;CAC9C;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2BxF;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0BtF;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgF1B;;;;;OAKG;IACH,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;IAoE3D;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;CA2C7D"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Agent Invoker - Orchestrates AI agent invocations for plan generation
3
3
  *
4
- * This module provides utilities to invoke the Architect and test-aware-planner
4
+ * This module provides utilities to invoke the Architect and Planner
5
5
  * agents within the Claude Code ecosystem.
6
6
  *
7
7
  * @module cli/commands/plan/agent-invoker
@@ -36,12 +36,12 @@ export class AgentInvoker {
36
36
  };
37
37
  }
38
38
  /**
39
- * Invoke test-aware-planner Agent to generate tasks.md
39
+ * Invoke Planner Agent to generate tasks.md
40
40
  *
41
41
  * @param context - Pipeline context with spec.md and plan.md content
42
42
  * @returns Agent invocation result with generated tasks.md content
43
43
  */
44
- async invokeTestAwarePlanner(context) {
44
+ async invokePlannerAgent(context) {
45
45
  const specContent = context.specContent;
46
46
  const planContent = context.generatedPlanContent;
47
47
  const incrementId = context.incrementId;
@@ -54,7 +54,7 @@ export class AgentInvoker {
54
54
  return {
55
55
  success: true,
56
56
  content: plannerPrompt,
57
- agentName: 'test-aware-planner',
57
+ agentName: 'planner',
58
58
  executionMode: 'instruction'
59
59
  };
60
60
  }
@@ -187,11 +187,11 @@ Follow the standard SpecWeave plan.md format with:
187
187
  `;
188
188
  }
189
189
  /**
190
- * Build prompt for test-aware-planner Agent
190
+ * Build prompt for Planner Agent
191
191
  */
192
192
  buildPlannerPrompt(incrementId, acceptanceCriteria, phases, components) {
193
193
  const acList = Array.from(acceptanceCriteria.keys());
194
- return `# Test-Aware Planner Invocation for ${incrementId}
194
+ return `# Planner Agent Invocation for ${incrementId}
195
195
 
196
196
  ## Task
197
197
  Generate a tasks.md file with embedded test plans for increment ${incrementId}.
@@ -372,7 +372,7 @@ coverage_target: 95%
372
372
 
373
373
  ---
374
374
 
375
- **Note**: This is a placeholder tasks file. Run the test-aware-planner Agent to generate the complete task breakdown with embedded test plans.
375
+ **Note**: This is a placeholder tasks file. Run the Planner agent (sw-planner) to generate the complete task breakdown with embedded test plans.
376
376
 
377
377
  **Total Acceptance Criteria**: ${acceptanceCriteria.size}
378
378
  **Mapped to Tasks**: 1 (placeholder)
@@ -1 +1 @@
1
- {"version":3,"file":"agent-invoker.js","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/agent-invoker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-invoker.js","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/agent-invoker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAA4B;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvE,2CAA2C;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAC/C,WAAW,EACX,YAAY,EACZ,WAAW,EACX,kBAAkB,CACnB,CAAC;QAEF,yEAAyE;QACzE,0DAA0D;QAC1D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAA4B;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAqB,CAAC;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAExC,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEvD,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAC3C,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,UAAU,CACX,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,WAAmB;QAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,oFAAoF,CAAC;QACtG,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,WAAmB;QAC5C,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,gDAAgD,CAAC;QACjE,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,WAAmB;QACnD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC1C,MAAM,OAAO,GAAG,uCAAuC,CAAC;QACxD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,WAAmB;QACvC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,kDAAkD,CAAC;QACtE,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB;QAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,uDAAuD,CAAC;QAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,WAAmB,EACnB,YAAsB,EACtB,WAAqB,EACrB,kBAAyC;QAEzC,OAAO,oCAAoC,WAAW;;;qEAGW,WAAW;;;EAG9E,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6DAA6D;;;EAGjH,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kDAAkD;;;kBAGpF,kBAAkB,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0CtB,kBAAkB,CAAC,IAAI;;;CAGzC,CAAC;IACA,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,WAAmB,EACnB,kBAAyC,EACzC,MAAgB,EAChB,UAAoB;QAEpB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAErD,OAAO,kCAAkC,WAAW;;;kEAGU,WAAW;;;;2BAIlD,MAAM,CAAC,MAAM;EACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;6BAEU,MAAM,CAAC,MAAM;EACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;kBAED,UAAU,CAAC,MAAM;EACjC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmDJ,MAAM,CAAC,MAAM;;;;CAI/B,CAAC;IACA,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,OAA4B;QAChD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEzD,OAAO;aACE,WAAW;;;;;yBAKC,WAAW;;;eAGrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnD,WAAW,CAAC,MAAM;EAClB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;CAiBzD,CAAC;IACA,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAA4B;QACjD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvE,OAAO,YAAY,WAAW;;;aAGrB,WAAW;;;;;;;;;;UAUd,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;iCAqBrC,kBAAkB,CAAC,IAAI;;gBAExC,kBAAkB,CAAC,IAAI,GAAG,CAAC;CAC1C,CAAC;IACA,CAAC;CACF"}
@@ -61,7 +61,7 @@ export class PlanCommandOrchestrator {
61
61
  throw new Error(`Architect agent invocation failed: ${architectResult.error}`);
62
62
  }
63
63
  // Step 5: Invoke Task Generator
64
- const plannerResult = await this.agentInvoker.invokeTestAwarePlanner(context);
64
+ const plannerResult = await this.agentInvoker.invokePlannerAgent(context);
65
65
  if (plannerResult.success) {
66
66
  // Use AgentInvoker's temporary task generation
67
67
  // In production Claude Code context, this would be replaced by actual agent output
@@ -1 +1 @@
1
- {"version":3,"file":"plan-orchestrator.js","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/plan-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-orchestrator.js","sourceRoot":"","sources":["../../../../../src/cli/commands/plan/plan-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Clone Helper for `specweave get`
3
+ *
4
+ * Foreground git clone with idempotency and helpful auth error messages.
5
+ */
6
+ import type { ParsedSource } from './source-parser.js';
7
+ export interface CloneOptions {
8
+ branch?: string;
9
+ }
10
+ export interface CloneResult {
11
+ /** true if clone happened, false if skipped */
12
+ cloned: boolean;
13
+ /** absolute path to the repo directory */
14
+ repoPath: string;
15
+ /** reason clone was skipped, if applicable */
16
+ skippedReason?: string;
17
+ }
18
+ /**
19
+ * Clone a repository to targetDir.
20
+ * Idempotent: if targetDir/.git already exists, skips clone.
21
+ */
22
+ export declare function cloneRepo(source: ParsedSource, targetDir: string, options?: CloneOptions): Promise<CloneResult>;
23
+ //# sourceMappingURL=clone-repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-repo.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/clone-repo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAWD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA0CtB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Clone Helper for `specweave get`
3
+ *
4
+ * Foreground git clone with idempotency and helpful auth error messages.
5
+ */
6
+ import * as path from 'path';
7
+ import * as fs from 'fs';
8
+ import { execFileNoThrow } from '../../../utils/execFileNoThrow.js';
9
+ const AUTH_ERROR_PATTERNS = [
10
+ 'Permission denied (publickey)',
11
+ 'Authentication failed',
12
+ 'Repository not found',
13
+ 'could not read Username',
14
+ 'Invalid username or password',
15
+ 'remote: Repository not found',
16
+ ];
17
+ /**
18
+ * Clone a repository to targetDir.
19
+ * Idempotent: if targetDir/.git already exists, skips clone.
20
+ */
21
+ export async function cloneRepo(source, targetDir, options = {}) {
22
+ // Idempotency check
23
+ if (fs.existsSync(path.join(targetDir, '.git'))) {
24
+ return {
25
+ cloned: false,
26
+ repoPath: targetDir,
27
+ skippedReason: 'already exists',
28
+ };
29
+ }
30
+ const parentDir = path.dirname(targetDir);
31
+ const repoName = path.basename(targetDir);
32
+ await fs.promises.mkdir(parentDir, { recursive: true });
33
+ const args = ['clone', source.cloneUrl, repoName];
34
+ if (options.branch) {
35
+ args.push('--branch', options.branch);
36
+ }
37
+ const result = await execFileNoThrow('git', args, { cwd: parentDir });
38
+ if (result.exitCode !== 0) {
39
+ const stderr = result.stderr || '';
40
+ const isAuthError = AUTH_ERROR_PATTERNS.some(p => stderr.includes(p));
41
+ if (isAuthError) {
42
+ throw new Error(`Authentication failed cloning ${source.cloneUrl}\n\n` +
43
+ 'To fix:\n' +
44
+ ' • HTTPS: run `gh auth login` or set GH_TOKEN env var\n' +
45
+ ' • SSH: ensure your SSH key is added to GitHub\n' +
46
+ `\nGit output: ${stderr.trim()}`);
47
+ }
48
+ throw new Error(`Failed to clone ${source.cloneUrl}\n${stderr.trim() || result.stdout.trim()}`);
49
+ }
50
+ return { cloned: true, repoPath: targetDir };
51
+ }
52
+ //# sourceMappingURL=clone-repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone-repo.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/clone-repo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAgBpE,MAAM,mBAAmB,GAAG;IAC1B,+BAA+B;IAC/B,uBAAuB;IACvB,sBAAsB;IACtB,yBAAyB;IACzB,8BAA8B;IAC9B,8BAA8B;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAoB,EACpB,SAAiB,EACjB,UAAwB,EAAE;IAE1B,oBAAoB;IACpB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,gBAAgB;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,QAAS,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAEtE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,iCAAiC,MAAM,CAAC,QAAQ,MAAM;gBACtD,WAAW;gBACX,0DAA0D;gBAC1D,mDAAmD;gBACnD,iBAAiB,MAAM,CAAC,IAAI,EAAE,EAAE,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Register Helper for `specweave get`
3
+ *
4
+ * Registers a repository in the umbrella config.json.
5
+ * Uses persistUmbrellaConfig for dedup-safe merges.
6
+ */
7
+ export interface RegisterOptions {
8
+ prefix?: string;
9
+ role?: string;
10
+ githubUrl?: string;
11
+ }
12
+ export interface RegisterResult {
13
+ registered: boolean;
14
+ alreadyRegistered: boolean;
15
+ }
16
+ /**
17
+ * Register a repository in the umbrella config.
18
+ * Idempotent: if repo is already in childRepos by id, returns alreadyRegistered=true.
19
+ */
20
+ export declare function registerRepo(projectRoot: string, owner: string, repoName: string, repoPath: string, options?: RegisterOptions): Promise<RegisterResult>;
21
+ //# sourceMappingURL=register-repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-repo.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/register-repo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CA+CzB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Register Helper for `specweave get`
3
+ *
4
+ * Registers a repository in the umbrella config.json.
5
+ * Uses persistUmbrellaConfig for dedup-safe merges.
6
+ */
7
+ import * as fs from 'fs';
8
+ import * as path from 'path';
9
+ import { persistUmbrellaConfig } from '../../../core/living-docs/umbrella-detector.js';
10
+ /**
11
+ * Register a repository in the umbrella config.
12
+ * Idempotent: if repo is already in childRepos by id, returns alreadyRegistered=true.
13
+ */
14
+ export async function registerRepo(projectRoot, owner, repoName, repoPath, options = {}) {
15
+ const configPath = path.join(projectRoot, '.specweave', 'config.json');
16
+ // Check for existing entry
17
+ if (fs.existsSync(configPath)) {
18
+ try {
19
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
20
+ const existing = config.umbrella?.childRepos?.find((r) => r.id === repoName);
21
+ if (existing) {
22
+ return { registered: false, alreadyRegistered: true };
23
+ }
24
+ }
25
+ catch {
26
+ // Proceed with registration if config is unreadable
27
+ }
28
+ }
29
+ const prefix = options.prefix || repoName.substring(0, 3).toUpperCase();
30
+ // Normalize path separators to forward slashes for config.json
31
+ const normalizedPath = repoPath.replace(/\\/g, '/');
32
+ // Base registration via persistUmbrellaConfig (handles dedup-safe merge).
33
+ // persistUmbrellaConfig uses a minimal ChildRepoConfig without prefix/role/githubUrl;
34
+ // those are patched via read-modify-write below (same pattern as addRepoToUmbrella).
35
+ await persistUmbrellaConfig(projectRoot, {
36
+ enabled: true,
37
+ childRepos: [{
38
+ id: repoName,
39
+ path: normalizedPath,
40
+ name: repoName,
41
+ }],
42
+ });
43
+ // Post-patch prefix, role, and githubUrl
44
+ try {
45
+ const rawConfig = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
46
+ const repo = rawConfig.umbrella?.childRepos?.find((r) => r.id === repoName);
47
+ if (repo) {
48
+ repo.prefix = prefix;
49
+ if (options.role)
50
+ repo.role = options.role;
51
+ if (options.githubUrl)
52
+ repo.githubUrl = options.githubUrl;
53
+ await fs.promises.writeFile(configPath, JSON.stringify(rawConfig, null, 2));
54
+ }
55
+ }
56
+ catch {
57
+ // Non-fatal: base registration succeeded
58
+ }
59
+ return { registered: true, alreadyRegistered: false };
60
+ }
61
+ //# sourceMappingURL=register-repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-repo.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/register-repo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAavF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,KAAa,EACb,QAAgB,EAChB,QAAgB,EAChB,UAA2B,EAAE;IAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAEvE,2BAA2B;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YAClF,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEpD,0EAA0E;IAC1E,sFAAsF;IACtF,qFAAqF;IACrF,MAAM,qBAAqB,CAAC,WAAW,EAAE;QACvC,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,CAAC;gBACX,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;aACf,CAAC;KACH,CAAC,CAAC;IAEH,yCAAyC;IACzC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QACjF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,OAAO,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3C,IAAI,OAAO,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC1D,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Source Parser for `specweave get`
3
+ *
4
+ * Parses the <source> argument into a structured type:
5
+ * - GitHub shorthand: owner/repo
6
+ * - GitHub HTTPS URL: https://github.com/owner/repo[.git]
7
+ * - GitHub SSH URL: git@github.com:owner/repo[.git]
8
+ * - Generic git URL: https://other-host.com/org/repo
9
+ * - Local path: ./path, /absolute/path, ../relative
10
+ */
11
+ export type SourceType = 'github' | 'git' | 'local';
12
+ export interface ParsedSource {
13
+ type: SourceType;
14
+ /** GitHub owner or org, extracted from URL or git remote */
15
+ owner: string;
16
+ /** Repository name (no .git suffix) */
17
+ repo: string;
18
+ /** Full clone URL (undefined for local) */
19
+ cloneUrl?: string;
20
+ /** Resolved absolute path (only for local) */
21
+ absolutePath?: string;
22
+ }
23
+ /**
24
+ * Parse <source> argument into a structured ParsedSource.
25
+ * Throws with a descriptive message if the input is unrecognizable.
26
+ */
27
+ export declare function parseSource(source: string): ParsedSource;
28
+ //# sourceMappingURL=source-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-parser.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/source-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA0FxD"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Source Parser for `specweave get`
3
+ *
4
+ * Parses the <source> argument into a structured type:
5
+ * - GitHub shorthand: owner/repo
6
+ * - GitHub HTTPS URL: https://github.com/owner/repo[.git]
7
+ * - GitHub SSH URL: git@github.com:owner/repo[.git]
8
+ * - Generic git URL: https://other-host.com/org/repo
9
+ * - Local path: ./path, /absolute/path, ../relative
10
+ */
11
+ import * as path from 'path';
12
+ import * as fs from 'fs';
13
+ /**
14
+ * Parse <source> argument into a structured ParsedSource.
15
+ * Throws with a descriptive message if the input is unrecognizable.
16
+ */
17
+ export function parseSource(source) {
18
+ const trimmed = source.trim().replace(/\/+$/, ''); // strip trailing slashes
19
+ // 1. Local path — starts with ./ ../ / or ~ or exists on disk
20
+ if (trimmed.startsWith('./') ||
21
+ trimmed.startsWith('../') ||
22
+ trimmed.startsWith('/') ||
23
+ trimmed.startsWith('~') ||
24
+ fs.existsSync(trimmed)) {
25
+ const resolved = trimmed.startsWith('~')
26
+ ? path.join(process.env.HOME || '~', trimmed.slice(1))
27
+ : path.resolve(trimmed);
28
+ return {
29
+ type: 'local',
30
+ owner: '',
31
+ repo: path.basename(resolved),
32
+ absolutePath: resolved,
33
+ };
34
+ }
35
+ // 2. SSH URL: git@github.com:owner/repo[.git]
36
+ const sshGitHub = trimmed.match(/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/);
37
+ if (sshGitHub) {
38
+ return {
39
+ type: 'github',
40
+ owner: sshGitHub[1],
41
+ repo: sshGitHub[2],
42
+ cloneUrl: trimmed.endsWith('.git') ? trimmed : `${trimmed}.git`,
43
+ };
44
+ }
45
+ // 3. Generic SSH: git@host:org/repo
46
+ const sshGeneric = trimmed.match(/^git@([^:]+):([^/]+)\/(.+?)(?:\.git)?$/);
47
+ if (sshGeneric) {
48
+ return {
49
+ type: 'git',
50
+ owner: sshGeneric[2],
51
+ repo: sshGeneric[3],
52
+ cloneUrl: trimmed,
53
+ };
54
+ }
55
+ // 4. HTTPS GitHub URL
56
+ const httpsGitHub = trimmed.match(/^https?:\/\/github\.com\/([^/]+)\/(.+?)(?:\.git)?$/);
57
+ if (httpsGitHub) {
58
+ const owner = httpsGitHub[1];
59
+ const repo = httpsGitHub[2];
60
+ return {
61
+ type: 'github',
62
+ owner,
63
+ repo,
64
+ cloneUrl: `https://github.com/${owner}/${repo}.git`,
65
+ };
66
+ }
67
+ // 5. Generic HTTPS/HTTP git URL
68
+ const httpsGeneric = trimmed.match(/^https?:\/\/([^/]+)\/([^/]+)\/(.+?)(?:\.git)?$/);
69
+ if (httpsGeneric) {
70
+ return {
71
+ type: 'git',
72
+ owner: httpsGeneric[2],
73
+ repo: httpsGeneric[3],
74
+ cloneUrl: trimmed,
75
+ };
76
+ }
77
+ // 6. GitHub shorthand: owner/repo (exactly one slash, no protocol)
78
+ const shorthand = trimmed.match(/^([a-zA-Z0-9_.-]+)\/([a-zA-Z0-9_.-]+)$/);
79
+ if (shorthand) {
80
+ const owner = shorthand[1];
81
+ const repo = shorthand[2];
82
+ return {
83
+ type: 'github',
84
+ owner,
85
+ repo,
86
+ cloneUrl: `https://github.com/${owner}/${repo}.git`,
87
+ };
88
+ }
89
+ throw new Error(`Cannot parse source: "${source}"\n` +
90
+ 'Accepted formats:\n' +
91
+ ' owner/repo GitHub shorthand\n' +
92
+ ' https://github.com/owner/repo GitHub HTTPS URL\n' +
93
+ ' git@github.com:owner/repo GitHub SSH URL\n' +
94
+ ' https://other-host.com/org/repo Any git HTTPS URL\n' +
95
+ ' ./path/to/local-repo Local path');
96
+ }
97
+ //# sourceMappingURL=source-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-parser.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/get/source-parser.ts"],"names":[],"mappings":"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"}
@@ -166,7 +166,7 @@ export class LifecycleHookDispatcher {
166
166
  // STEP 1b: Update cross-references in existing docs after feature specs are created.
167
167
  // This ensures FEATURE-CATALOG, module docs, and specs README contain links
168
168
  // to the newly created feature spec files. Without this, the link update is
169
- // deferred to the AI skill step (sw:docs-updater) which may not always run.
169
+ // deferred to the done step which may not always run.
170
170
  if (syncResult.success && syncResult.featureId) {
171
171
  try {
172
172
  await LifecycleHookDispatcher.updateDocsLinks(projectRoot, syncResult.featureId, sync.getProjectId());
@@ -1 +1 @@
1
- {"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
@@ -487,7 +487,7 @@ Increment: ${detection.incrementId}
487
487
 
488
488
  🔄 Automatic sync will regenerate:
489
489
  1. plan.md (using Architect Agent)
490
- 2. tasks.md (using test-aware-planner)
490
+ 2. tasks.md (using sw-planner agent)
491
491
 
492
492
  ⚡ Task completion status will be preserved
493
493
 
@@ -78,7 +78,7 @@ export declare class CostEstimator {
78
78
  */
79
79
  estimateIncrement(incrementPath: string): Promise<CostEstimate>;
80
80
  /**
81
- * Estimate planning cost (Architect + test-aware-planner = 2 calls)
81
+ * Estimate planning cost (Architect + Planner = 2 calls)
82
82
  */
83
83
  private estimatePlanning;
84
84
  /**
@@ -72,7 +72,7 @@ export class CostEstimator {
72
72
  };
73
73
  }
74
74
  /**
75
- * Estimate planning cost (Architect + test-aware-planner = 2 calls)
75
+ * Estimate planning cost (Architect + Planner = 2 calls)
76
76
  */
77
77
  estimatePlanning() {
78
78
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.444",
3
+ "version": "1.0.445",
4
4
  "description": "100+ domain-expert AI skills — PM, Architect, Frontend, QA, Security and more. Skills learn your team's patterns permanently. Spec-first planning, autonomous execution, multi-agent teams, synced to GitHub/JIRA. Claude Code, Cursor, Copilot & more.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -72,7 +72,7 @@ These have **explicit task instructions** (e.g., "create tests", "generate code"
72
72
  | `docs-writer` | ✅ "Generates docs ONE SECTION AT A TIME" | ✅ Keep |
73
73
  | `devops` (infra) | ✅ "Generates IaC ONE LAYER AT A TIME" | ✅ Keep |
74
74
  | `increment` | ✅ Creates increment structure | ✅ Keep |
75
- | `test-aware-planner` | Generates tasks.md with tests | Keep |
75
+ | `test-aware-planner` | Merged into sw-planner agent | Removed |
76
76
  | `tdd-cycle` | ✅ Coordinates TDD workflow | ✅ Keep |
77
77
  | (etc.) | | |
78
78
 
@@ -99,8 +99,6 @@ plugins/specweave/
99
99
  │ │ └── templates/
100
100
  │ ├── architect/
101
101
  │ │ └── SKILL.md
102
- │ └── test-aware-planner/
103
- │ └── SKILL.md
104
102
  ```
105
103
 
106
104
  ### How It Works
@@ -204,7 +202,7 @@ Agent({ subagent_type: "general-purpose", prompt: "Research Stripe integration p
204
202
  |-------|----------|---------------|--------|-------|
205
203
  | **PM** | `sw-pm` | `sw:pm` | spec.md | Opus |
206
204
  | **Architect** | `sw-architect` | `sw:architect` | plan.md | Opus |
207
- | **Planner** | `sw-planner` | `sw:test-aware-planner` | tasks.md | Sonnet |
205
+ | **Planner** | `sw-planner` | (inline BDD logic) | tasks.md | Sonnet |
208
206
 
209
207
  ### Standalone Skills (context: fork)
210
208
 
@@ -15,8 +15,6 @@ SpecWeave framework core plugin. Provides increment planning (PM, Architect, Tec
15
15
  | pm | Product Manager for spec-driven development with user stories, acceptance criteria, and MVP planning |
16
16
  | architect | System architect for scalable, maintainable technical designs and ADRs |
17
17
  | roadmap-planner | Product roadmap and feature prioritization with RICE, MoSCoW, and Kano frameworks |
18
- | spec-generator | Generates comprehensive specifications (spec.md, plan.md, tasks.md) for increments |
19
- | test-aware-planner | Generate tasks.md with embedded BDD test plans |
20
18
  | code-simplifier | Code refinement agent that simplifies and improves code clarity |
21
19
  | performance | Performance engineering for web apps, databases, and distributed systems |
22
20
  | security | Security engineer for vulnerability assessment and secure code review |
@@ -25,7 +23,6 @@ SpecWeave framework core plugin. Provides increment planning (PM, Architect, Tec
25
23
  | serverless-recommender | Serverless platform selection expert for AWS Lambda, Azure Functions, etc. |
26
24
  | service-connect | Smart external service connection orchestrator (MCP, REST, SDK, CLI) |
27
25
  | external-sync-wizard | Guide for bidirectional sync with GitHub, JIRA, Azure DevOps |
28
- | docs-updater | Living documentation updater that syncs implementation progress |
29
26
  | update-instructions | Smart merge for CLAUDE.md and AGENTS.md instruction files |
30
27
  | translator | LLM-native translation skill for SpecWeave content |
31
28
  | framework | Expert on SpecWeave framework structure, rules, and conventions |
@@ -3,8 +3,6 @@ name: sw-planner
3
3
  description: Test-Aware Planner for generating tasks.md with BDD test plans. Reads spec.md and plan.md to produce implementation tasks with Given/When/Then scenarios. Use during /sw:increment orchestration.
4
4
  model: sonnet
5
5
  memory: project
6
- skills:
7
- - sw:test-aware-planner
8
6
  ---
9
7
 
10
8
  # Test-Aware Planner Subagent
@@ -13,11 +11,49 @@ You generate `tasks.md` with embedded test plans for each task. No separate test
13
11
 
14
12
  Your prompt will contain: increment ID, increment path, spec.md and plan.md locations. Always read both before generating tasks.
15
13
 
16
- The `sw:test-aware-planner` skill is preloaded with full domain logic including task format, BDD patterns, and coverage targets. Follow its instructions for tasks.md creation.
14
+ ## STEP 0: Register Skill Chain Marker (MANDATORY - DO THIS FIRST)
15
+
16
+ **Before any other work**, register your invocation so the skill-chain-enforcement-guard allows tasks.md writes.
17
+
18
+ Extract the increment ID from your args (e.g., "0323-feature-name"), then write the marker file:
19
+
20
+ ```bash
21
+ mkdir -p .specweave/state
22
+ STATE_FILE=".specweave/state/skill-chain-XXXX-name.json"
23
+ if [ -f "$STATE_FILE" ]; then
24
+ jq '.planner_invoked=true | .planner_invoked_at="'$(date -Iseconds)'"' "$STATE_FILE" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
25
+ else
26
+ echo '{"planner_invoked":true,"planner_invoked_at":"'$(date -Iseconds)'"}' > "$STATE_FILE"
27
+ fi
28
+ ```
29
+
30
+ Replace `XXXX-name` with the actual increment ID. **This unblocks the guard for tasks.md writes.**
31
+
32
+ ## Task Format
33
+
34
+ ```markdown
35
+ ### T-001: [Task Title]
36
+ **User Story**: US-001 | **Satisfies ACs**: AC-US1-01, AC-US1-02
37
+ **Status**: [ ] Not Started
38
+ **Test**: Given [precondition] → When [action] → Then [expected outcome]
39
+ ```
40
+
41
+ ## BDD Patterns
42
+
43
+ - **Given**: System state or preconditions before the action
44
+ - **When**: The specific action or trigger
45
+ - **Then**: Measurable, verifiable outcome
46
+
47
+ Every task MUST have a `**Test**:` block. No exceptions.
48
+
49
+ ## Coverage Rules
50
+
51
+ - Every AC-ID from spec.md must be covered by at least one task
52
+ - Group tasks by user story — one section per US
53
+ - Coverage targets: unit 95%, integration 90%, E2E 100% of AC scenarios
17
54
 
18
55
  ## Critical Reminders
19
56
 
20
- - **Register skill-chain marker** (STEP 0 in preloaded skill) before writing tasks.md
21
57
  - **ONE user story per response** — never generate all tasks at once (prevents crashes)
22
58
  - **AC coverage** — every AC-ID from spec.md must be covered by at least one task
23
59
  - **Chunking discipline** — never exceed 2000 tokens per response
@@ -21,7 +21,7 @@
21
21
  # 1. /sw:increment creates folder + metadata.json (ALLOWED)
22
22
  # 2. /sw:increment MUST invoke Skill("sw:pm") for spec.md
23
23
  # 3. /sw:increment MUST invoke Skill("sw:architect") for plan.md
24
- # 4. /sw:increment MUST invoke Skill("sw:test-aware-planner") for tasks.md
24
+ # 4. /sw:increment MUST delegate to sw-planner agent for tasks.md
25
25
  # 5. Each sub-skill writes a marker to .specweave/state/skill-chain-{increment-id}.json
26
26
  # 6. This guard checks for that marker before allowing the write
27
27
  #
@@ -133,8 +133,8 @@ case "$FILENAME" in
133
133
  STATE_KEY="architect_invoked"
134
134
  ;;
135
135
  tasks.md)
136
- REQUIRED_SKILL="sw:test-aware-planner"
137
- SKILL_LABEL="Test-Aware Planner"
136
+ REQUIRED_SKILL="sw-planner"
137
+ SKILL_LABEL="Planner"
138
138
  STATE_KEY="planner_invoked"
139
139
  ;;
140
140
  esac
@@ -205,7 +205,7 @@ The ${SKILL_LABEL} skill will:
205
205
  SKILL CHAIN (all 3 MUST be invoked):
206
206
  spec.md --> Skill({ skill: \"sw:pm\", args: \"...\" })
207
207
  plan.md --> Skill({ skill: \"sw:architect\", args: \"...\" })
208
- tasks.md --> Skill({ skill: \"sw:test-aware-planner\", args: \"...\" })
208
+ tasks.md --> Agent({ subagent_type: \"sw:sw-planner\", ... })
209
209
 
210
210
  Each skill writes its marker to:
211
211
  ${STATE_DIR}/skill-chain-${INCREMENT_ID}.json
@@ -0,0 +1,80 @@
1
+ ---
2
+ version: 1.0.0
3
+ description: >
4
+ Clone and register an existing repository into the SpecWeave workspace.
5
+ Activate when the user wants to: add a repo, get a repo, clone a repo,
6
+ register a repo, bring in a repo, pull in a repo, add a github repo to umbrella,
7
+ clone and register, "get owner/repo", "add this github repo", "clone this repo
8
+ into my workspace", "register this local repo". Also activate for "restore repos"
9
+ or "clone all child repos" on a new machine.
10
+ Do NOT activate for: add a feature, add a task, add a story, add an increment,
11
+ add a user story (those route to sw:increment).
12
+ triggers:
13
+ - "get repo"
14
+ - "add repo"
15
+ - "clone repo"
16
+ - "register repo"
17
+ - "add github repo"
18
+ - "clone and register"
19
+ - "bring in repo"
20
+ - "pull in repo"
21
+ - "restore repos"
22
+ - "clone all child repos"
23
+ negative_triggers:
24
+ - "add a feature"
25
+ - "add a task"
26
+ - "add a story"
27
+ - "add an increment"
28
+ - "create increment"
29
+ ---
30
+
31
+ # sw:get — Clone & Register Repository
32
+
33
+ Use this skill when the user wants to add an existing repository to their SpecWeave workspace.
34
+
35
+ ## What it does
36
+
37
+ Runs `specweave get <source>` which:
38
+ 1. Parses the source (GitHub shorthand, full URL, SSH URL, or local path)
39
+ 2. Clones the repo into `repositories/{org}/{repo}/` (in umbrella context)
40
+ 3. Registers it in `.specweave/config.json` under `umbrella.childRepos`
41
+ 4. Runs `specweave init` inside the cloned repo
42
+
43
+ ## Instructions
44
+
45
+ 1. Extract the repository source from the user's message:
46
+ - GitHub shorthand: `owner/repo`
47
+ - Full URL: `https://github.com/org/repo`
48
+ - SSH: `git@github.com:org/repo`
49
+ - Local path: `./path/to/repo`
50
+
51
+ 2. Check if the user mentioned optional flags:
52
+ - `--prefix` — US prefix (e.g., "use prefix FE")
53
+ - `--role` — repo role (e.g., "it's a backend service")
54
+ - `--branch` — specific branch (e.g., "clone the develop branch")
55
+ - `--no-init` — skip specweave init
56
+
57
+ 3. Run the command:
58
+ ```bash
59
+ specweave get <source> [--prefix X] [--role Y] [--branch Z] [--no-init]
60
+ ```
61
+
62
+ 4. Report the result to the user.
63
+
64
+ ## Examples
65
+
66
+ | User says | Command |
67
+ |-----------|---------|
68
+ | "add anton-abyzov/my-service" | `specweave get anton-abyzov/my-service` |
69
+ | "clone https://github.com/org/repo" | `specweave get https://github.com/org/repo` |
70
+ | "get this repo: git@github.com:org/repo" | `specweave get git@github.com:org/repo` |
71
+ | "add ./my-local-service to the umbrella" | `specweave get ./my-local-service` |
72
+ | "clone my-service with prefix MSV" | `specweave get owner/my-service --prefix MSV` |
73
+ | "restore all repos on this machine" | See note below |
74
+
75
+ ## New Machine Restore
76
+
77
+ If the user says "restore repos", "clone all child repos", or "set up on new machine":
78
+ 1. Read `.specweave/config.json` → `umbrella.childRepos`
79
+ 2. For each child repo that has a `githubUrl` or derivable URL and whose directory is missing, run `specweave get <owner/repo> --no-init`
80
+ 3. Report which repos were cloned and which were already present
@@ -126,7 +126,7 @@ Good: npm run build → node script.js → Success
126
126
 
127
127
  ### Test Before Ship
128
128
  - Tests pass at every step — unit after each task, E2E before close, no exceptions
129
- - `/sw:test-aware-planner` generates BDD test plans during design — verify they exist before `/sw:do`
129
+ - `/sw:increment` generates BDD test plans during design via the sw-planner agent — verify they exist before `/sw:do`
130
130
  - TDD cycle: `/sw:tdd-red` → `/sw:tdd-green` → `/sw:tdd-refactor`
131
131
  - E2E with Playwright CLI (`npx playwright test`) is a blocking closure gate
132
132
  <!-- /SECTION -->
@@ -378,7 +378,7 @@ specweave context projects
378
378
  5. Create `tasks.md` (task checklist with BDD tests)
379
379
  6. Optional: `plan.md` for complex features
380
380
  7. **Verify** tasks.md has `**Test Plan**:` for every task with testable ACs
381
- 8. **Verify** E2E scenarios exist for user-facing user stories — re-run `/sw:test-aware-planner` if missing
381
+ 8. **Verify** E2E scenarios exist for user-facing user stories — re-run `/sw:plan --force` if missing
382
382
 
383
383
  ### Completing Tasks
384
384
  1. Implement the task
@@ -221,7 +221,7 @@ Primary: `/sw:progress-sync`. Individual: `/sw-github:push`, `/sw-github:close`.
221
221
  **Testing is a pipeline step, not an afterthought.**
222
222
 
223
223
  ### During Design (`/sw:increment`)
224
- - `/sw:test-aware-planner` generates tasks.md with BDD test plans (Given/When/Then) for every AC
224
+ - `/sw:increment` generates tasks.md with BDD test plans (Given/When/Then) for every AC via the sw-planner agent
225
225
  - Every task MUST have a `**Test Plan**:` block before implementation begins
226
226
  - E2E test scenarios MUST be specified for user-facing features
227
227
 
@@ -1,66 +0,0 @@
1
- ---
2
- description: "DEPRECATED: Use /sw:docs-updater skill instead. Living documentation updater that syncs implementation progress to product docs."
3
- user-invocable: false
4
- ---
5
-
6
- # Documentation Updater
7
-
8
- ## Project Overrides
9
-
10
- !`s="docs-updater"; for d in .specweave/skill-memories .claude/skill-memories "$HOME/.claude/skill-memories"; do p="$d/$s.md"; [ -f "$p" ] && awk '/^## Learnings$/{ok=1;next}/^## /{ok=0}ok' "$p" && break; done 2>/dev/null; true`
11
-
12
- Updates product documentation (.specweave/docs/) based on implementation progress.
13
-
14
- ## When to Use
15
-
16
- - Task specifies documentation updates in tasks.md
17
- - Feature implementation is complete
18
- - User says "update documentation" or "sync docs"
19
- - After closing increment to ensure docs reflect reality
20
-
21
- ## What It Does
22
-
23
- 1. **Reads task requirements** - Understands what was implemented from tasks.md
24
- 2. **Updates living docs** - Modifies `.specweave/docs/` files with actual implementation
25
- 3. **Status tracking** - Changes `[DRAFT]` → `[COMPLETE]` on doc sections
26
- 4. **Bidirectional links** - Maintains links between docs and increments
27
- 5. **Format adaptation** - Matches existing doc structure (features/ or modules/)
28
-
29
- ## Workflow
30
-
31
- ```
32
- 1. Read tasks.md → Find documentation tasks
33
- 2. Read implementation → Understand what changed
34
- 3. Update docs → Add real code examples, endpoints, configs
35
- 4. Mark complete → Change [DRAFT] to [COMPLETE]
36
- 5. Verify links → Ensure increment → doc references work
37
- ```
38
-
39
- ## Example
40
-
41
- **tasks.md says:**
42
- ```markdown
43
- **Documentation Updates**:
44
- - [ ] .specweave/docs/features/payment.md [DRAFT]
45
- - [ ] .specweave/docs/api/payments.md [DRAFT]
46
- ```
47
-
48
- **docs-updater does:**
49
- 1. Reads payment implementation code
50
- 2. Updates `payment.md` with actual code examples
51
- 3. Updates API docs with real endpoints discovered in code
52
- 4. Changes status to `[COMPLETE]`
53
-
54
- ## Integration Points
55
-
56
- - **Called by**: spec-generator, task completion hooks
57
- - **Updates**: `.specweave/docs/**/*.md`
58
- - **Reads**: `tasks.md`, implementation code
59
-
60
- ## Best Practices
61
-
62
- - Run after completing feature tasks, not during
63
- - Verify doc links are valid (use relative paths)
64
- - Keep examples in sync with actual code
65
- - Don't over-document - focus on what users need
66
-