specweave 1.0.443 → 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 (55) 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/.specweave/logs/auto-iterations.log +1 -0
  35. package/plugins/specweave/hooks/.specweave/logs/auto-stop-reasons.log +1 -0
  36. package/plugins/specweave/hooks/v2/guards/skill-chain-enforcement-guard.sh +4 -4
  37. package/plugins/specweave/skills/.specweave/logs/reflect/auto-reflect.log +15 -0
  38. package/plugins/specweave/skills/.specweave/logs/reflect/reflect.log +3 -0
  39. package/plugins/specweave/skills/.specweave/logs/stop-auto.log +1 -0
  40. package/plugins/specweave/skills/done/SKILL.md +6 -7
  41. package/plugins/specweave/skills/get/SKILL.md +80 -0
  42. package/plugins/specweave/skills/increment/SKILL.md +1 -1
  43. package/plugins/specweave/skills/plan/SKILL.md +3 -3
  44. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
  45. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +180 -0
  46. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +1266 -0
  47. package/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
  48. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +150 -0
  49. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +1260 -0
  50. package/src/templates/AGENTS.md.template +2 -2
  51. package/src/templates/CLAUDE.md.template +1 -1
  52. package/plugins/specweave/commands/docs-updater.md +0 -66
  53. package/plugins/specweave/skills/docs-updater/SKILL.md +0 -84
  54. package/plugins/specweave/skills/spec-generator/SKILL.md +0 -92
  55. package/plugins/specweave/skills/test-aware-planner/SKILL.md +0 -117
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":"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"}
@@ -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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,aAAa,EAEd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAyB,MAAM,IAAI,CAAC;AAE1D,MAAM,OAAO,uBAAuB;IAMlC,YAAY,cAAsB,OAAO,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAyB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvD,0BAA0B;YAC1B,MAAM,OAAO,GAAwB;gBACnC,MAAM;gBACN,WAAW;gBACX,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,WAAW,CAAC;gBAChF,WAAW,EAAE,EAAE;gBACf,SAAS;gBACT,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,EAAE;aACb,CAAC;YAEF,kCAAkC;YAClC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC5E,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,mBAAmB,CAC7B,WAAW,EACX,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAC1B,gBAAgB,CAAC,QAAQ,EACzB,SAAS,CACV,CAAC;YACJ,CAAC;YAED,uBAAuB;YACvB,OAAO,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACjE,OAAO,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjF,OAAO,CAAC,oBAAoB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEnF,iCAAiC;YACjC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,+CAA+C;gBAC/C,mFAAmF;gBACnF,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,gCAAgC;YAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,+CAA+C;gBAC/C,mFAAmF;gBACnF,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,sBAAsB;YACtB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE/B,0BAA0B;YAC1B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAEhE,WAAW;YACX,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,WAAW;gBACX,YAAY,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACrC,gBAAgB;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACtC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,CAC7B,MAAM,CAAC,WAAW,IAAI,SAAS,EAC/B;gBACE,IAAI,EAAE,aAAa,CAAC,aAAa;gBACjC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,EACD,EAAE,EACF,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,MAAyB;QACrD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,wBAAwB;QACxB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAErD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC,WAAY,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,OAA4B;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE/D,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC;YACH,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;YAC/D,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,WAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAErE,qDAAqD;YACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;gBACjD,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE/F,OAAO;oBACL,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,EAAE,EAAE,eAAe,CAAC,MAAM;iBAC3B,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,gDAAgD;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO,CAAC,IAAI,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9G,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,WAAmB,EACnB,KAA0B,EAC1B,QAAe,EACf,SAAiB;QAEjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW;YACX,YAAY,EAAE,EAAE;YAChB,KAAK;YACL,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,OAA4B;QAC1D,OAAO;;iBAEM,OAAO,CAAC,WAAW;iBACnB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxC,CAAC;IACA,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,OAA4B;QAC3D,OAAO;;iBAEM,OAAO,CAAC,WAAW;iBACnB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;CAexC,CAAC;IACA,CAAC;CACF"}
@@ -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"}