specweave 1.0.32 → 1.0.34

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 (127) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CLAUDE.md +384 -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/initial-increment-generator.d.ts.map +1 -1
  20. package/dist/src/cli/helpers/init/initial-increment-generator.js +12 -10
  21. package/dist/src/cli/helpers/init/initial-increment-generator.js.map +1 -1
  22. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts +23 -0
  23. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts.map +1 -0
  24. package/dist/src/cli/helpers/init/instruction-file-merger.js +243 -0
  25. package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -0
  26. package/dist/src/cli/helpers/init/plugin-installer.js +49 -0
  27. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  28. package/dist/src/config/types.d.ts +2 -2
  29. package/dist/src/core/living-docs/external-sync-orchestrator.d.ts +26 -0
  30. package/dist/src/core/living-docs/external-sync-orchestrator.d.ts.map +1 -1
  31. package/dist/src/core/living-docs/external-sync-orchestrator.js +61 -0
  32. package/dist/src/core/living-docs/external-sync-orchestrator.js.map +1 -1
  33. package/dist/src/core/living-docs/scaffolding/index.d.ts +12 -0
  34. package/dist/src/core/living-docs/scaffolding/index.d.ts.map +1 -0
  35. package/dist/src/core/living-docs/scaffolding/index.js +15 -0
  36. package/dist/src/core/living-docs/scaffolding/index.js.map +1 -0
  37. package/dist/src/core/living-docs/scaffolding/merger.d.ts +183 -0
  38. package/dist/src/core/living-docs/scaffolding/merger.d.ts.map +1 -0
  39. package/dist/src/core/living-docs/scaffolding/merger.js +523 -0
  40. package/dist/src/core/living-docs/scaffolding/merger.js.map +1 -0
  41. package/dist/src/core/living-docs/scaffolding/scaffold.d.ts +102 -0
  42. package/dist/src/core/living-docs/scaffolding/scaffold.d.ts.map +1 -0
  43. package/dist/src/core/living-docs/scaffolding/scaffold.js +346 -0
  44. package/dist/src/core/living-docs/scaffolding/scaffold.js.map +1 -0
  45. package/dist/src/core/living-docs/scaffolding/template-engine.d.ts +108 -0
  46. package/dist/src/core/living-docs/scaffolding/template-engine.d.ts.map +1 -0
  47. package/dist/src/core/living-docs/scaffolding/template-engine.js +204 -0
  48. package/dist/src/core/living-docs/scaffolding/template-engine.js.map +1 -0
  49. package/dist/src/core/living-docs/sync-helpers/generators.d.ts +38 -2
  50. package/dist/src/core/living-docs/sync-helpers/generators.d.ts.map +1 -1
  51. package/dist/src/core/living-docs/sync-helpers/generators.js +65 -10
  52. package/dist/src/core/living-docs/sync-helpers/generators.js.map +1 -1
  53. package/dist/src/core/living-docs/sync-helpers/index.d.ts +1 -1
  54. package/dist/src/core/living-docs/sync-helpers/index.d.ts.map +1 -1
  55. package/dist/src/core/living-docs/sync-helpers/index.js.map +1 -1
  56. package/dist/src/core/tools/index.d.ts +11 -0
  57. package/dist/src/core/tools/index.d.ts.map +1 -0
  58. package/dist/src/core/tools/index.js +10 -0
  59. package/dist/src/core/tools/index.js.map +1 -0
  60. package/dist/src/core/tools/tool-event-bus.d.ts +33 -0
  61. package/dist/src/core/tools/tool-event-bus.d.ts.map +1 -0
  62. package/dist/src/core/tools/tool-event-bus.js +84 -0
  63. package/dist/src/core/tools/tool-event-bus.js.map +1 -0
  64. package/dist/src/core/tools/tool-index-builder.d.ts +27 -0
  65. package/dist/src/core/tools/tool-index-builder.d.ts.map +1 -0
  66. package/dist/src/core/tools/tool-index-builder.js +289 -0
  67. package/dist/src/core/tools/tool-index-builder.js.map +1 -0
  68. package/dist/src/core/tools/tool-registry.d.ts +51 -0
  69. package/dist/src/core/tools/tool-registry.d.ts.map +1 -0
  70. package/dist/src/core/tools/tool-registry.js +224 -0
  71. package/dist/src/core/tools/tool-registry.js.map +1 -0
  72. package/dist/src/core/tools/tool-search-engine.d.ts +22 -0
  73. package/dist/src/core/tools/tool-search-engine.d.ts.map +1 -0
  74. package/dist/src/core/tools/tool-search-engine.js +174 -0
  75. package/dist/src/core/tools/tool-search-engine.js.map +1 -0
  76. package/dist/src/core/tools/types/tool-registry-types.d.ts +112 -0
  77. package/dist/src/core/tools/types/tool-registry-types.d.ts.map +1 -0
  78. package/dist/src/core/tools/types/tool-registry-types.js +7 -0
  79. package/dist/src/core/tools/types/tool-registry-types.js.map +1 -0
  80. package/dist/src/init/compliance/types.d.ts +1 -1
  81. package/package.json +1 -1
  82. package/plugins/specweave/hooks/hooks.json +3 -13
  83. package/plugins/specweave/hooks/lib/common-setup.sh +47 -321
  84. package/plugins/specweave/hooks/lib/migrate-increment-work.sh +5 -5
  85. package/plugins/specweave/hooks/lib/sync-spec-content.sh +5 -5
  86. package/plugins/specweave/hooks/universal/dispatcher.mjs +4 -5
  87. package/plugins/specweave/hooks/universal/fail-fast-wrapper.sh +43 -296
  88. package/plugins/specweave/hooks/universal/hook-wrapper.sh +3 -1
  89. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  90. package/plugins/specweave/hooks/v2/dispatchers/post-tool-use.sh +2 -2
  91. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +1 -10
  92. package/plugins/specweave/hooks/v2/guards/completion-guard.sh +12 -29
  93. package/plugins/specweave/hooks/v2/guards/increment-duplicate-guard.sh +27 -29
  94. package/plugins/specweave/hooks/v2/guards/metadata-json-guard.sh +10 -4
  95. package/plugins/specweave/hooks/v2/guards/spec-validation-guard.sh +139 -0
  96. package/plugins/specweave/hooks/v2/guards/task-ac-sync-guard.sh +4 -2
  97. package/plugins/specweave/hooks/v2/session-end.sh +3 -1
  98. package/plugins/specweave/hooks/v2/session-start.sh +3 -1
  99. package/plugins/specweave/skills/increment-planner/SKILL.md +75 -63
  100. package/plugins/specweave/skills/increment-planner/templates/plan.md +14 -0
  101. package/plugins/specweave/skills/update-instructions/SKILL.md +80 -0
  102. package/plugins/specweave-ado/hooks/post-living-docs-update.sh +1 -1
  103. package/plugins/specweave-mobile/README.md +55 -35
  104. package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +805 -329
  105. package/plugins/specweave-mobile/skills/expo-workflow/SKILL.md +226 -9
  106. package/plugins/specweave-mobile/skills/native-modules/SKILL.md +221 -20
  107. package/plugins/specweave-mobile/skills/performance-optimization/SKILL.md +186 -14
  108. package/plugins/specweave-mobile/skills/react-native-setup/SKILL.md +151 -54
  109. package/plugins/specweave-release/commands/npm.md +61 -17
  110. package/plugins/specweave-release/hooks/post-task-completion.sh +2 -3
  111. package/src/templates/AGENTS.md.template +34 -0
  112. package/src/templates/CLAUDE.md.template +121 -155
  113. package/plugins/specweave/hooks/config-env-separator.sh +0 -99
  114. package/plugins/specweave/hooks/github-metadata-guard.sh +0 -73
  115. package/plugins/specweave/hooks/lib/circuit-breaker.sh +0 -381
  116. package/plugins/specweave/hooks/lib/crash-prevention.sh +0 -336
  117. package/plugins/specweave/hooks/lib/logging.sh +0 -231
  118. package/plugins/specweave/hooks/lib/metrics.sh +0 -347
  119. package/plugins/specweave/hooks/lib/semaphore.sh +0 -216
  120. package/plugins/specweave/hooks/project-folder-guard.sh +0 -274
  121. package/plugins/specweave/hooks/spec-project-validator.sh +0 -210
  122. package/plugins/specweave/hooks/v2/guards/bash-file-guard.sh +0 -212
  123. package/plugins/specweave/hooks/v2/guards/bash-file-guard.test.sh +0 -163
  124. package/plugins/specweave/hooks/v2/guards/features-folder-guard.sh +0 -51
  125. package/plugins/specweave/hooks/v2/guards/increment-root-guard.sh +0 -63
  126. package/plugins/specweave/hooks/v2/guards/per-us-project-validator.sh +0 -335
  127. package/plugins/specweave/hooks/v2/guards/per-us-project-validator.test.sh +0 -406
@@ -11,6 +11,7 @@
11
11
  import type { UserStoryData } from './types.js';
12
12
  import type { USExternalRefsMap } from '../types/increment-metadata.js';
13
13
  import { Logger } from '../../utils/logger.js';
14
+ import type { ToolRegistry, ToolSearchResult, LoadedTool } from '../tools/index.js';
14
15
  /**
15
16
  * Project mapping configuration
16
17
  */
@@ -70,9 +71,34 @@ export declare class ExternalSyncOrchestrator {
70
71
  private projectRoot;
71
72
  private logger;
72
73
  private projectMappings;
74
+ private toolRegistry?;
73
75
  constructor(projectRoot: string, options?: {
74
76
  logger?: Logger;
77
+ toolRegistry?: ToolRegistry;
75
78
  });
79
+ /**
80
+ * Set the tool registry for intelligent tool selection
81
+ */
82
+ setToolRegistry(registry: ToolRegistry): void;
83
+ /**
84
+ * Search for best sync tool matching project configuration
85
+ *
86
+ * Uses Tool Search Registry to find the optimal sync tool based on
87
+ * project mapping (github, jira, ado).
88
+ *
89
+ * @param projectId - Project ID to find sync tool for
90
+ * @returns Best matching tool result or null
91
+ */
92
+ findSyncTool(projectId: string): Promise<ToolSearchResult | null>;
93
+ /**
94
+ * Get loaded sync tool for a project
95
+ *
96
+ * Combines findSyncTool with lazy loading to get full tool content.
97
+ *
98
+ * @param projectId - Project ID
99
+ * @returns Loaded tool with content or null
100
+ */
101
+ getLoadedSyncTool(projectId: string): Promise<LoadedTool | null>;
76
102
  /**
77
103
  * Load project mappings from config
78
104
  */
@@ -1 +1 @@
1
- {"version":3,"file":"external-sync-orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/external-sync-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAiB,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAG9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,EAAE,iBAAiB,CAAC;IAChC,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAsC;gBAEjD,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAKlE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1C;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIhE;;OAEG;IACH,iBAAiB,CACf,WAAW,EAAE,aAAa,EAAE,EAC5B,cAAc,EAAE,MAAM,GACrB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAe/B;;;OAGG;IACH,oBAAoB,CAClB,EAAE,EAAE,aAAa,EACjB,OAAO,EAAE,cAAc,GACtB,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IAcnC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB;IAwBrE;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;IAkB5D;;OAEG;IACH,uBAAuB,CACrB,WAAW,EAAE,aAAa,EAAE,EAC5B,cAAc,EAAE,MAAM,GACrB,8BAA8B;CA0BlC"}
1
+ {"version":3,"file":"external-sync-orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/external-sync-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,67 @@ export class ExternalSyncOrchestrator {
19
19
  this.projectMappings = {};
20
20
  this.projectRoot = projectRoot;
21
21
  this.logger = options.logger ?? consoleLogger;
22
+ this.toolRegistry = options.toolRegistry;
23
+ }
24
+ /**
25
+ * Set the tool registry for intelligent tool selection
26
+ */
27
+ setToolRegistry(registry) {
28
+ this.toolRegistry = registry;
29
+ }
30
+ /**
31
+ * Search for best sync tool matching project configuration
32
+ *
33
+ * Uses Tool Search Registry to find the optimal sync tool based on
34
+ * project mapping (github, jira, ado).
35
+ *
36
+ * @param projectId - Project ID to find sync tool for
37
+ * @returns Best matching tool result or null
38
+ */
39
+ async findSyncTool(projectId) {
40
+ if (!this.toolRegistry) {
41
+ return null;
42
+ }
43
+ const mapping = this.projectMappings[projectId];
44
+ if (!mapping) {
45
+ return null;
46
+ }
47
+ // Build query based on configured providers
48
+ const providers = [];
49
+ if (mapping.github)
50
+ providers.push('github');
51
+ if (mapping.jira)
52
+ providers.push('jira');
53
+ if (mapping.ado)
54
+ providers.push('azure devops', 'ado');
55
+ if (providers.length === 0) {
56
+ return null;
57
+ }
58
+ const query = `sync ${providers.join(' ')} issues`;
59
+ const result = await this.toolRegistry.findBestMatch(query);
60
+ if (result && result.score > 0.3) {
61
+ this.toolRegistry.recordToolSelection(result.tool.id, query, result.score, `project:${projectId}`);
62
+ return result;
63
+ }
64
+ return null;
65
+ }
66
+ /**
67
+ * Get loaded sync tool for a project
68
+ *
69
+ * Combines findSyncTool with lazy loading to get full tool content.
70
+ *
71
+ * @param projectId - Project ID
72
+ * @returns Loaded tool with content or null
73
+ */
74
+ async getLoadedSyncTool(projectId) {
75
+ if (!this.toolRegistry) {
76
+ return null;
77
+ }
78
+ const result = await this.findSyncTool(projectId);
79
+ if (!result) {
80
+ return null;
81
+ }
82
+ return this.toolRegistry.getLoadedTool(result.tool.id);
22
83
  }
23
84
  /**
24
85
  * Load project mappings from config
@@ -1 +1 @@
1
- {"version":3,"file":"external-sync-orchestrator.js","sourceRoot":"","sources":["../../../../src/core/living-docs/external-sync-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-sync-orchestrator.js","sourceRoot":"","sources":["../../../../src/core/living-docs/external-sync-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Living Docs Scaffolding Module
3
+ *
4
+ * Provides template engine, scaffolding, and merging functionality
5
+ * for creating living documentation structures in user projects.
6
+ *
7
+ * @module core/living-docs/scaffolding
8
+ */
9
+ export { TemplateEngine, getTemplateEngine, renderTemplate, createDefaultContext, type TemplateContext, } from './template-engine.js';
10
+ export { LivingDocsScaffold, scaffoldLivingDocs, hasLivingDocsStructure, type ScaffoldOptions, type ScaffoldResult, } from './scaffold.js';
11
+ export { LivingDocsMerger, scanExistingDocs, findSimilarFolders, type DetectedDoc, type DocType, type MergeOptions, type MergeResult, type SimilarityResult, } from './merger.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Living Docs Scaffolding Module
3
+ *
4
+ * Provides template engine, scaffolding, and merging functionality
5
+ * for creating living documentation structures in user projects.
6
+ *
7
+ * @module core/living-docs/scaffolding
8
+ */
9
+ // Template Engine
10
+ export { TemplateEngine, getTemplateEngine, renderTemplate, createDefaultContext, } from './template-engine.js';
11
+ // Scaffold
12
+ export { LivingDocsScaffold, scaffoldLivingDocs, hasLivingDocsStructure, } from './scaffold.js';
13
+ // Merger
14
+ export { LivingDocsMerger, scanExistingDocs, findSimilarFolders, } from './merger.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,kBAAkB;AAClB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAE9B,WAAW;AACX,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GAGvB,MAAM,eAAe,CAAC;AAEvB,SAAS;AACT,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GAMnB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Living Docs Merger - Intelligently merges existing documentation
3
+ *
4
+ * This module scans for existing documentation in a user project and
5
+ * offers to merge/import it into the living docs structure.
6
+ *
7
+ * Smart features:
8
+ * - Detects documentation type (README, API docs, guides, etc.)
9
+ * - Suggests appropriate target folders
10
+ * - Detects similar/duplicate content
11
+ * - Preserves original files (copies, doesn't move)
12
+ *
13
+ * @module core/living-docs/scaffolding/merger
14
+ */
15
+ import { Logger } from '../../../utils/logger.js';
16
+ /**
17
+ * Detected documentation file
18
+ */
19
+ export interface DetectedDoc {
20
+ /** Original file path (relative to project root) */
21
+ sourcePath: string;
22
+ /** Absolute path */
23
+ absolutePath: string;
24
+ /** File name */
25
+ fileName: string;
26
+ /** Detected document type */
27
+ type: DocType;
28
+ /** Confidence score (0-1) */
29
+ confidence: number;
30
+ /** Suggested target folder in living docs */
31
+ suggestedTarget: string;
32
+ /** File size in bytes */
33
+ size: number;
34
+ /** First 500 chars of content (for preview) */
35
+ preview: string;
36
+ /** Detected keywords/themes */
37
+ themes: string[];
38
+ }
39
+ /**
40
+ * Document types
41
+ */
42
+ export type DocType = 'readme' | 'api' | 'guide' | 'architecture' | 'adr' | 'runbook' | 'contributing' | 'changelog' | 'spec' | 'other';
43
+ /**
44
+ * Merge options
45
+ */
46
+ export interface MergeOptions {
47
+ /** Project root path */
48
+ projectPath: string;
49
+ /** Additional folders to scan (besides common locations) */
50
+ additionalFolders?: string[];
51
+ /** Whether to scan recursively */
52
+ recursive?: boolean;
53
+ /** Maximum depth for recursive scan */
54
+ maxDepth?: number;
55
+ /** Minimum confidence to include in results */
56
+ minConfidence?: number;
57
+ /** Logger instance */
58
+ logger?: Logger;
59
+ }
60
+ /**
61
+ * Merge result
62
+ */
63
+ export interface MergeResult {
64
+ /** Detected documentation files */
65
+ detected: DetectedDoc[];
66
+ /** Files that were merged */
67
+ merged: string[];
68
+ /** Files that were skipped */
69
+ skipped: string[];
70
+ /** Any errors */
71
+ errors: string[];
72
+ /** Suggested merges (grouped by target folder) */
73
+ suggestions: Map<string, DetectedDoc[]>;
74
+ }
75
+ /**
76
+ * Similarity result
77
+ */
78
+ export interface SimilarityResult {
79
+ /** Whether files are similar */
80
+ isSimilar: boolean;
81
+ /** Similarity score (0-1) */
82
+ score: number;
83
+ /** Reason for similarity */
84
+ reason?: string;
85
+ }
86
+ /**
87
+ * Living Docs Merger class
88
+ */
89
+ export declare class LivingDocsMerger {
90
+ private projectPath;
91
+ private logger;
92
+ private recursive;
93
+ private maxDepth;
94
+ private minConfidence;
95
+ private additionalFolders;
96
+ constructor(options: MergeOptions);
97
+ /**
98
+ * Scan for existing documentation
99
+ */
100
+ scan(): Promise<DetectedDoc[]>;
101
+ /**
102
+ * Scan a directory for markdown files
103
+ */
104
+ private scanDirectory;
105
+ /**
106
+ * Check if directory should be skipped
107
+ */
108
+ private shouldSkipDir;
109
+ /**
110
+ * Check if file is a documentation file
111
+ */
112
+ private isDocFile;
113
+ /**
114
+ * Analyze a documentation file
115
+ */
116
+ private analyzeFile;
117
+ /**
118
+ * Detect document type from filename and content
119
+ */
120
+ private detectType;
121
+ /**
122
+ * Extract themes/keywords from content
123
+ */
124
+ private extractThemes;
125
+ /**
126
+ * Check similarity between two files using TF-IDF weighted cosine similarity
127
+ *
128
+ * TF-IDF (Term Frequency-Inverse Document Frequency) weights terms by:
129
+ * - How often they appear in a document (TF - more = more important)
130
+ * - How rare they are across all documents (IDF - rarer = more distinctive)
131
+ */
132
+ checkSimilarity(doc1: DetectedDoc, doc2: DetectedDoc): SimilarityResult;
133
+ /**
134
+ * Compute TF-IDF weighted cosine similarity between two texts
135
+ *
136
+ * This is a simplified but effective TF-IDF implementation:
137
+ * - TF: term frequency in document (normalized)
138
+ * - IDF: inverse document frequency (approximated using both documents as corpus)
139
+ */
140
+ private computeTfIdfSimilarity;
141
+ /**
142
+ * Tokenize text into meaningful terms
143
+ * Filters out common stop words and short tokens
144
+ */
145
+ private tokenize;
146
+ /**
147
+ * Compute normalized term frequency
148
+ */
149
+ private computeTermFrequency;
150
+ /**
151
+ * Compute cosine similarity between two TF-IDF vectors
152
+ */
153
+ private cosineSimilarity;
154
+ /**
155
+ * Compute filename similarity using normalized Levenshtein distance
156
+ */
157
+ private computeFilenameSimilarity;
158
+ /**
159
+ * Compute Levenshtein edit distance between two strings
160
+ */
161
+ private levenshteinDistance;
162
+ /**
163
+ * Generate merge suggestions grouped by target folder
164
+ */
165
+ generateSuggestions(detected: DetectedDoc[]): Map<string, DetectedDoc[]>;
166
+ /**
167
+ * Merge a detected document into living docs
168
+ */
169
+ mergeDoc(doc: DetectedDoc, targetFolder?: string): Promise<{
170
+ success: boolean;
171
+ targetPath: string;
172
+ error?: string;
173
+ }>;
174
+ }
175
+ /**
176
+ * Scan for existing documentation (convenience function)
177
+ */
178
+ export declare function scanExistingDocs(options: MergeOptions): Promise<DetectedDoc[]>;
179
+ /**
180
+ * Find similar documentation folders
181
+ */
182
+ export declare function findSimilarFolders(projectPath: string, existingDocs: DetectedDoc[]): Map<string, string[]>;
183
+ //# sourceMappingURL=merger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merger.d.ts","sourceRoot":"","sources":["../../../../../src/core/living-docs/scaffolding/merger.ts"],"names":[],"mappings":"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"}