specweave 1.0.31 → 1.0.33

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 (123) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CLAUDE.md +205 -148
  3. package/README.md +0 -2
  4. package/bin/specweave.js +11 -0
  5. package/dist/src/cli/commands/init.js +1 -1
  6. package/dist/src/cli/commands/init.js.map +1 -1
  7. package/dist/src/cli/commands/update-instructions.d.ts +16 -0
  8. package/dist/src/cli/commands/update-instructions.d.ts.map +1 -0
  9. package/dist/src/cli/commands/update-instructions.js +134 -0
  10. package/dist/src/cli/commands/update-instructions.js.map +1 -0
  11. package/dist/src/cli/helpers/init/directory-structure.d.ts +28 -1
  12. package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -1
  13. package/dist/src/cli/helpers/init/directory-structure.js +163 -33
  14. package/dist/src/cli/helpers/init/directory-structure.js.map +1 -1
  15. package/dist/src/cli/helpers/init/index.d.ts +2 -1
  16. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  17. package/dist/src/cli/helpers/init/index.js +3 -1
  18. package/dist/src/cli/helpers/init/index.js.map +1 -1
  19. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts +23 -0
  20. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts.map +1 -0
  21. package/dist/src/cli/helpers/init/instruction-file-merger.js +243 -0
  22. package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -0
  23. package/dist/src/cli/helpers/init/plugin-installer.js +49 -0
  24. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  25. package/dist/src/config/types.d.ts +2 -2
  26. package/dist/src/core/living-docs/external-sync-orchestrator.d.ts +26 -0
  27. package/dist/src/core/living-docs/external-sync-orchestrator.d.ts.map +1 -1
  28. package/dist/src/core/living-docs/external-sync-orchestrator.js +61 -0
  29. package/dist/src/core/living-docs/external-sync-orchestrator.js.map +1 -1
  30. package/dist/src/core/living-docs/scaffolding/index.d.ts +12 -0
  31. package/dist/src/core/living-docs/scaffolding/index.d.ts.map +1 -0
  32. package/dist/src/core/living-docs/scaffolding/index.js +15 -0
  33. package/dist/src/core/living-docs/scaffolding/index.js.map +1 -0
  34. package/dist/src/core/living-docs/scaffolding/merger.d.ts +183 -0
  35. package/dist/src/core/living-docs/scaffolding/merger.d.ts.map +1 -0
  36. package/dist/src/core/living-docs/scaffolding/merger.js +523 -0
  37. package/dist/src/core/living-docs/scaffolding/merger.js.map +1 -0
  38. package/dist/src/core/living-docs/scaffolding/scaffold.d.ts +102 -0
  39. package/dist/src/core/living-docs/scaffolding/scaffold.d.ts.map +1 -0
  40. package/dist/src/core/living-docs/scaffolding/scaffold.js +346 -0
  41. package/dist/src/core/living-docs/scaffolding/scaffold.js.map +1 -0
  42. package/dist/src/core/living-docs/scaffolding/template-engine.d.ts +108 -0
  43. package/dist/src/core/living-docs/scaffolding/template-engine.d.ts.map +1 -0
  44. package/dist/src/core/living-docs/scaffolding/template-engine.js +204 -0
  45. package/dist/src/core/living-docs/scaffolding/template-engine.js.map +1 -0
  46. package/dist/src/core/living-docs/sync-helpers/generators.d.ts +38 -2
  47. package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -1
  48. package/dist/src/core/living-docs/sync-helpers/generators.js +65 -10
  49. package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -1
  50. package/dist/src/core/living-docs/sync-helpers/index.d.ts +1 -1
  51. package/dist/src/core/living-docs/sync-helpers/index.d.ts.map +1 -1
  52. package/dist/src/core/living-docs/sync-helpers/index.js.map +1 -1
  53. package/dist/src/core/tools/index.d.ts +11 -0
  54. package/dist/src/core/tools/index.d.ts.map +1 -0
  55. package/dist/src/core/tools/index.js +10 -0
  56. package/dist/src/core/tools/index.js.map +1 -0
  57. package/dist/src/core/tools/tool-event-bus.d.ts +33 -0
  58. package/dist/src/core/tools/tool-event-bus.d.ts.map +1 -0
  59. package/dist/src/core/tools/tool-event-bus.js +84 -0
  60. package/dist/src/core/tools/tool-event-bus.js.map +1 -0
  61. package/dist/src/core/tools/tool-index-builder.d.ts +27 -0
  62. package/dist/src/core/tools/tool-index-builder.d.ts.map +1 -0
  63. package/dist/src/core/tools/tool-index-builder.js +289 -0
  64. package/dist/src/core/tools/tool-index-builder.js.map +1 -0
  65. package/dist/src/core/tools/tool-registry.d.ts +51 -0
  66. package/dist/src/core/tools/tool-registry.d.ts.map +1 -0
  67. package/dist/src/core/tools/tool-registry.js +224 -0
  68. package/dist/src/core/tools/tool-registry.js.map +1 -0
  69. package/dist/src/core/tools/tool-search-engine.d.ts +22 -0
  70. package/dist/src/core/tools/tool-search-engine.d.ts.map +1 -0
  71. package/dist/src/core/tools/tool-search-engine.js +174 -0
  72. package/dist/src/core/tools/tool-search-engine.js.map +1 -0
  73. package/dist/src/core/tools/types/tool-registry-types.d.ts +112 -0
  74. package/dist/src/core/tools/types/tool-registry-types.d.ts.map +1 -0
  75. package/dist/src/core/tools/types/tool-registry-types.js +7 -0
  76. package/dist/src/core/tools/types/tool-registry-types.js.map +1 -0
  77. package/dist/src/init/compliance/types.d.ts +1 -1
  78. package/package.json +1 -1
  79. package/plugins/specweave/hooks/hooks.json +3 -13
  80. package/plugins/specweave/hooks/lib/common-setup.sh +47 -321
  81. package/plugins/specweave/hooks/lib/migrate-increment-work.sh +5 -5
  82. package/plugins/specweave/hooks/lib/sync-spec-content.sh +5 -5
  83. package/plugins/specweave/hooks/universal/dispatcher.mjs +4 -5
  84. package/plugins/specweave/hooks/universal/fail-fast-wrapper.sh +43 -296
  85. package/plugins/specweave/hooks/universal/hook-wrapper.sh +3 -1
  86. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  87. package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +2 -2
  88. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +1 -10
  89. package/plugins/specweave/hooks/v2/guards/completion-guard.sh +12 -29
  90. package/plugins/specweave/hooks/v2/guards/increment-duplicate-guard.sh +27 -29
  91. package/plugins/specweave/hooks/v2/guards/metadata-json-guard.sh +10 -4
  92. package/plugins/specweave/hooks/v2/guards/spec-validation-guard.sh +139 -0
  93. package/plugins/specweave/hooks/v2/guards/task-ac-sync-guard.sh +4 -2
  94. package/plugins/specweave/hooks/v2/session-end.sh +3 -1
  95. package/plugins/specweave/hooks/v2/session-start.sh +3 -1
  96. package/plugins/specweave/skills/increment-planner/templates/plan.md +14 -0
  97. package/plugins/specweave/skills/update-instructions/SKILL.md +80 -0
  98. package/plugins/specweave-ado/hooks/post-living-docs-update.sh +1 -1
  99. package/plugins/specweave-mobile/README.md +55 -35
  100. package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +805 -329
  101. package/plugins/specweave-mobile/skills/expo-workflow/SKILL.md +226 -9
  102. package/plugins/specweave-mobile/skills/native-modules/SKILL.md +221 -20
  103. package/plugins/specweave-mobile/skills/performance-optimization/SKILL.md +186 -14
  104. package/plugins/specweave-mobile/skills/react-native-setup/SKILL.md +151 -54
  105. package/plugins/specweave-release/commands/npm.md +61 -17
  106. package/plugins/specweave-release/hooks/post-task-completion.sh +2 -3
  107. package/src/templates/AGENTS.md.template +34 -0
  108. package/src/templates/CLAUDE.md.template +121 -155
  109. package/plugins/specweave/hooks/config-env-separator.sh +0 -99
  110. package/plugins/specweave/hooks/github-metadata-guard.sh +0 -73
  111. package/plugins/specweave/hooks/lib/circuit-breaker.sh +0 -381
  112. package/plugins/specweave/hooks/lib/crash-prevention.sh +0 -336
  113. package/plugins/specweave/hooks/lib/logging.sh +0 -231
  114. package/plugins/specweave/hooks/lib/metrics.sh +0 -347
  115. package/plugins/specweave/hooks/lib/semaphore.sh +0 -216
  116. package/plugins/specweave/hooks/project-folder-guard.sh +0 -274
  117. package/plugins/specweave/hooks/spec-project-validator.sh +0 -210
  118. package/plugins/specweave/hooks/v2/guards/bash-file-guard.sh +0 -212
  119. package/plugins/specweave/hooks/v2/guards/bash-file-guard.test.sh +0 -163
  120. package/plugins/specweave/hooks/v2/guards/features-folder-guard.sh +0 -51
  121. package/plugins/specweave/hooks/v2/guards/increment-root-guard.sh +0 -63
  122. package/plugins/specweave/hooks/v2/guards/per-us-project-validator.sh +0 -335
  123. package/plugins/specweave/hooks/v2/guards/per-us-project-validator.test.sh +0 -406
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-instructions.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/update-instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,UAAU,yBAAyB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CA2Df"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Update Instructions Command
3
+ *
4
+ * Smart merge for CLAUDE.md and AGENTS.md instruction files.
5
+ * Preserves user customizations while updating SpecWeave sections.
6
+ */
7
+ import * as fs from '../../utils/fs-native.js';
8
+ import * as path from 'path';
9
+ import chalk from 'chalk';
10
+ import { mergeInstructionFile, parseTemplateSections, getPackageVersion } from '../helpers/init/instruction-file-merger.js';
11
+ import { findSourceDir } from '../helpers/init/path-utils.js';
12
+ import { getDirname } from '../../utils/esm-helpers.js';
13
+ const __dirname = getDirname(import.meta.url);
14
+ /**
15
+ * CLI command to update CLAUDE.md and AGENTS.md with smart merge
16
+ */
17
+ export async function updateInstructionsCommand(options = {}) {
18
+ const projectPath = process.cwd();
19
+ const version = getPackageVersion();
20
+ console.log(chalk.blue('\n📄 Updating Instruction Files'));
21
+ console.log(chalk.gray(' Version: ' + version));
22
+ console.log(chalk.gray(' Project: ' + projectPath + '\n'));
23
+ // Find templates directory
24
+ const templatesDir = findSourceDir('templates', __dirname);
25
+ if (!templatesDir || !fs.existsSync(templatesDir)) {
26
+ console.error(chalk.red('✗ Templates directory not found'));
27
+ process.exit(1);
28
+ }
29
+ // Update CLAUDE.md
30
+ const claudeResult = await updateFile(projectPath, templatesDir, 'CLAUDE.md', 'claude', version, options);
31
+ // Update AGENTS.md
32
+ const agentsResult = await updateFile(projectPath, templatesDir, 'AGENTS.md', 'agents', version, options);
33
+ // Summary
34
+ console.log(chalk.blue('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
35
+ console.log(chalk.blue(' Summary'));
36
+ console.log(chalk.blue('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
37
+ if (claudeResult.action !== 'skipped') {
38
+ console.log(' CLAUDE.md: ' + formatAction(claudeResult.action));
39
+ if (claudeResult.preserved > 0) {
40
+ console.log(chalk.gray(' Preserved ' + claudeResult.preserved + ' user sections'));
41
+ }
42
+ }
43
+ if (agentsResult.action !== 'skipped') {
44
+ console.log(' AGENTS.md: ' + formatAction(agentsResult.action));
45
+ if (agentsResult.preserved > 0) {
46
+ console.log(chalk.gray(' Preserved ' + agentsResult.preserved + ' user sections'));
47
+ }
48
+ }
49
+ if (options.dryRun) {
50
+ console.log(chalk.yellow('\n ⚠ Dry run - no files were modified'));
51
+ }
52
+ console.log('');
53
+ }
54
+ async function updateFile(projectPath, templatesDir, filename, type, version, options) {
55
+ const filePath = path.join(projectPath, filename);
56
+ const templatePath = path.join(templatesDir, filename + '.template');
57
+ if (!fs.existsSync(templatePath)) {
58
+ if (options.verbose) {
59
+ console.log(chalk.gray(' ⊘ ' + filename + ': template not found, skipping'));
60
+ }
61
+ return { action: 'skipped', preserved: 0 };
62
+ }
63
+ const templateContent = fs.readFileSync(templatePath, 'utf-8');
64
+ const sections = parseTemplateSections(templateContent);
65
+ const existingContent = fs.existsSync(filePath)
66
+ ? fs.readFileSync(filePath, 'utf-8')
67
+ : null;
68
+ // Detect project name from existing content or directory
69
+ const projectName = detectProjectName(existingContent, projectPath);
70
+ const result = mergeInstructionFile(existingContent, sections, type, version, projectName);
71
+ if (options.dryRun) {
72
+ console.log(chalk.yellow(' ○ ' + filename + ': would ' + result.action));
73
+ if (options.verbose && result.updated.length > 0) {
74
+ console.log(chalk.gray(' Would update: ' + result.updated.join(', ')));
75
+ }
76
+ if (options.verbose && result.added.length > 0) {
77
+ console.log(chalk.gray(' Would add: ' + result.added.join(', ')));
78
+ }
79
+ }
80
+ else {
81
+ fs.writeFileSync(filePath, result.content);
82
+ if (result.action === 'created') {
83
+ console.log(chalk.green(' ✓ ' + filename + ': created'));
84
+ }
85
+ else if (result.action === 'merged') {
86
+ console.log(chalk.blue(' ✓ ' + filename + ': merged'));
87
+ if (options.verbose && result.updated.length > 0) {
88
+ console.log(chalk.gray(' Updated: ' + result.updated.join(', ')));
89
+ }
90
+ }
91
+ else if (result.action === 'preserved') {
92
+ console.log(chalk.yellow(' ⚠ ' + filename + ': preserved (errors found)'));
93
+ result.warnings.forEach(w => console.log(chalk.yellow(' ' + w)));
94
+ }
95
+ }
96
+ return { action: result.action, preserved: result.preserved };
97
+ }
98
+ function detectProjectName(content, projectPath) {
99
+ // Try to extract from existing content
100
+ if (content) {
101
+ const match = content.match(/^#\s+(.+?)\s*[-–—]/m);
102
+ if (match) {
103
+ return match[1].trim();
104
+ }
105
+ }
106
+ // Try config.json
107
+ const configPath = path.join(projectPath, '.specweave', 'config.json');
108
+ if (fs.existsSync(configPath)) {
109
+ try {
110
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
111
+ if (config.project?.name) {
112
+ return config.project.name;
113
+ }
114
+ }
115
+ catch {
116
+ // ignore
117
+ }
118
+ }
119
+ // Fallback to directory name
120
+ return path.basename(projectPath);
121
+ }
122
+ function formatAction(action) {
123
+ switch (action) {
124
+ case 'created':
125
+ return chalk.green('created');
126
+ case 'merged':
127
+ return chalk.blue('merged');
128
+ case 'preserved':
129
+ return chalk.yellow('preserved (manual fix needed)');
130
+ default:
131
+ return action;
132
+ }
133
+ }
134
+ //# sourceMappingURL=update-instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-instructions.js","sourceRoot":"","sources":["../../../../src/cli/commands/update-instructions.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,42 @@
1
1
  /**
2
2
  * Directory structure creation and template copying
3
+ *
4
+ * Enhanced with smart scaffolding for living docs (v0.35.0+)
3
5
  */
4
6
  import type { SupportedLanguage } from '../../../core/i18n/types.js';
5
7
  import type { TestMode } from './types.js';
8
+ import { type DetectedDoc } from '../../../core/living-docs/scaffolding/index.js';
6
9
  /**
7
10
  * Create the .specweave directory structure
8
11
  *
12
+ * Enhanced with smart living docs scaffolding:
13
+ * - Creates full docs structure with README files
14
+ * - Detects project ID from git remote
15
+ * - Scans for existing documentation to merge
16
+ *
9
17
  * @param targetDir - Target directory
10
18
  * @param _adapterName - Adapter name (unused, kept for API compatibility)
19
+ * @param options - Optional scaffolding options
20
+ * @returns Promise that resolves when scaffolding is complete
21
+ */
22
+ export declare function createDirectoryStructure(targetDir: string, _adapterName: string, options?: {
23
+ projectName?: string;
24
+ scanExistingDocs?: boolean;
25
+ }): Promise<void>;
26
+ /**
27
+ * Scan for existing documentation and suggest merges
28
+ *
29
+ * Call this after createDirectoryStructure to detect existing docs
30
+ * that could be imported into living docs.
31
+ *
32
+ * @param targetDir - Target directory
33
+ * @returns Detected documentation files with merge suggestions
11
34
  */
12
- export declare function createDirectoryStructure(targetDir: string, _adapterName: string): void;
35
+ export declare function scanAndSuggestMerges(targetDir: string): Promise<{
36
+ detected: DetectedDoc[];
37
+ suggestions: Map<string, DetectedDoc[]>;
38
+ similarFolders: Map<string, string[]>;
39
+ }>;
13
40
  /**
14
41
  * Copy templates and generate CLAUDE.md and AGENTS.md
15
42
  *
@@ -1 +1 @@
1
- {"version":3,"file":"directory-structure.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAqBtF;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CAqEf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAC3B,iBAAiB,GAAE,OAAc,EACjC,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAuFN"}
1
+ {"version":3,"file":"directory-structure.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,gDAAgD,CAAC;AAGxD;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CAsCf;AA4BD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACxC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC,CAAC,CAsBD;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,iBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkIf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,EAC3B,iBAAiB,GAAE,OAAc,EACjC,QAAQ,CAAC,EAAE,QAAQ,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAuFN"}
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Directory structure creation and template copying
3
+ *
4
+ * Enhanced with smart scaffolding for living docs (v0.35.0+)
3
5
  */
4
6
  import * as fs from '../../../utils/fs-native.js';
5
7
  import * as path from 'path';
@@ -8,32 +10,112 @@ import { ClaudeMdGenerator } from '../../../adapters/claude-md-generator.js';
8
10
  import { AgentsMdGenerator } from '../../../adapters/agents-md-generator.js';
9
11
  import { getLocaleManager } from '../../../core/i18n/locale-manager.js';
10
12
  import { findSourceDir, findPackageRoot } from './path-utils.js';
13
+ import { mergeInstructionFile, parseTemplateSections, getPackageVersion } from './instruction-file-merger.js';
14
+ import { LivingDocsScaffold, scanExistingDocs, findSimilarFolders, } from '../../../core/living-docs/scaffolding/index.js';
15
+ import { consoleLogger } from '../../../utils/logger.js';
11
16
  /**
12
17
  * Create the .specweave directory structure
13
18
  *
19
+ * Enhanced with smart living docs scaffolding:
20
+ * - Creates full docs structure with README files
21
+ * - Detects project ID from git remote
22
+ * - Scans for existing documentation to merge
23
+ *
14
24
  * @param targetDir - Target directory
15
25
  * @param _adapterName - Adapter name (unused, kept for API compatibility)
26
+ * @param options - Optional scaffolding options
27
+ * @returns Promise that resolves when scaffolding is complete
16
28
  */
17
- export function createDirectoryStructure(targetDir, _adapterName) {
18
- const directories = [
19
- // Core increment structure
29
+ export async function createDirectoryStructure(targetDir, _adapterName, options) {
30
+ // Core directories (created first for immediate availability)
31
+ const coreDirectories = [
20
32
  '.specweave/increments',
21
- '.specweave/cache', // External tool cache (24-hour TTL)
22
- // 6-pillar documentation structure
23
- '.specweave/docs/internal/strategy', // Business specs (WHAT, WHY)
24
- '.specweave/docs/internal/specs', // Feature specifications (detailed requirements)
25
- '.specweave/docs/internal/architecture', // Technical design (HOW)
26
- '.specweave/docs/internal/architecture/adr', // Architecture Decision Records
27
- '.specweave/docs/internal/architecture/diagrams', // Architecture diagrams
28
- '.specweave/docs/internal/delivery', // Roadmap, CI/CD, guides
29
- '.specweave/docs/internal/operations', // Runbooks, SLOs
30
- '.specweave/docs/internal/governance', // Security, compliance
31
- '.specweave/docs/public', // Published documentation
33
+ '.specweave/cache',
34
+ '.specweave/state',
35
+ ];
36
+ coreDirectories.forEach((dir) => {
37
+ fs.mkdirSync(path.join(targetDir, dir), { recursive: true });
38
+ });
39
+ // Use smart scaffolding for living docs structure
40
+ const scaffold = new LivingDocsScaffold({
41
+ projectPath: targetDir,
42
+ projectName: options?.projectName,
43
+ logger: consoleLogger,
44
+ overwrite: false,
45
+ });
46
+ try {
47
+ // Properly await scaffold completion
48
+ const result = await scaffold.scaffold();
49
+ if (result.success) {
50
+ console.log(chalk.green(' ✓ Living docs structure created'));
51
+ if (result.dirsCreated.length > 0) {
52
+ console.log(chalk.gray(` ${result.dirsCreated.length} directories created`));
53
+ }
54
+ }
55
+ else {
56
+ console.log(chalk.yellow(' ⚠ Living docs scaffolding had errors:'));
57
+ result.errors.forEach(err => console.log(chalk.gray(' ' + err)));
58
+ }
59
+ }
60
+ catch {
61
+ // Fallback to basic structure if scaffolding fails
62
+ console.log(chalk.yellow(' ⚠ Smart scaffolding failed, using basic structure'));
63
+ createBasicDocsStructure(targetDir);
64
+ }
65
+ }
66
+ /**
67
+ * Fallback: Create basic docs structure without scaffolding
68
+ */
69
+ function createBasicDocsStructure(targetDir) {
70
+ const directories = [
71
+ '.specweave/docs/internal/strategy',
72
+ '.specweave/docs/internal/specs',
73
+ '.specweave/docs/internal/architecture',
74
+ '.specweave/docs/internal/architecture/adr',
75
+ '.specweave/docs/internal/architecture/diagrams',
76
+ '.specweave/docs/internal/delivery',
77
+ '.specweave/docs/internal/operations',
78
+ '.specweave/docs/internal/governance',
79
+ '.specweave/docs/internal/modules',
80
+ '.specweave/docs/internal/organization',
81
+ '.specweave/docs/public',
82
+ '.specweave/docs/public/overview',
83
+ '.specweave/docs/public/api',
84
+ '.specweave/docs/public/guides',
32
85
  ];
33
86
  directories.forEach((dir) => {
34
87
  fs.mkdirSync(path.join(targetDir, dir), { recursive: true });
35
88
  });
36
89
  }
90
+ /**
91
+ * Scan for existing documentation and suggest merges
92
+ *
93
+ * Call this after createDirectoryStructure to detect existing docs
94
+ * that could be imported into living docs.
95
+ *
96
+ * @param targetDir - Target directory
97
+ * @returns Detected documentation files with merge suggestions
98
+ */
99
+ export async function scanAndSuggestMerges(targetDir) {
100
+ const detected = await scanExistingDocs({
101
+ projectPath: targetDir,
102
+ recursive: true,
103
+ maxDepth: 5,
104
+ minConfidence: 0.3,
105
+ logger: consoleLogger,
106
+ });
107
+ const similarFolders = findSimilarFolders(targetDir, detected);
108
+ // Group by suggested target
109
+ const suggestions = new Map();
110
+ for (const doc of detected) {
111
+ const target = doc.suggestedTarget;
112
+ if (!suggestions.has(target)) {
113
+ suggestions.set(target, []);
114
+ }
115
+ suggestions.get(target).push(doc);
116
+ }
117
+ return { detected, suggestions, similarFolders };
118
+ }
37
119
  /**
38
120
  * Copy templates and generate CLAUDE.md and AGENTS.md
39
121
  *
@@ -72,27 +154,75 @@ export async function copyTemplates(templatesDir, targetDir, projectName, langua
72
154
  readme = readme.replace(/{{PROJECT_NAME}}/g, projectName);
73
155
  fs.writeFileSync(path.join(targetDir, 'README.md'), readme);
74
156
  }
75
- // Generate CLAUDE.md
76
- const skillsDir = findSourceDir('skills', templatesDir);
77
- const agentsDir = findSourceDir('agents', templatesDir);
78
- const commandsDir = findSourceDir('commands', templatesDir);
157
+ // Generate/Merge CLAUDE.md with smart preservation of user content
158
+ const claudeMdPath = path.join(targetDir, 'CLAUDE.md');
79
159
  const claudeMdTemplatePath = path.normalize(path.join(templatesDir, 'CLAUDE.md.template'));
80
- const claudeGen = new ClaudeMdGenerator(skillsDir, agentsDir, commandsDir);
81
- const claudeMd = await claudeGen.generate({
82
- projectName,
83
- projectPath: targetDir,
84
- templatePath: fs.existsSync(claudeMdTemplatePath) ? claudeMdTemplatePath : undefined
85
- });
86
- fs.writeFileSync(path.join(targetDir, 'CLAUDE.md'), claudeMd);
87
- // Generate AGENTS.md
160
+ if (fs.existsSync(claudeMdTemplatePath)) {
161
+ const templateContent = fs.readFileSync(claudeMdTemplatePath, 'utf-8');
162
+ const sections = parseTemplateSections(templateContent);
163
+ const existingContent = fs.existsSync(claudeMdPath)
164
+ ? fs.readFileSync(claudeMdPath, 'utf-8')
165
+ : null;
166
+ const mergeResult = mergeInstructionFile(existingContent, sections, 'claude', getPackageVersion(), projectName);
167
+ fs.writeFileSync(claudeMdPath, mergeResult.content);
168
+ // Log merge action for user visibility
169
+ if (mergeResult.action === 'merged') {
170
+ console.log(chalk.blue(' ✓ CLAUDE.md merged (preserved ' + mergeResult.preserved + ' user sections)'));
171
+ if (mergeResult.updated.length > 0) {
172
+ console.log(chalk.gray(' Updated: ' + mergeResult.updated.join(', ')));
173
+ }
174
+ if (mergeResult.warnings.length > 0) {
175
+ mergeResult.warnings.forEach(w => console.log(chalk.yellow(' ⚠ ' + w)));
176
+ }
177
+ }
178
+ else if (mergeResult.action === 'created') {
179
+ console.log(chalk.green(' ✓ CLAUDE.md created'));
180
+ }
181
+ }
182
+ else {
183
+ // Fallback to old generator if template not found
184
+ const skillsDir = findSourceDir('skills', templatesDir);
185
+ const agentsDir = findSourceDir('agents', templatesDir);
186
+ const commandsDir = findSourceDir('commands', templatesDir);
187
+ const claudeGen = new ClaudeMdGenerator(skillsDir, agentsDir, commandsDir);
188
+ const claudeMd = await claudeGen.generate({
189
+ projectName,
190
+ projectPath: targetDir,
191
+ templatePath: undefined
192
+ });
193
+ fs.writeFileSync(claudeMdPath, claudeMd);
194
+ }
195
+ // Generate/Merge AGENTS.md with smart preservation of user content
196
+ const agentsMdPath = path.join(targetDir, 'AGENTS.md');
88
197
  const agentsMdTemplatePath = path.normalize(path.join(templatesDir, 'AGENTS.md.template'));
89
- const agentsGen = new AgentsMdGenerator(skillsDir, agentsDir, commandsDir);
90
- const agentsMd = await agentsGen.generate({
91
- projectName,
92
- projectPath: targetDir,
93
- templatePath: fs.existsSync(agentsMdTemplatePath) ? agentsMdTemplatePath : undefined
94
- });
95
- fs.writeFileSync(path.join(targetDir, 'AGENTS.md'), agentsMd);
198
+ if (fs.existsSync(agentsMdTemplatePath)) {
199
+ const templateContent = fs.readFileSync(agentsMdTemplatePath, 'utf-8');
200
+ const sections = parseTemplateSections(templateContent);
201
+ const existingContent = fs.existsSync(agentsMdPath)
202
+ ? fs.readFileSync(agentsMdPath, 'utf-8')
203
+ : null;
204
+ const mergeResult = mergeInstructionFile(existingContent, sections, 'agents', getPackageVersion(), projectName);
205
+ fs.writeFileSync(agentsMdPath, mergeResult.content);
206
+ if (mergeResult.action === 'merged') {
207
+ console.log(chalk.blue(' ✓ AGENTS.md merged (preserved ' + mergeResult.preserved + ' user sections)'));
208
+ }
209
+ else if (mergeResult.action === 'created') {
210
+ console.log(chalk.green(' ✓ AGENTS.md created'));
211
+ }
212
+ }
213
+ else {
214
+ // Fallback to old generator
215
+ const skillsDir = findSourceDir('skills', templatesDir);
216
+ const agentsDir = findSourceDir('agents', templatesDir);
217
+ const commandsDir = findSourceDir('commands', templatesDir);
218
+ const agentsGen = new AgentsMdGenerator(skillsDir, agentsDir, commandsDir);
219
+ const agentsMd = await agentsGen.generate({
220
+ projectName,
221
+ projectPath: targetDir,
222
+ templatePath: undefined
223
+ });
224
+ fs.writeFileSync(agentsMdPath, agentsMd);
225
+ }
96
226
  // Copy .gitignore
97
227
  const gitignoreTemplate = path.join(templatesDir, '.gitignore.template');
98
228
  if (fs.existsSync(gitignoreTemplate)) {
@@ -1 +1 @@
1
- {"version":3,"file":"directory-structure.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,YAAoB;IAC9E,MAAM,WAAW,GAAG;QAClB,2BAA2B;QAC3B,uBAAuB;QACvB,kBAAkB,EAAwB,oCAAoC;QAE9E,mCAAmC;QACnC,mCAAmC,EAAO,6BAA6B;QACvE,gCAAgC,EAAU,iDAAiD;QAC3F,uCAAuC,EAAG,yBAAyB;QACnE,2CAA2C,EAAO,gCAAgC;QAClF,gDAAgD,EAAE,wBAAwB;QAC1E,mCAAmC,EAAO,yBAAyB;QACnE,qCAAqC,EAAK,iBAAiB;QAC3D,qCAAqC,EAAK,uBAAuB;QACjE,wBAAwB,EAAkB,0BAA0B;KACrE,CAAC;IAEF,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAAoB,EACpB,SAAiB,EACjB,WAAmB,EACnB,WAA8B,IAAI;IAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE1C,oCAAoC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,+BAA+B,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1G,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,EAAE,CAAC,CAAC,CAAC;YAEjF,gCAAgC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,8BAA8B,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxG,YAAY,GAAG,OAAO,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAC1D,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE5D,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;QACxC,WAAW;QACX,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9D,qBAAqB;IACrB,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;QACxC,WAAW;QACX,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE9D,kBAAkB;IAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IACzE,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,sBAAsB;IACtB,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IACjF,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzC,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,WAAmB,EACnB,OAAe,EACf,QAA2B,EAC3B,oBAA6B,IAAI,EACjC,QAAmB,EACnB,cAAuB;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAErE,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACjB;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,KAAK,EAAG,4CAA4C;SAC9D;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO;SACjB;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,OAAgB;SAC3B;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,MAAe;SAC1B;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,eAAwB;YACnC,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE;gBACR,sBAAsB,EAAE,IAAI;gBAC5B,sBAAsB,EAAE,IAAI;gBAC5B,eAAe,EAAE,IAAI;gBACrB,oBAAoB,EAAE,IAAI;aAC3B;SACF;QACD,KAAK,EAAE;YACL,oBAAoB,EAAE;gBACpB,gBAAgB,EAAE,IAAI;gBACtB,aAAa,EAAE,IAAI;gBACnB,qBAAqB,EAAE,IAAI;aAC5B;YACD,uBAAuB,EAAE;gBACvB,wBAAwB,EAAE,KAAK;aAChC;SACF;KACF,CAAC;IAEF,wCAAwC;IACxC,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG;YACf,eAAe,EAAE,QAAQ;YACzB,qBAAqB,EAAE,cAAc;YACrC,eAAe,EAAE;gBACf,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE,EAAE,CAAC;gBACtC,WAAW,EAAE,cAAc;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,EAAE,GAAG,CAAC;aACxC;SACF,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,aAAa,GAAG;YACrB,OAAO,EAAE;gBACP,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;aAC3C;SACF,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,WAAW,GAAG;YACnB,MAAM,EAAE,YAAY;YACpB,uBAAuB,EAAE,KAAK;YAC9B,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,IAAI;YACxB,qBAAqB,EAAE,IAAI;YAC3B,sBAAsB,EAAE,KAAK;SAC9B,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"directory-structure.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/directory-structure.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ export { promptTestingConfig, updateConfigWithTesting, type TestingConfigResult,
12
12
  export { promptLanguageSelection, getDefaultLanguageSelection, getLanguageNativeName, type LanguageSelectionResult, } from './language-selection.js';
13
13
  export { promptTranslationConfig, updateConfigWithTranslation, getDefaultTranslationConfig, type TranslationConfigResult, type TranslationScope, } from './translation-config.js';
14
14
  export { promptAndRunExternalImport, } from './external-import.js';
15
- export { createDirectoryStructure, copyTemplates, createConfigFile, } from './directory-structure.js';
15
+ export { createDirectoryStructure, copyTemplates, createConfigFile, scanAndSuggestMerges, } from './directory-structure.js';
16
16
  export { showNextSteps, } from './next-steps.js';
17
17
  export { promptBrownfieldAnalysis, updateConfigWithBrownfield, detectExistingDocsLocations, type BrownfieldAnalysisConfig, type AnalysisDepth, type DetectedDocsLocation, } from './brownfield-analysis.js';
18
+ export { mergeInstructionFile, parseTemplateSections, getPackageVersion, type TemplateType, type TemplateSection, type MergeResult, } from './instruction-file-merger.js';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,aAAa,GACd,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,aAAa,GACd,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC"}
@@ -24,7 +24,7 @@ export { promptTranslationConfig, updateConfigWithTranslation, getDefaultTransla
24
24
  // External import
25
25
  export { promptAndRunExternalImport, } from './external-import.js';
26
26
  // Directory structure
27
- export { createDirectoryStructure, copyTemplates, createConfigFile, } from './directory-structure.js';
27
+ export { createDirectoryStructure, copyTemplates, createConfigFile, scanAndSuggestMerges, } from './directory-structure.js';
28
28
  // Next steps
29
29
  export { showNextSteps, } from './next-steps.js';
30
30
  // v1.0.27: Removed initial-increment-generator exports
@@ -32,4 +32,6 @@ export { showNextSteps, } from './next-steps.js';
32
32
  // File kept for reference but no longer used
33
33
  // Brownfield analysis configuration
34
34
  export { promptBrownfieldAnalysis, updateConfigWithBrownfield, detectExistingDocsLocations, } from './brownfield-analysis.js';
35
+ // Instruction file merger (CLAUDE.md/AGENTS.md)
36
+ export { mergeInstructionFile, parseTemplateSections, getPackageVersion, } from './instruction-file-merger.js';
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GAEb,MAAM,wBAAwB,CAAC;AAEhC,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EACL,iBAAiB,GAGlB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,sBAAsB,GAIvB,MAAM,uBAAuB,CAAC;AAE/B,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAE7B,6CAA6C;AAC7C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AAEjC,4BAA4B;AAC5B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,GAG5B,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EACL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,sBAAsB;AACtB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAElC,aAAa;AACb,OAAO,EACL,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,uDAAuD;AACvD,oFAAoF;AACpF,6CAA6C;AAE7C,oCAAoC;AACpC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,GAI5B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GAEb,MAAM,wBAAwB,CAAC;AAEhC,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,iBAAiB;AACjB,OAAO,EACL,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,GAGlB,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EACL,iBAAiB,GAGlB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,sBAAsB,GAIvB,MAAM,uBAAuB,CAAC;AAE/B,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAE7B,6CAA6C;AAC7C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AAEjC,4BAA4B;AAC5B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,GAG5B,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EACL,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,sBAAsB;AACtB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,aAAa;AACb,OAAO,EACL,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,uDAAuD;AACvD,oFAAoF;AACpF,6CAA6C;AAE7C,oCAAoC;AACpC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,GAI5B,MAAM,0BAA0B,CAAC;AAElC,gDAAgD;AAChD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAIlB,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Instruction File Merger - Smart CLAUDE.md/AGENTS.md merge
3
+ * Updates SW sections, preserves user content
4
+ */
5
+ export type TemplateType = 'claude' | 'agents';
6
+ export interface TemplateSection {
7
+ id: string;
8
+ order: number;
9
+ required: boolean;
10
+ content: string;
11
+ }
12
+ export interface MergeResult {
13
+ content: string;
14
+ action: 'created' | 'merged' | 'preserved';
15
+ updated: string[];
16
+ added: string[];
17
+ preserved: number;
18
+ warnings: string[];
19
+ }
20
+ export declare function mergeInstructionFile(existing: string | null, secs: TemplateSection[], type: TemplateType, ver: string, name: string): MergeResult;
21
+ export declare function parseTemplateSections(content: string): TemplateSection[];
22
+ export declare function getPackageVersion(): string;
23
+ //# sourceMappingURL=instruction-file-merger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction-file-merger.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/instruction-file-merger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAkHD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,IAAI,EAAE,eAAe,EAAE,EACvB,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,WAAW,CA2Fb;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA+CxE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C"}