specweave 0.32.3 → 0.32.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +12 -9
- package/bin/specweave.js +78 -0
- package/dist/src/cli/commands/docs.d.ts +45 -0
- package/dist/src/cli/commands/docs.d.ts.map +1 -0
- package/dist/src/cli/commands/docs.js +307 -0
- package/dist/src/cli/commands/docs.js.map +1 -0
- package/dist/src/cli/commands/init-multiproject.js +1 -1
- package/dist/src/cli/commands/init-multiproject.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js +2 -2
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.d.ts +14 -2
- package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.js +292 -188
- package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +9 -3
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts +18 -2
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.js +325 -25
- package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +61 -1
- package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +25 -0
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
- package/dist/src/core/living-docs/cross-project-sync.d.ts +97 -0
- package/dist/src/core/living-docs/cross-project-sync.d.ts.map +1 -0
- package/dist/src/core/living-docs/cross-project-sync.js +135 -0
- package/dist/src/core/living-docs/cross-project-sync.js.map +1 -0
- package/dist/src/core/living-docs/external-sync-orchestrator.d.ts +106 -0
- package/dist/src/core/living-docs/external-sync-orchestrator.d.ts.map +1 -0
- package/dist/src/core/living-docs/external-sync-orchestrator.js +146 -0
- package/dist/src/core/living-docs/external-sync-orchestrator.js.map +1 -0
- package/dist/src/core/living-docs/intelligent-analyzer/organization-synthesizer.js +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +1 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +77 -2
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/generators.d.ts +8 -1
- package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/generators.js +18 -1
- package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/index.d.ts +1 -1
- package/dist/src/core/living-docs/sync-helpers/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/index.js.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/parsers.d.ts +3 -1
- package/dist/src/core/living-docs/sync-helpers/parsers.d.ts.map +1 -1
- package/dist/src/core/living-docs/sync-helpers/parsers.js +24 -2
- package/dist/src/core/living-docs/sync-helpers/parsers.js.map +1 -1
- package/dist/src/core/living-docs/types.d.ts +6 -0
- package/dist/src/core/living-docs/types.d.ts.map +1 -1
- package/dist/src/core/living-docs/validators/index.d.ts +7 -0
- package/dist/src/core/living-docs/validators/index.d.ts.map +1 -0
- package/dist/src/core/living-docs/validators/index.js +7 -0
- package/dist/src/core/living-docs/validators/index.js.map +1 -0
- package/dist/src/core/living-docs/validators/project-validator.d.ts +92 -0
- package/dist/src/core/living-docs/validators/project-validator.d.ts.map +1 -0
- package/dist/src/core/living-docs/validators/project-validator.js +142 -0
- package/dist/src/core/living-docs/validators/project-validator.js.map +1 -0
- package/dist/src/core/project/project-manager.d.ts.map +1 -1
- package/dist/src/core/project/project-manager.js +19 -17
- package/dist/src/core/project/project-manager.js.map +1 -1
- package/dist/src/core/types/config.d.ts +4 -2
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/core/types/increment-metadata.d.ts +34 -0
- package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
- package/dist/src/utils/cross-cutting-detector.d.ts +66 -0
- package/dist/src/utils/cross-cutting-detector.d.ts.map +1 -0
- package/dist/src/utils/cross-cutting-detector.js +179 -0
- package/dist/src/utils/cross-cutting-detector.js.map +1 -0
- package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/config-generator.js +12 -16
- package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.js +24 -5
- package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
- package/dist/src/utils/docs-preview/package-installer.d.ts +3 -0
- package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/package-installer.js +18 -9
- package/dist/src/utils/docs-preview/package-installer.js.map +1 -1
- package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/server-manager.js +2 -1
- package/dist/src/utils/docs-preview/server-manager.js.map +1 -1
- package/dist/src/utils/project-detection.d.ts +12 -8
- package/dist/src/utils/project-detection.d.ts.map +1 -1
- package/dist/src/utils/project-detection.js +13 -19
- package/dist/src/utils/project-detection.js.map +1 -1
- package/dist/src/utils/validators/jira-validator.d.ts +25 -1
- package/dist/src/utils/validators/jira-validator.d.ts.map +1 -1
- package/dist/src/utils/validators/jira-validator.js +254 -172
- package/dist/src/utils/validators/jira-validator.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/specweave-status.md +64 -0
- package/plugins/specweave/hooks/hooks.json +1 -1
- package/plugins/specweave/hooks/spec-project-validator.sh +2 -1
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +34 -0
- package/plugins/specweave/skills/increment-planner/SKILL.md +77 -2
- package/plugins/specweave/skills/spec-generator/SKILL.md +78 -7
- package/plugins/specweave/commands/specweave-switch-project.md +0 -168
package/CLAUDE.md
CHANGED
|
@@ -19,26 +19,29 @@ For **contributors to SpecWeave itself** (not users).
|
|
|
19
19
|
# OR close completed increments: /specweave:done XXXX
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
### 1b. Max
|
|
22
|
+
### 1b. Max 25 Tasks Per Increment (SOFT LIMIT)
|
|
23
23
|
|
|
24
|
-
**>
|
|
24
|
+
**>25 tasks = consider splitting for maintainability**
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
# Check task count before starting work:
|
|
28
28
|
grep -c "^### T-" .specweave/increments/*/tasks.md
|
|
29
29
|
|
|
30
|
-
# If >
|
|
31
|
-
# Pattern: Feature →
|
|
30
|
+
# If >25 tasks: Consider splitting by phase
|
|
31
|
+
# Pattern: Feature → Phase1 (T-001 to T-008) + Phase2 (T-009 to T-016) + ...
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
**
|
|
34
|
+
**When to split (guidelines, not hard rules):**
|
|
35
|
+
- Tasks span unrelated subsystems
|
|
36
|
+
- Different teams would own different phases
|
|
37
|
+
- Review cycles would benefit from smaller PRs
|
|
38
|
+
|
|
39
|
+
**Phase-by-phase execution** (recommended for 15-25 tasks):
|
|
35
40
|
```
|
|
36
|
-
|
|
37
|
-
→ 0046-auth-system-ui/ (T-005 to T-008)
|
|
38
|
-
→ 0047-auth-system-tests/ (T-009 to T-012)
|
|
41
|
+
Execute Phase 1 → validate → continue to Phase 2 → ...
|
|
39
42
|
```
|
|
40
43
|
|
|
41
|
-
**Token budget per increment**: ~
|
|
44
|
+
**Token budget per increment**: ~80k tokens max (tasks + spec + plan + context)
|
|
42
45
|
|
|
43
46
|
### 2. Source of Truth
|
|
44
47
|
|
package/bin/specweave.js
CHANGED
|
@@ -359,6 +359,77 @@ program
|
|
|
359
359
|
await syncCmd.parseAsync(['node', 'sync-scheduled', ...process.argv.slice(3)], { from: 'user' });
|
|
360
360
|
});
|
|
361
361
|
|
|
362
|
+
// Docs command - Documentation preview, build, validation
|
|
363
|
+
const docsCmd = program
|
|
364
|
+
.command('docs')
|
|
365
|
+
.description('Documentation preview, build, and validation (works in any SpecWeave project)');
|
|
366
|
+
|
|
367
|
+
docsCmd
|
|
368
|
+
.command('preview')
|
|
369
|
+
.description('Start documentation preview server with hot reload')
|
|
370
|
+
.option('-p, --port <number>', 'Port number (default: auto-find 3000-3010)')
|
|
371
|
+
.option('-f, --force', 'Force reinstall Docusaurus')
|
|
372
|
+
.option('--no-browser', 'Do not open browser automatically')
|
|
373
|
+
.option('--no-validate', 'Skip pre-flight validation')
|
|
374
|
+
.option('--no-auto-fix', 'Do not auto-fix validation issues')
|
|
375
|
+
.action(async (options) => {
|
|
376
|
+
const { docsPreviewCommand } = await import('../dist/src/cli/commands/docs.js');
|
|
377
|
+
await docsPreviewCommand({
|
|
378
|
+
port: options.port ? parseInt(options.port, 10) : undefined,
|
|
379
|
+
force: options.force,
|
|
380
|
+
noBrowser: !options.browser,
|
|
381
|
+
validate: options.validate,
|
|
382
|
+
autoFix: options.autoFix,
|
|
383
|
+
});
|
|
384
|
+
});
|
|
385
|
+
|
|
386
|
+
docsCmd
|
|
387
|
+
.command('build')
|
|
388
|
+
.description('Build static documentation site for deployment')
|
|
389
|
+
.option('--no-validate', 'Skip pre-build validation')
|
|
390
|
+
.option('--no-auto-fix', 'Do not auto-fix validation issues')
|
|
391
|
+
.option('-o, --output <path>', 'Output directory')
|
|
392
|
+
.action(async (options) => {
|
|
393
|
+
const { docsBuildCommand } = await import('../dist/src/cli/commands/docs.js');
|
|
394
|
+
await docsBuildCommand({
|
|
395
|
+
validate: options.validate,
|
|
396
|
+
autoFix: options.autoFix,
|
|
397
|
+
output: options.output,
|
|
398
|
+
});
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
docsCmd
|
|
402
|
+
.command('validate')
|
|
403
|
+
.description('Validate documentation without starting server')
|
|
404
|
+
.option('--auto-fix', 'Auto-fix common issues')
|
|
405
|
+
.option('-v, --verbose', 'Show all issues (not just errors)')
|
|
406
|
+
.action(async (options) => {
|
|
407
|
+
const { docsValidateCommand } = await import('../dist/src/cli/commands/docs.js');
|
|
408
|
+
await docsValidateCommand(options);
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
docsCmd
|
|
412
|
+
.command('kill')
|
|
413
|
+
.description('Stop all running documentation servers')
|
|
414
|
+
.action(async () => {
|
|
415
|
+
const { docsKillCommand } = await import('../dist/src/cli/commands/docs.js');
|
|
416
|
+
await docsKillCommand();
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
docsCmd
|
|
420
|
+
.command('status')
|
|
421
|
+
.description('Show documentation status and help')
|
|
422
|
+
.action(async () => {
|
|
423
|
+
const { docsStatusCommand } = await import('../dist/src/cli/commands/docs.js');
|
|
424
|
+
await docsStatusCommand();
|
|
425
|
+
});
|
|
426
|
+
|
|
427
|
+
// Default action for 'specweave docs' without subcommand
|
|
428
|
+
docsCmd.action(async () => {
|
|
429
|
+
const { docsStatusCommand } = await import('../dist/src/cli/commands/docs.js');
|
|
430
|
+
await docsStatusCommand();
|
|
431
|
+
});
|
|
432
|
+
|
|
362
433
|
// Context command - Get project/board context for increment planning
|
|
363
434
|
const contextCmd = program
|
|
364
435
|
.command('context')
|
|
@@ -430,6 +501,13 @@ program.on('--help', () => {
|
|
|
430
501
|
console.log(' $ specweave context projects # Get available projects as JSON');
|
|
431
502
|
console.log(' $ specweave context boards --project myapp # Get boards for a project');
|
|
432
503
|
console.log(' $ specweave context select # Interactive project/board selection');
|
|
504
|
+
console.log(' $ specweave docs # Show docs status and help');
|
|
505
|
+
console.log(' $ specweave docs preview # Start docs server with hot reload');
|
|
506
|
+
console.log(' $ specweave docs preview --port 3015 # Start on specific port');
|
|
507
|
+
console.log(' $ specweave docs build # Build static site for deployment');
|
|
508
|
+
console.log(' $ specweave docs validate # Check for docs errors');
|
|
509
|
+
console.log(' $ specweave docs validate --auto-fix # Fix common issues automatically');
|
|
510
|
+
console.log(' $ specweave docs kill # Stop all docs servers');
|
|
433
511
|
console.log('');
|
|
434
512
|
console.log('Supported AI Tools:');
|
|
435
513
|
console.log(' - Claude Code (full automation) - Native skills, agents, hooks');
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation CLI commands
|
|
3
|
+
*
|
|
4
|
+
* Provides CLI interface for documentation preview, build, and validation.
|
|
5
|
+
* Works in ANY SpecWeave user project, not just the SpecWeave repo itself.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/commands/docs
|
|
8
|
+
*/
|
|
9
|
+
export interface DocsPreviewOptions {
|
|
10
|
+
port?: number;
|
|
11
|
+
force?: boolean;
|
|
12
|
+
noBrowser?: boolean;
|
|
13
|
+
validate?: boolean;
|
|
14
|
+
autoFix?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface DocsBuildOptions {
|
|
17
|
+
validate?: boolean;
|
|
18
|
+
autoFix?: boolean;
|
|
19
|
+
output?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface DocsValidateOptions {
|
|
22
|
+
autoFix?: boolean;
|
|
23
|
+
verbose?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Preview documentation with Docusaurus dev server
|
|
27
|
+
*/
|
|
28
|
+
export declare function docsPreviewCommand(options?: DocsPreviewOptions): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Build static documentation site
|
|
31
|
+
*/
|
|
32
|
+
export declare function docsBuildCommand(options?: DocsBuildOptions): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Validate documentation without starting server
|
|
35
|
+
*/
|
|
36
|
+
export declare function docsValidateCommand(options?: DocsValidateOptions): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Kill all running Docusaurus processes
|
|
39
|
+
*/
|
|
40
|
+
export declare function docsKillCommand(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Show docs status and help
|
|
43
|
+
*/
|
|
44
|
+
export declare function docsStatusCommand(): Promise<void>;
|
|
45
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+GxF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DpF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmF1F;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBrD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CvD"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation CLI commands
|
|
3
|
+
*
|
|
4
|
+
* Provides CLI interface for documentation preview, build, and validation.
|
|
5
|
+
* Works in ANY SpecWeave user project, not just the SpecWeave repo itself.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/commands/docs
|
|
8
|
+
*/
|
|
9
|
+
import * as path from 'path';
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
import * as fs from '../../utils/fs-native.js';
|
|
12
|
+
/**
|
|
13
|
+
* Preview documentation with Docusaurus dev server
|
|
14
|
+
*/
|
|
15
|
+
export async function docsPreviewCommand(options = {}) {
|
|
16
|
+
const projectRoot = process.cwd();
|
|
17
|
+
const docsPath = path.join(projectRoot, '.specweave', 'docs', 'internal');
|
|
18
|
+
console.log(chalk.blue('\n📚 SpecWeave Documentation Preview\n'));
|
|
19
|
+
// Check if internal docs exist
|
|
20
|
+
if (!fs.existsSync(docsPath)) {
|
|
21
|
+
console.log(chalk.red('❌ No internal documentation found.'));
|
|
22
|
+
console.log(chalk.dim(` Expected: ${docsPath}`));
|
|
23
|
+
console.log(chalk.dim('\n Run one of these commands first:'));
|
|
24
|
+
console.log(chalk.dim(' • specweave init (for new projects)'));
|
|
25
|
+
console.log(chalk.dim(' • /specweave:increment "feature" (to create docs)\n'));
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
// Run validation first (unless explicitly skipped)
|
|
29
|
+
if (options.validate !== false) {
|
|
30
|
+
console.log(chalk.cyan('🔍 Running pre-flight validation...\n'));
|
|
31
|
+
try {
|
|
32
|
+
const { DocsValidator } = await import('../../utils/docs-validator.js');
|
|
33
|
+
const validator = new DocsValidator({
|
|
34
|
+
docsPath,
|
|
35
|
+
autoFix: options.autoFix ?? true, // Auto-fix by default
|
|
36
|
+
});
|
|
37
|
+
const result = await validator.validate();
|
|
38
|
+
if (result.fixedCount > 0) {
|
|
39
|
+
console.log(chalk.green(` ✅ Auto-fixed ${result.fixedCount} issue(s)`));
|
|
40
|
+
}
|
|
41
|
+
if (!result.valid) {
|
|
42
|
+
console.log(chalk.red('\n❌ Documentation has errors that must be fixed:\n'));
|
|
43
|
+
for (const issue of result.issues.filter(i => i.severity === 'error')) {
|
|
44
|
+
console.log(chalk.red(` • ${issue.file}:${issue.line || 1}`));
|
|
45
|
+
console.log(chalk.dim(` ${issue.message}`));
|
|
46
|
+
}
|
|
47
|
+
console.log(chalk.dim('\n Fix these issues, then try again.\n'));
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
if (result.warnings > 0) {
|
|
51
|
+
console.log(chalk.yellow(` ⚠️ ${result.warnings} warning(s) (non-blocking)`));
|
|
52
|
+
}
|
|
53
|
+
console.log(chalk.green(' ✅ Validation passed!\n'));
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.log(chalk.yellow(' ⚠️ Validation skipped (module not available)'));
|
|
57
|
+
console.log(chalk.dim(` ${error instanceof Error ? error.message : error}\n`));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Launch preview
|
|
61
|
+
try {
|
|
62
|
+
const { launchPreview, killAllDocusaurusProcesses } = await import('../../utils/docs-preview/index.js');
|
|
63
|
+
// Kill any existing Docusaurus processes to avoid port conflicts
|
|
64
|
+
const killed = await killAllDocusaurusProcesses();
|
|
65
|
+
if (killed > 0) {
|
|
66
|
+
console.log(chalk.dim(` Stopped ${killed} existing Docusaurus process(es)\n`));
|
|
67
|
+
}
|
|
68
|
+
console.log(chalk.cyan('🚀 Starting documentation server...\n'));
|
|
69
|
+
const server = await launchPreview(projectRoot, {
|
|
70
|
+
port: options.port,
|
|
71
|
+
openBrowser: !options.noBrowser,
|
|
72
|
+
force: options.force,
|
|
73
|
+
});
|
|
74
|
+
console.log(chalk.green('━'.repeat(50)));
|
|
75
|
+
console.log(chalk.green.bold('\n📚 Documentation Preview Server Started!\n'));
|
|
76
|
+
console.log(chalk.white(` URL: ${chalk.cyan.underline(server.url)}`));
|
|
77
|
+
console.log(chalk.white(` Content: ${chalk.dim('.specweave/docs/internal/')}`));
|
|
78
|
+
console.log(chalk.dim(` Port: ${server.port}`));
|
|
79
|
+
console.log();
|
|
80
|
+
console.log(chalk.white(' Features:'));
|
|
81
|
+
console.log(chalk.dim(' • Hot reload - edit markdown, see changes instantly'));
|
|
82
|
+
console.log(chalk.dim(' • Mermaid diagrams - architecture diagrams render beautifully'));
|
|
83
|
+
console.log(chalk.dim(' • Auto sidebar - generated from folder structure'));
|
|
84
|
+
console.log(chalk.dim(' • Dark/light mode - toggle in navbar'));
|
|
85
|
+
console.log();
|
|
86
|
+
console.log(chalk.yellow(' Press Ctrl+C to stop the server.\n'));
|
|
87
|
+
console.log(chalk.green('━'.repeat(50)));
|
|
88
|
+
console.log();
|
|
89
|
+
// Keep process alive
|
|
90
|
+
process.on('SIGINT', async () => {
|
|
91
|
+
console.log(chalk.dim('\n\nStopping server...'));
|
|
92
|
+
await server.stop();
|
|
93
|
+
console.log(chalk.green('✅ Server stopped\n'));
|
|
94
|
+
process.exit(0);
|
|
95
|
+
});
|
|
96
|
+
// Keep process running
|
|
97
|
+
await new Promise(() => { });
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.log(chalk.red(`\n❌ Failed to start preview server:`));
|
|
101
|
+
console.log(chalk.dim(` ${error instanceof Error ? error.message : error}`));
|
|
102
|
+
if (error instanceof Error && error.message.includes('No available ports')) {
|
|
103
|
+
console.log(chalk.dim('\n Try killing existing processes:'));
|
|
104
|
+
console.log(chalk.dim(' lsof -i :3000-3010 | grep node'));
|
|
105
|
+
console.log(chalk.dim(' kill -9 <PID>'));
|
|
106
|
+
}
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Build static documentation site
|
|
112
|
+
*/
|
|
113
|
+
export async function docsBuildCommand(options = {}) {
|
|
114
|
+
const projectRoot = process.cwd();
|
|
115
|
+
const docsPath = path.join(projectRoot, '.specweave', 'docs', 'internal');
|
|
116
|
+
console.log(chalk.blue('\n📦 SpecWeave Documentation Build\n'));
|
|
117
|
+
// Check if internal docs exist
|
|
118
|
+
if (!fs.existsSync(docsPath)) {
|
|
119
|
+
console.log(chalk.red('❌ No internal documentation found.'));
|
|
120
|
+
console.log(chalk.dim(` Expected: ${docsPath}\n`));
|
|
121
|
+
process.exit(1);
|
|
122
|
+
}
|
|
123
|
+
// Run validation first
|
|
124
|
+
if (options.validate !== false) {
|
|
125
|
+
console.log(chalk.cyan('🔍 Running pre-build validation...\n'));
|
|
126
|
+
try {
|
|
127
|
+
const { DocsValidator } = await import('../../utils/docs-validator.js');
|
|
128
|
+
const validator = new DocsValidator({
|
|
129
|
+
docsPath,
|
|
130
|
+
autoFix: options.autoFix ?? true,
|
|
131
|
+
});
|
|
132
|
+
const result = await validator.validate();
|
|
133
|
+
if (!result.valid) {
|
|
134
|
+
console.log(chalk.red('\n❌ Documentation has errors. Build aborted.\n'));
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
console.log(chalk.green(' ✅ Validation passed!\n'));
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.log(chalk.yellow(' ⚠️ Validation skipped\n'));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Build static site
|
|
144
|
+
try {
|
|
145
|
+
const { buildStaticSite, isSetupNeeded, quickSetup } = await import('../../utils/docs-preview/index.js');
|
|
146
|
+
// Setup if needed
|
|
147
|
+
if (await isSetupNeeded(projectRoot)) {
|
|
148
|
+
console.log(chalk.cyan('📦 First-time setup: Installing Docusaurus...\n'));
|
|
149
|
+
await quickSetup(projectRoot);
|
|
150
|
+
}
|
|
151
|
+
await buildStaticSite(projectRoot);
|
|
152
|
+
const outputPath = options.output || path.join(projectRoot, '.specweave', 'docs-site-internal', 'build');
|
|
153
|
+
console.log(chalk.green('\n✅ Build complete!'));
|
|
154
|
+
console.log(chalk.dim(` Output: ${outputPath}`));
|
|
155
|
+
console.log(chalk.dim('\n To serve locally:'));
|
|
156
|
+
console.log(chalk.dim(` cd ${outputPath} && npx serve\n`));
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
console.log(chalk.red(`\n❌ Build failed:`));
|
|
160
|
+
console.log(chalk.dim(` ${error instanceof Error ? error.message : error}\n`));
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Validate documentation without starting server
|
|
166
|
+
*/
|
|
167
|
+
export async function docsValidateCommand(options = {}) {
|
|
168
|
+
const projectRoot = process.cwd();
|
|
169
|
+
const docsPath = path.join(projectRoot, '.specweave', 'docs', 'internal');
|
|
170
|
+
console.log(chalk.blue('\n🔍 SpecWeave Documentation Validation\n'));
|
|
171
|
+
// Check if internal docs exist
|
|
172
|
+
if (!fs.existsSync(docsPath)) {
|
|
173
|
+
console.log(chalk.red('❌ No internal documentation found.'));
|
|
174
|
+
console.log(chalk.dim(` Expected: ${docsPath}\n`));
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
const { DocsValidator } = await import('../../utils/docs-validator.js');
|
|
179
|
+
const validator = new DocsValidator({
|
|
180
|
+
docsPath,
|
|
181
|
+
autoFix: options.autoFix ?? false, // Don't auto-fix in validate mode by default
|
|
182
|
+
});
|
|
183
|
+
console.log(chalk.dim(` Scanning: ${docsPath}\n`));
|
|
184
|
+
const result = await validator.validate();
|
|
185
|
+
// Print summary
|
|
186
|
+
console.log(chalk.white(' Summary:'));
|
|
187
|
+
console.log(chalk.dim(` • Total files: ${result.totalFiles}`));
|
|
188
|
+
if (result.errors > 0) {
|
|
189
|
+
console.log(chalk.red(` • Errors: ${result.errors}`));
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
console.log(chalk.green(` • Errors: 0`));
|
|
193
|
+
}
|
|
194
|
+
if (result.warnings > 0) {
|
|
195
|
+
console.log(chalk.yellow(` • Warnings: ${result.warnings}`));
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
console.log(chalk.dim(` • Warnings: 0`));
|
|
199
|
+
}
|
|
200
|
+
if (result.fixedCount > 0) {
|
|
201
|
+
console.log(chalk.green(` • Auto-fixed: ${result.fixedCount}`));
|
|
202
|
+
}
|
|
203
|
+
console.log();
|
|
204
|
+
// Print issues
|
|
205
|
+
if (options.verbose || result.errors > 0) {
|
|
206
|
+
for (const issue of result.issues) {
|
|
207
|
+
const color = issue.severity === 'error' ? chalk.red
|
|
208
|
+
: issue.severity === 'warning' ? chalk.yellow
|
|
209
|
+
: chalk.dim;
|
|
210
|
+
const icon = issue.severity === 'error' ? '❌'
|
|
211
|
+
: issue.severity === 'warning' ? '⚠️'
|
|
212
|
+
: 'ℹ️';
|
|
213
|
+
console.log(color(` ${icon} ${issue.file}:${issue.line || 1}`));
|
|
214
|
+
console.log(chalk.dim(` ${issue.type}: ${issue.message}`));
|
|
215
|
+
if (issue.autoFixable && !options.autoFix) {
|
|
216
|
+
console.log(chalk.dim(` (auto-fixable with --auto-fix)`));
|
|
217
|
+
}
|
|
218
|
+
console.log();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Final status
|
|
222
|
+
if (result.valid) {
|
|
223
|
+
console.log(chalk.green('✅ Documentation is valid!\n'));
|
|
224
|
+
process.exit(0);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
console.log(chalk.red('❌ Documentation has errors.\n'));
|
|
228
|
+
if (!options.autoFix) {
|
|
229
|
+
console.log(chalk.dim(' Try running with --auto-fix to fix common issues.\n'));
|
|
230
|
+
}
|
|
231
|
+
process.exit(1);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
console.log(chalk.red(`\n❌ Validation failed:`));
|
|
236
|
+
console.log(chalk.dim(` ${error instanceof Error ? error.message : error}\n`));
|
|
237
|
+
process.exit(1);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Kill all running Docusaurus processes
|
|
242
|
+
*/
|
|
243
|
+
export async function docsKillCommand() {
|
|
244
|
+
console.log(chalk.blue('\n🛑 Stopping Documentation Servers\n'));
|
|
245
|
+
try {
|
|
246
|
+
const { killAllDocusaurusProcesses } = await import('../../utils/docs-preview/index.js');
|
|
247
|
+
const killed = await killAllDocusaurusProcesses();
|
|
248
|
+
if (killed > 0) {
|
|
249
|
+
console.log(chalk.green(`✅ Stopped ${killed} Docusaurus process(es)\n`));
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
console.log(chalk.dim(' No Docusaurus processes running\n'));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
console.log(chalk.red(`\n❌ Failed to stop processes:`));
|
|
257
|
+
console.log(chalk.dim(` ${error instanceof Error ? error.message : error}\n`));
|
|
258
|
+
process.exit(1);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Show docs status and help
|
|
263
|
+
*/
|
|
264
|
+
export async function docsStatusCommand() {
|
|
265
|
+
const projectRoot = process.cwd();
|
|
266
|
+
const docsPath = path.join(projectRoot, '.specweave', 'docs', 'internal');
|
|
267
|
+
const docsSitePath = path.join(projectRoot, '.specweave', 'docs-site-internal');
|
|
268
|
+
console.log(chalk.blue('\n📚 SpecWeave Documentation Status\n'));
|
|
269
|
+
// Check docs exist
|
|
270
|
+
const docsExist = fs.existsSync(docsPath);
|
|
271
|
+
const siteSetup = fs.existsSync(path.join(docsSitePath, 'node_modules'));
|
|
272
|
+
console.log(chalk.white(' Status:'));
|
|
273
|
+
console.log(` • Internal docs: ${docsExist ? chalk.green('✓ Found') : chalk.red('✗ Not found')}`);
|
|
274
|
+
console.log(` • Docusaurus: ${siteSetup ? chalk.green('✓ Installed') : chalk.yellow('○ Not installed (will auto-setup)')}`);
|
|
275
|
+
if (docsExist) {
|
|
276
|
+
// Count docs
|
|
277
|
+
const countMd = (dir) => {
|
|
278
|
+
if (!fs.existsSync(dir))
|
|
279
|
+
return 0;
|
|
280
|
+
let count = 0;
|
|
281
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
282
|
+
for (const entry of entries) {
|
|
283
|
+
if (entry.isDirectory()) {
|
|
284
|
+
count += countMd(path.join(dir, entry.name));
|
|
285
|
+
}
|
|
286
|
+
else if (entry.name.endsWith('.md') || entry.name.endsWith('.mdx')) {
|
|
287
|
+
count++;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return count;
|
|
291
|
+
};
|
|
292
|
+
const docCount = countMd(docsPath);
|
|
293
|
+
console.log(` • Documents: ${chalk.cyan(docCount)} files`);
|
|
294
|
+
}
|
|
295
|
+
console.log(chalk.white('\n Commands:'));
|
|
296
|
+
console.log(chalk.dim(' • specweave docs preview - Start dev server with hot reload'));
|
|
297
|
+
console.log(chalk.dim(' • specweave docs build - Build static site for deployment'));
|
|
298
|
+
console.log(chalk.dim(' • specweave docs validate - Check for errors'));
|
|
299
|
+
console.log(chalk.dim(' • specweave docs kill - Stop all running servers'));
|
|
300
|
+
console.log();
|
|
301
|
+
console.log(chalk.white(' Paths:'));
|
|
302
|
+
console.log(chalk.dim(` • Docs source: .specweave/docs/internal/`));
|
|
303
|
+
console.log(chalk.dim(` • Docusaurus: .specweave/docs-site-internal/`));
|
|
304
|
+
console.log(chalk.dim(` • Build output: .specweave/docs-site-internal/build/`));
|
|
305
|
+
console.log();
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../../src/cli/commands/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,10 +45,10 @@ export async function initMultiProject(projectRoot) {
|
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
// 3. Enable multi-project mode
|
|
48
|
+
// NOTE (v0.33.0): activeProject REMOVED - per-US project targeting replaces it
|
|
48
49
|
if (!config.multiProject) {
|
|
49
50
|
config.multiProject = {
|
|
50
51
|
enabled: true,
|
|
51
|
-
activeProject: projectId,
|
|
52
52
|
projects: {
|
|
53
53
|
[projectId]: {
|
|
54
54
|
id: projectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-multiproject.js","sourceRoot":"","sources":["../../../../src/cli/commands/init-multiproject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAkB,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAG9F,mHAAmH;AACnH,yEAAyE;AACzE,mFAAmF;AACnF,4EAA4E;AAE5E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACxD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAEpE,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;YAChC,OAAO,EAAE,4DAA4D;YACrE,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAEpC,yBAAyB;QACzB,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,kCAAkC,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,CAAC,YAAY,GAAG;gBACpB,OAAO,EAAE,IAAI;gBACb,
|
|
1
|
+
{"version":3,"file":"init-multiproject.js","sourceRoot":"","sources":["../../../../src/cli/commands/init-multiproject.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,10 +42,10 @@ export async function autoMigrateSingleToMulti(projectRoot) {
|
|
|
42
42
|
if (await fs.pathExists(projectPath)) {
|
|
43
43
|
console.log(`✅ Already using multi-project structure (projects/${projectId}/ exists)`);
|
|
44
44
|
// Update config to reflect reality
|
|
45
|
+
// NOTE (v0.33.0): activeProject REMOVED - per-US project targeting replaces it
|
|
45
46
|
if (!config.multiProject) {
|
|
46
47
|
config.multiProject = {
|
|
47
48
|
enabled: false,
|
|
48
|
-
activeProject: projectId,
|
|
49
49
|
projects: {
|
|
50
50
|
[projectId]: {
|
|
51
51
|
id: projectId,
|
|
@@ -79,10 +79,10 @@ export async function autoMigrateSingleToMulti(projectRoot) {
|
|
|
79
79
|
// 3. Create project structure with auto-detected ID
|
|
80
80
|
const projectManager = new ProjectManager(projectRoot);
|
|
81
81
|
// Ensure multiProject section exists
|
|
82
|
+
// NOTE (v0.33.0): activeProject REMOVED - per-US project targeting replaces it
|
|
82
83
|
if (!config.multiProject) {
|
|
83
84
|
config.multiProject = {
|
|
84
85
|
enabled: false, // Still single project, just using new structure
|
|
85
|
-
activeProject: projectId,
|
|
86
86
|
projects: {
|
|
87
87
|
[projectId]: {
|
|
88
88
|
id: projectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-to-multiproject.js","sourceRoot":"","sources":["../../../../src/cli/commands/migrate-to-multiproject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAiB9F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAoB;QAC9B,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAEpC,iEAAiE;QACjE,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,IAAI,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2FAA2F;QAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,qCAAqC,SAAS,EAAE,CACjD,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,qDAAqD,SAAS,WAAW,CAAC,CAAC;YAEvF,mCAAmC;YACnC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,CAAC,YAAY,GAAG;oBACpB,OAAO,EAAE,KAAK;oBACd,
|
|
1
|
+
{"version":3,"file":"migrate-to-multiproject.js","sourceRoot":"","sources":["../../../../src/cli/commands/migrate-to-multiproject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAiB9F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,WAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAoB;QAC9B,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAEpC,iEAAiE;QACjE,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,IAAI,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2FAA2F;QAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,qCAAqC,SAAS,EAAE,CACjD,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,qDAAqD,SAAS,WAAW,CAAC,CAAC;YAEvF,mCAAmC;YACnC,+EAA+E;YAC/E,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,CAAC,YAAY,GAAG;oBACpB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,CAAC,SAAS,CAAC,EAAE;4BACX,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,iBAAiB,CAAC,SAAS,CAAC;4BAC1D,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU;4BACrF,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE;4BAC1C,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,kBAAkB;yBACjD;qBACF;iBACF,CAAC;gBACF,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,WAAW,EACX,4BAA4B,IAAI,CAAC,GAAG,EAAE,OAAO,CAC9C,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,EACX,gCAAgC,CACjC,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEtD,oDAAoD;QACpD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;QAEvD,qCAAqC;QACrC,+EAA+E;QAC/E,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,CAAC,YAAY,GAAG;gBACpB,OAAO,EAAE,KAAK,EAAG,iDAAiD;gBAClE,QAAQ,EAAE;oBACR,CAAC,SAAS,CAAC,EAAE;wBACX,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,iBAAiB,CAAC,SAAS,CAAC;wBAC1D,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU;wBACrF,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE;wBAC1C,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,kBAAkB;qBACjD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,mBAAmB;QACnB,MAAM,cAAc,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,aAAa,CAAC,CAAC;QAE3D,qCAAqC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,EACX,kCAAkC,SAAS,EAAE,CAC9C,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxE,IAAI,aAAa,GAAG,CAAC,CAAC;gBAEtB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAErD,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBACpC,aAAa,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,kBAAkB,GAAG,aAAa,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,aAAa,qBAAqB,SAAS,GAAG,CAAC,CAAC;gBAE3E,yCAAyC;gBACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,WAAW,EACX,oCAAoC,CACrC,CAAC;gBAEF,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,SAAS,aAAa,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAElF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAEhB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,yBAAyB;IACzB,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,wCAAwC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,WAAW,EACX,qCAAqC,SAAS,EAAE,CACjD,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,CAAC,mBAAmB;IACnC,CAAC;IAED,6BAA6B;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,WAAW,EACX,gCAAgC,CACjC,CAAC;IAEF,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,UAAkB;IAElB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,wCAAwC;QACxC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,WAAW,EACX,2CAA2C,CAC5C,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QAED,+BAA+B;QAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,WAAW,EACX,oCAAoC,CACrC,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,WAAW,EACX,gCAAgC,CACjC,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,MAAM,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -33,13 +33,25 @@ export type { AdoProjectSelection };
|
|
|
33
33
|
export interface RepositorySetupResult {
|
|
34
34
|
hosting: RepositoryHosting;
|
|
35
35
|
isMultiRepo: boolean;
|
|
36
|
-
/**
|
|
36
|
+
/** Repo clone pattern for multi-repo (e.g., "sw-*") - works for ADO, GitHub, Bitbucket */
|
|
37
37
|
adoClonePattern?: string;
|
|
38
|
-
/**
|
|
38
|
+
/** Clone pattern details */
|
|
39
39
|
adoClonePatternResult?: AdoClonePatternResult;
|
|
40
40
|
/** ADO project(s) to clone repositories from */
|
|
41
41
|
adoProjectSelection?: AdoProjectSelection;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Generic multi-repo pattern selection strategy type
|
|
45
|
+
*/
|
|
46
|
+
export type MultiRepoCloneStrategy = 'all' | 'pattern-glob' | 'pattern-regex' | 'skip';
|
|
47
|
+
/**
|
|
48
|
+
* Generic multi-repo pattern selection result
|
|
49
|
+
*/
|
|
50
|
+
export interface MultiRepoPatternResult {
|
|
51
|
+
strategy: MultiRepoCloneStrategy;
|
|
52
|
+
pattern?: string;
|
|
53
|
+
isRegex?: boolean;
|
|
54
|
+
}
|
|
43
55
|
/**
|
|
44
56
|
* Prompt user for repository hosting configuration
|
|
45
57
|
*
|