@planu/cli 1.2.0 → 1.4.0

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 (213) hide show
  1. package/dist/config/dev-lifecycle-catalog.json +22 -0
  2. package/dist/config/license-plans.json +20 -1
  3. package/dist/engine/aider-prompt-generator.d.ts +26 -0
  4. package/dist/engine/aider-prompt-generator.d.ts.map +1 -0
  5. package/dist/engine/aider-prompt-generator.js +144 -0
  6. package/dist/engine/aider-prompt-generator.js.map +1 -0
  7. package/dist/engine/claude-config-auditor/settings-auditor.d.ts.map +1 -1
  8. package/dist/engine/claude-config-auditor/settings-auditor.js +20 -1
  9. package/dist/engine/claude-config-auditor/settings-auditor.js.map +1 -1
  10. package/dist/engine/code-graph-configurator.d.ts +23 -0
  11. package/dist/engine/code-graph-configurator.d.ts.map +1 -0
  12. package/dist/engine/code-graph-configurator.js +80 -0
  13. package/dist/engine/code-graph-configurator.js.map +1 -0
  14. package/dist/engine/continue-config-generator.d.ts +15 -0
  15. package/dist/engine/continue-config-generator.d.ts.map +1 -0
  16. package/dist/engine/continue-config-generator.js +53 -0
  17. package/dist/engine/continue-config-generator.js.map +1 -0
  18. package/dist/engine/doc-compliance-checker.d.ts +23 -0
  19. package/dist/engine/doc-compliance-checker.d.ts.map +1 -0
  20. package/dist/engine/doc-compliance-checker.js +168 -0
  21. package/dist/engine/doc-compliance-checker.js.map +1 -0
  22. package/dist/engine/e2e-test-generator.d.ts +19 -0
  23. package/dist/engine/e2e-test-generator.d.ts.map +1 -0
  24. package/dist/engine/e2e-test-generator.js +210 -0
  25. package/dist/engine/e2e-test-generator.js.map +1 -0
  26. package/dist/engine/ecosystem-detector.d.ts +13 -0
  27. package/dist/engine/ecosystem-detector.d.ts.map +1 -0
  28. package/dist/engine/ecosystem-detector.js +128 -0
  29. package/dist/engine/ecosystem-detector.js.map +1 -0
  30. package/dist/engine/memory-config-generator.d.ts +8 -0
  31. package/dist/engine/memory-config-generator.d.ts.map +1 -0
  32. package/dist/engine/memory-config-generator.js +101 -0
  33. package/dist/engine/memory-config-generator.js.map +1 -0
  34. package/dist/engine/pr-spec-validator.d.ts +25 -0
  35. package/dist/engine/pr-spec-validator.d.ts.map +1 -0
  36. package/dist/engine/pr-spec-validator.js +172 -0
  37. package/dist/engine/pr-spec-validator.js.map +1 -0
  38. package/dist/engine/skill-generator/sections-docs.d.ts +13 -0
  39. package/dist/engine/skill-generator/sections-docs.d.ts.map +1 -0
  40. package/dist/engine/skill-generator/sections-docs.js +59 -0
  41. package/dist/engine/skill-generator/sections-docs.js.map +1 -0
  42. package/dist/engine/skill-generator/skills-content.d.ts +1 -1
  43. package/dist/engine/skill-generator/skills-content.d.ts.map +1 -1
  44. package/dist/engine/skill-generator/skills-content.js +3 -2
  45. package/dist/engine/skill-generator/skills-content.js.map +1 -1
  46. package/dist/engine/skill-generator/skills.d.ts +1 -0
  47. package/dist/engine/skill-generator/skills.d.ts.map +1 -1
  48. package/dist/engine/skill-generator/skills.js +1 -0
  49. package/dist/engine/skill-generator/skills.js.map +1 -1
  50. package/dist/engine/skill-generator.d.ts.map +1 -1
  51. package/dist/engine/skill-generator.js +21 -2
  52. package/dist/engine/skill-generator.js.map +1 -1
  53. package/dist/engine/sweep-issue-generator.d.ts +14 -0
  54. package/dist/engine/sweep-issue-generator.d.ts.map +1 -0
  55. package/dist/engine/sweep-issue-generator.js +140 -0
  56. package/dist/engine/sweep-issue-generator.js.map +1 -0
  57. package/dist/engine/web-fetcher/docs-intelligence.d.ts +8 -0
  58. package/dist/engine/web-fetcher/docs-intelligence.d.ts.map +1 -0
  59. package/dist/engine/web-fetcher/docs-intelligence.js +154 -0
  60. package/dist/engine/web-fetcher/docs-intelligence.js.map +1 -0
  61. package/dist/engine/web-fetcher/registry-auto-discovery.d.ts +20 -0
  62. package/dist/engine/web-fetcher/registry-auto-discovery.d.ts.map +1 -0
  63. package/dist/engine/web-fetcher/registry-auto-discovery.js +184 -0
  64. package/dist/engine/web-fetcher/registry-auto-discovery.js.map +1 -0
  65. package/dist/engine/web-fetcher/stack-detector.d.ts +4 -0
  66. package/dist/engine/web-fetcher/stack-detector.d.ts.map +1 -0
  67. package/dist/engine/web-fetcher/stack-detector.js +155 -0
  68. package/dist/engine/web-fetcher/stack-detector.js.map +1 -0
  69. package/dist/index.js +20 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/tools/aider-launcher-handler.d.ts +4 -0
  72. package/dist/tools/aider-launcher-handler.d.ts.map +1 -0
  73. package/dist/tools/aider-launcher-handler.js +69 -0
  74. package/dist/tools/aider-launcher-handler.js.map +1 -0
  75. package/dist/tools/code-graph-handler.d.ts +6 -0
  76. package/dist/tools/code-graph-handler.d.ts.map +1 -0
  77. package/dist/tools/code-graph-handler.js +68 -0
  78. package/dist/tools/code-graph-handler.js.map +1 -0
  79. package/dist/tools/continue-config-handler.d.ts +4 -0
  80. package/dist/tools/continue-config-handler.d.ts.map +1 -0
  81. package/dist/tools/continue-config-handler.js +88 -0
  82. package/dist/tools/continue-config-handler.js.map +1 -0
  83. package/dist/tools/create-spec/spec-builder.d.ts.map +1 -1
  84. package/dist/tools/create-spec/spec-builder.js +20 -0
  85. package/dist/tools/create-spec/spec-builder.js.map +1 -1
  86. package/dist/tools/create-spec-hu/docs-criteria-adapter.d.ts +14 -0
  87. package/dist/tools/create-spec-hu/docs-criteria-adapter.d.ts.map +1 -0
  88. package/dist/tools/create-spec-hu/docs-criteria-adapter.js +50 -0
  89. package/dist/tools/create-spec-hu/docs-criteria-adapter.js.map +1 -0
  90. package/dist/tools/create-spec-hu.d.ts +1 -1
  91. package/dist/tools/create-spec-hu.d.ts.map +1 -1
  92. package/dist/tools/create-spec-hu.js +5 -1
  93. package/dist/tools/create-spec-hu.js.map +1 -1
  94. package/dist/tools/create-spec.d.ts.map +1 -1
  95. package/dist/tools/create-spec.js +2 -2
  96. package/dist/tools/create-spec.js.map +1 -1
  97. package/dist/tools/doc-compliance-handler.d.ts +3 -0
  98. package/dist/tools/doc-compliance-handler.d.ts.map +1 -0
  99. package/dist/tools/doc-compliance-handler.js +48 -0
  100. package/dist/tools/doc-compliance-handler.js.map +1 -0
  101. package/dist/tools/docs-registry-handler.d.ts +6 -0
  102. package/dist/tools/docs-registry-handler.d.ts.map +1 -0
  103. package/dist/tools/docs-registry-handler.js +73 -0
  104. package/dist/tools/docs-registry-handler.js.map +1 -0
  105. package/dist/tools/e2e-test-generator-handler.d.ts +12 -0
  106. package/dist/tools/e2e-test-generator-handler.d.ts.map +1 -0
  107. package/dist/tools/e2e-test-generator-handler.js +54 -0
  108. package/dist/tools/e2e-test-generator-handler.js.map +1 -0
  109. package/dist/tools/ecosystem-tools-handler.d.ts +4 -0
  110. package/dist/tools/ecosystem-tools-handler.d.ts.map +1 -0
  111. package/dist/tools/ecosystem-tools-handler.js +57 -0
  112. package/dist/tools/ecosystem-tools-handler.js.map +1 -0
  113. package/dist/tools/memory-config-handler.d.ts +4 -0
  114. package/dist/tools/memory-config-handler.d.ts.map +1 -0
  115. package/dist/tools/memory-config-handler.js +110 -0
  116. package/dist/tools/memory-config-handler.js.map +1 -0
  117. package/dist/tools/pr-agent-handler.d.ts +12 -0
  118. package/dist/tools/pr-agent-handler.d.ts.map +1 -0
  119. package/dist/tools/pr-agent-handler.js +47 -0
  120. package/dist/tools/pr-agent-handler.js.map +1 -0
  121. package/dist/tools/register-aider-tools.d.ts +3 -0
  122. package/dist/tools/register-aider-tools.d.ts.map +1 -0
  123. package/dist/tools/register-aider-tools.js +28 -0
  124. package/dist/tools/register-aider-tools.js.map +1 -0
  125. package/dist/tools/register-code-graph-tools.d.ts +3 -0
  126. package/dist/tools/register-code-graph-tools.d.ts.map +1 -0
  127. package/dist/tools/register-code-graph-tools.js +36 -0
  128. package/dist/tools/register-code-graph-tools.js.map +1 -0
  129. package/dist/tools/register-continue-tools.d.ts +3 -0
  130. package/dist/tools/register-continue-tools.d.ts.map +1 -0
  131. package/dist/tools/register-continue-tools.js +38 -0
  132. package/dist/tools/register-continue-tools.js.map +1 -0
  133. package/dist/tools/register-doc-compliance-tools.d.ts +3 -0
  134. package/dist/tools/register-doc-compliance-tools.d.ts.map +1 -0
  135. package/dist/tools/register-doc-compliance-tools.js +18 -0
  136. package/dist/tools/register-doc-compliance-tools.js.map +1 -0
  137. package/dist/tools/register-docs-registry-tools.d.ts +3 -0
  138. package/dist/tools/register-docs-registry-tools.d.ts.map +1 -0
  139. package/dist/tools/register-docs-registry-tools.js +35 -0
  140. package/dist/tools/register-docs-registry-tools.js.map +1 -0
  141. package/dist/tools/register-e2e-test-generator-tools.d.ts +3 -0
  142. package/dist/tools/register-e2e-test-generator-tools.d.ts.map +1 -0
  143. package/dist/tools/register-e2e-test-generator-tools.js +35 -0
  144. package/dist/tools/register-e2e-test-generator-tools.js.map +1 -0
  145. package/dist/tools/register-memory-config-tools.d.ts +3 -0
  146. package/dist/tools/register-memory-config-tools.d.ts.map +1 -0
  147. package/dist/tools/register-memory-config-tools.js +34 -0
  148. package/dist/tools/register-memory-config-tools.js.map +1 -0
  149. package/dist/tools/register-pr-agent-tools.d.ts +3 -0
  150. package/dist/tools/register-pr-agent-tools.d.ts.map +1 -0
  151. package/dist/tools/register-pr-agent-tools.js +34 -0
  152. package/dist/tools/register-pr-agent-tools.js.map +1 -0
  153. package/dist/tools/register-sweep-tools.d.ts +3 -0
  154. package/dist/tools/register-sweep-tools.d.ts.map +1 -0
  155. package/dist/tools/register-sweep-tools.js +42 -0
  156. package/dist/tools/register-sweep-tools.js.map +1 -0
  157. package/dist/tools/register-token-optimizer-tools.d.ts +3 -0
  158. package/dist/tools/register-token-optimizer-tools.d.ts.map +1 -0
  159. package/dist/tools/register-token-optimizer-tools.js +22 -0
  160. package/dist/tools/register-token-optimizer-tools.js.map +1 -0
  161. package/dist/tools/sweep-integration-handler.d.ts +4 -0
  162. package/dist/tools/sweep-integration-handler.d.ts.map +1 -0
  163. package/dist/tools/sweep-integration-handler.js +60 -0
  164. package/dist/tools/sweep-integration-handler.js.map +1 -0
  165. package/dist/types/aider.d.ts +21 -0
  166. package/dist/types/aider.d.ts.map +1 -0
  167. package/dist/types/aider.js +3 -0
  168. package/dist/types/aider.js.map +1 -0
  169. package/dist/types/code-graph-integration.d.ts +22 -0
  170. package/dist/types/code-graph-integration.d.ts.map +1 -0
  171. package/dist/types/code-graph-integration.js +3 -0
  172. package/dist/types/code-graph-integration.js.map +1 -0
  173. package/dist/types/continue-integration.d.ts +32 -0
  174. package/dist/types/continue-integration.d.ts.map +1 -0
  175. package/dist/types/continue-integration.js +3 -0
  176. package/dist/types/continue-integration.js.map +1 -0
  177. package/dist/types/docs.d.ts +70 -0
  178. package/dist/types/docs.d.ts.map +1 -1
  179. package/dist/types/e2e-test-generator.d.ts +27 -0
  180. package/dist/types/e2e-test-generator.d.ts.map +1 -0
  181. package/dist/types/e2e-test-generator.js +3 -0
  182. package/dist/types/e2e-test-generator.js.map +1 -0
  183. package/dist/types/index.d.ts +6 -0
  184. package/dist/types/index.d.ts.map +1 -1
  185. package/dist/types/index.js +6 -0
  186. package/dist/types/index.js.map +1 -1
  187. package/dist/types/mcp.d.ts +17 -0
  188. package/dist/types/mcp.d.ts.map +1 -1
  189. package/dist/types/pr-agent.d.ts +28 -0
  190. package/dist/types/pr-agent.d.ts.map +1 -0
  191. package/dist/types/pr-agent.js +3 -0
  192. package/dist/types/pr-agent.js.map +1 -0
  193. package/dist/types/spec/core.d.ts +2 -0
  194. package/dist/types/spec/core.d.ts.map +1 -1
  195. package/dist/types/sweep.d.ts +22 -0
  196. package/dist/types/sweep.d.ts.map +1 -0
  197. package/dist/types/sweep.js +3 -0
  198. package/dist/types/sweep.js.map +1 -0
  199. package/dist/types/tooling/index.d.ts +2 -0
  200. package/dist/types/tooling/index.d.ts.map +1 -1
  201. package/dist/types/tooling/memory-config.d.ts +25 -0
  202. package/dist/types/tooling/memory-config.d.ts.map +1 -0
  203. package/dist/types/tooling/memory-config.js +3 -0
  204. package/dist/types/tooling/memory-config.js.map +1 -0
  205. package/dist/types/tooling/token-optimizer.d.ts +42 -0
  206. package/dist/types/tooling/token-optimizer.d.ts.map +1 -0
  207. package/dist/types/tooling/token-optimizer.js +3 -0
  208. package/dist/types/tooling/token-optimizer.js.map +1 -0
  209. package/dist/types/tooling.d.ts +1 -1
  210. package/dist/types/tooling.d.ts.map +1 -1
  211. package/package.json +1 -1
  212. package/src/config/dev-lifecycle-catalog.json +22 -0
  213. package/src/config/license-plans.json +20 -1
@@ -0,0 +1,155 @@
1
+ // Planu — Web Fetcher: Stack Detection from text and file paths (SPEC-382)
2
+ // ~50 well-known technologies with their normalized names
3
+ const KNOWN_TECHS = [
4
+ { pattern: /\bnext\.?js\b/i, normalized: 'next.js' },
5
+ { pattern: /\breact\b/i, normalized: 'react' },
6
+ { pattern: /\bvue\.?js\b|\bvuejs\b/i, normalized: 'vue' },
7
+ { pattern: /\bangular\b/i, normalized: 'angular' },
8
+ { pattern: /\bsvelte\b/i, normalized: 'svelte' },
9
+ { pattern: /\bastro\b/i, normalized: 'astro' },
10
+ { pattern: /\bremix\b/i, normalized: 'remix' },
11
+ { pattern: /\bsolid\.?js\b|\bsolidjs\b/i, normalized: 'solid.js' },
12
+ { pattern: /\bqwik\b/i, normalized: 'qwik' },
13
+ { pattern: /\bnuxt\b/i, normalized: 'nuxt' },
14
+ { pattern: /\bgatsbyjs\b|\bgatsby\b/i, normalized: 'gatsby' },
15
+ { pattern: /\bexpress\.?js\b|\bexpressjs\b/i, normalized: 'express' },
16
+ { pattern: /\bhono\b/i, normalized: 'hono' },
17
+ { pattern: /\bfastify\b/i, normalized: 'fastify' },
18
+ { pattern: /\bkoa\b/i, normalized: 'koa' },
19
+ { pattern: /\bnestjs\b|\bnest\.js\b/i, normalized: 'nestjs' },
20
+ { pattern: /\bdjango\b/i, normalized: 'django' },
21
+ { pattern: /\bflask\b/i, normalized: 'flask' },
22
+ { pattern: /\bfastapi\b/i, normalized: 'fastapi' },
23
+ { pattern: /\brails\b|\bruby on rails\b/i, normalized: 'rails' },
24
+ { pattern: /\blaravel\b/i, normalized: 'laravel' },
25
+ { pattern: /\bspring boot\b|\bspringboot\b/i, normalized: 'spring' },
26
+ { pattern: /\bgin\b.{0,10}\bgo\b|\bgo\b.{0,10}\bgin\b/i, normalized: 'gin' },
27
+ { pattern: /\bfiber\b.{0,10}\bgo\b|\bgo\b.{0,10}\bfiber\b/i, normalized: 'fiber' },
28
+ { pattern: /\btypescript\b/i, normalized: 'typescript' },
29
+ { pattern: /\bjavascript\b/i, normalized: 'javascript' },
30
+ { pattern: /\bpython\b/i, normalized: 'python' },
31
+ { pattern: /\bgolang\b|\bgo lang\b|\b(?:^|\s)go(?:\s|$)\b/i, normalized: 'go' },
32
+ { pattern: /\brust\b/i, normalized: 'rust' },
33
+ { pattern: /\bjava\b/i, normalized: 'java' },
34
+ { pattern: /\bkotlin\b/i, normalized: 'kotlin' },
35
+ { pattern: /\bswift\b/i, normalized: 'swift' },
36
+ { pattern: /\bflutter\b/i, normalized: 'flutter' },
37
+ { pattern: /\bexpo\b/i, normalized: 'expo' },
38
+ { pattern: /\breact native\b|\breact-native\b/i, normalized: 'react-native' },
39
+ { pattern: /\bpostgresql\b|\bpostgres\b/i, normalized: 'postgresql' },
40
+ { pattern: /\bmysql\b/i, normalized: 'mysql' },
41
+ { pattern: /\bmongodb\b|\bmongo\b/i, normalized: 'mongodb' },
42
+ { pattern: /\bsqlite\b/i, normalized: 'sqlite' },
43
+ { pattern: /\bsupabase\b/i, normalized: 'supabase' },
44
+ { pattern: /\bfirebase\b/i, normalized: 'firebase' },
45
+ { pattern: /\bprisma\b/i, normalized: 'prisma' },
46
+ { pattern: /\bdrizzle\b/i, normalized: 'drizzle' },
47
+ { pattern: /\btailwind\b/i, normalized: 'tailwind' },
48
+ { pattern: /\bvite\b/i, normalized: 'vite' },
49
+ { pattern: /\bvitest\b/i, normalized: 'vitest' },
50
+ { pattern: /\bjest\b/i, normalized: 'jest' },
51
+ { pattern: /\bdocker\b/i, normalized: 'docker' },
52
+ { pattern: /\bkubernetes\b|\bk8s\b/i, normalized: 'kubernetes' },
53
+ { pattern: /\bstripe\b/i, normalized: 'stripe' },
54
+ { pattern: /\bgraphql\b/i, normalized: 'graphql' },
55
+ { pattern: /\btrpc\b/i, normalized: 'trpc' },
56
+ { pattern: /\bzod\b/i, normalized: 'zod' },
57
+ { pattern: /\bprisma\b/i, normalized: 'prisma' },
58
+ ];
59
+ // npm package pattern: word with hyphen or scoped (@scope/pkg)
60
+ const NPM_PACKAGE_RE = /(?:^|\s)((?:@[\w-]+\/[\w-]+|[\w][\w-]{1,}))(?=\s|$)/g;
61
+ function extractContext(text, match) {
62
+ const idx = match.index ?? 0;
63
+ const matchLen = match[0].length;
64
+ const start = Math.max(0, idx - 20);
65
+ const end = Math.min(text.length, idx + matchLen + 20);
66
+ return text.slice(start, end).trim();
67
+ }
68
+ function normalizeText(text) {
69
+ return text.replace(/\s+/g, ' ').trim();
70
+ }
71
+ export function detectTechsFromText(text) {
72
+ const normalized = normalizeText(text);
73
+ const found = new Map();
74
+ for (const { pattern, normalized: techName } of KNOWN_TECHS) {
75
+ if (found.has(techName)) {
76
+ continue;
77
+ }
78
+ const match = normalized.match(pattern);
79
+ if (match) {
80
+ found.set(techName, {
81
+ name: techName,
82
+ confidence: 'high',
83
+ context: extractContext(normalized, match),
84
+ });
85
+ }
86
+ }
87
+ // Also detect npm package patterns with medium confidence (not already detected)
88
+ const npmMatches = [...normalized.matchAll(NPM_PACKAGE_RE)];
89
+ for (const match of npmMatches) {
90
+ const pkg = match[1];
91
+ if (!pkg) {
92
+ continue;
93
+ }
94
+ const pkgNorm = pkg.toLowerCase();
95
+ // Skip if already captured by known techs or too short
96
+ if (found.has(pkgNorm) || pkgNorm.length < 3) {
97
+ continue;
98
+ }
99
+ // Only include if it looks like a package (has hyphen or slash → scoped)
100
+ if (pkg.includes('-') || pkg.includes('/')) {
101
+ found.set(pkgNorm, {
102
+ name: pkgNorm,
103
+ confidence: 'low',
104
+ context: extractContext(normalized, match),
105
+ });
106
+ }
107
+ }
108
+ return [...found.values()];
109
+ }
110
+ const FILE_TECH_MAP = [
111
+ { pattern: /package\.json$/, name: 'node', confidence: 'high' },
112
+ { pattern: /next\.config\.[cm]?[jt]s$/, name: 'next.js', confidence: 'high' },
113
+ { pattern: /vite\.config\.[cm]?[jt]s$/, name: 'vite', confidence: 'high' },
114
+ { pattern: /vitest\.config\.[cm]?[jt]s$/, name: 'vitest', confidence: 'high' },
115
+ { pattern: /astro\.config\.[cm]?[jt]s$/, name: 'astro', confidence: 'high' },
116
+ { pattern: /remix\.config\.[cm]?[jt]s$/, name: 'remix', confidence: 'high' },
117
+ { pattern: /svelte\.config\.[cm]?[jt]s$/, name: 'svelte', confidence: 'high' },
118
+ { pattern: /nuxt\.config\.[cm]?[jt]s$/, name: 'nuxt', confidence: 'high' },
119
+ { pattern: /tailwind\.config\.[cm]?[jt]s$/, name: 'tailwind', confidence: 'high' },
120
+ { pattern: /prisma\/schema\.prisma$|\.prisma$/, name: 'prisma', confidence: 'high' },
121
+ { pattern: /drizzle\.config\.[cm]?[jt]s$/, name: 'drizzle', confidence: 'high' },
122
+ { pattern: /Dockerfile$|docker-compose\.ya?ml$/, name: 'docker', confidence: 'high' },
123
+ { pattern: /requirements\.txt$|setup\.py$|pyproject\.toml$/, name: 'python', confidence: 'high' },
124
+ { pattern: /go\.mod$|go\.sum$/, name: 'go', confidence: 'high' },
125
+ { pattern: /Cargo\.toml$|Cargo\.lock$/, name: 'rust', confidence: 'high' },
126
+ { pattern: /pom\.xml$|build\.gradle$/, name: 'java', confidence: 'high' },
127
+ { pattern: /tsconfig\.json$/, name: 'typescript', confidence: 'high' },
128
+ { pattern: /\.tsx?$/, name: 'typescript', confidence: 'medium' },
129
+ { pattern: /\.vue$/, name: 'vue', confidence: 'high' },
130
+ { pattern: /\.svelte$/, name: 'svelte', confidence: 'high' },
131
+ { pattern: /\.tsx$/, name: 'react', confidence: 'medium' },
132
+ { pattern: /\.jsx$/, name: 'react', confidence: 'medium' },
133
+ { pattern: /\.py$/, name: 'python', confidence: 'medium' },
134
+ { pattern: /\.go$/, name: 'go', confidence: 'medium' },
135
+ { pattern: /\.rs$/, name: 'rust', confidence: 'medium' },
136
+ { pattern: /\.kt$/, name: 'kotlin', confidence: 'medium' },
137
+ { pattern: /\.swift$/, name: 'swift', confidence: 'medium' },
138
+ { pattern: /\.dart$/, name: 'flutter', confidence: 'medium' },
139
+ ];
140
+ export function detectTechsFromFiles(fileList) {
141
+ const found = new Map();
142
+ for (const filePath of fileList) {
143
+ for (const { pattern, name, confidence } of FILE_TECH_MAP) {
144
+ if (!found.has(name) && pattern.test(filePath)) {
145
+ found.set(name, {
146
+ name,
147
+ confidence,
148
+ context: filePath,
149
+ });
150
+ }
151
+ }
152
+ }
153
+ return [...found.values()];
154
+ }
155
+ //# sourceMappingURL=stack-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-detector.js","sourceRoot":"","sources":["../../../src/engine/web-fetcher/stack-detector.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -185,6 +185,16 @@ import { registerSpecCookbookTools } from './tools/register-spec-cookbook-tools.
185
185
  import { registerSpecDiffVisualTools } from './tools/register-spec-diff-tools.js';
186
186
  import { registerWorkspaceDashboardTools } from './tools/register-workspace-dashboard-tools.js';
187
187
  import { registerParallelSafetyTools } from './tools/register-parallel-safety-tools.js';
188
+ import { registerTokenOptimizerTools } from './tools/register-token-optimizer-tools.js';
189
+ import { registerMemoryConfigTools } from './tools/register-memory-config-tools.js';
190
+ import { registerCodeGraphTools } from './tools/register-code-graph-tools.js';
191
+ import { registerContinueTools } from './tools/register-continue-tools.js';
192
+ import { registerAiderTools } from './tools/register-aider-tools.js';
193
+ import { registerSweepTools } from './tools/register-sweep-tools.js';
194
+ import { registerPrAgentTools } from './tools/register-pr-agent-tools.js';
195
+ import { registerE2eTestGeneratorTools } from './tools/register-e2e-test-generator-tools.js';
196
+ import { registerDocsRegistryTools } from './tools/register-docs-registry-tools.js';
197
+ import { registerDocComplianceTools } from './tools/register-doc-compliance-tools.js';
188
198
  // Server setup
189
199
  const SERVER_INSTRUCTIONS = [
190
200
  'CONTEXT — Why structured specs matter:',
@@ -443,6 +453,16 @@ function registerLatestSpecTools(s) {
443
453
  registerSpecDiffVisualTools(s);
444
454
  registerWorkspaceDashboardTools(s);
445
455
  registerParallelSafetyTools(s);
456
+ registerTokenOptimizerTools(s);
457
+ registerMemoryConfigTools(s);
458
+ registerCodeGraphTools(s);
459
+ registerContinueTools(s);
460
+ registerAiderTools(s);
461
+ registerSweepTools(s);
462
+ registerPrAgentTools(s);
463
+ registerE2eTestGeneratorTools(s);
464
+ registerDocsRegistryTools(s);
465
+ registerDocComplianceTools(s);
446
466
  }
447
467
  function createMcpServer() {
448
468
  const s = withToolTracking(new McpServer({ name: 'planu', version: PLANU_VERSION }, { instructions: SERVER_INSTRUCTIONS }));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ToolResult, GenerateAiderPromptInput, AiderStatusInput } from '../types/index.js';
2
+ export declare function handleGenerateAiderPrompt(input: GenerateAiderPromptInput): Promise<ToolResult>;
3
+ export declare function handleAiderStatus(input: AiderStatusInput): ToolResult;
4
+ //# sourceMappingURL=aider-launcher-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aider-launcher-handler.d.ts","sourceRoot":"","sources":["../../src/tools/aider-launcher-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAOhG,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,UAAU,CAAC,CA2CrB;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAkCrE"}
@@ -0,0 +1,69 @@
1
+ import { generateAiderPrompt, checkAiderStatus } from '../engine/aider-prompt-generator.js';
2
+ // ---------------------------------------------------------------------------
3
+ // generate_aider_prompt
4
+ // ---------------------------------------------------------------------------
5
+ export async function handleGenerateAiderPrompt(input) {
6
+ let result;
7
+ try {
8
+ result = await generateAiderPrompt(input.specId, input.projectPath);
9
+ }
10
+ catch (err) {
11
+ const msg = err instanceof Error ? err.message : String(err);
12
+ return {
13
+ content: [{ type: 'text', text: `Failed to generate aider prompt: ${msg}` }],
14
+ isError: true,
15
+ };
16
+ }
17
+ const lines = [
18
+ `## Aider Command for ${input.specId}`,
19
+ ``,
20
+ `**Spec**: ${result.specTitle}`,
21
+ `**Model**: ${result.model}`,
22
+ ``,
23
+ `### Command`,
24
+ `\`\`\`bash`,
25
+ result.command,
26
+ `\`\`\``,
27
+ ``,
28
+ `### .aider.conf.yml`,
29
+ `\`\`\`yaml`,
30
+ result.confContent,
31
+ `\`\`\``,
32
+ ``,
33
+ `### How to use`,
34
+ result.explanation,
35
+ ];
36
+ return {
37
+ content: [{ type: 'text', text: lines.join('\n') }],
38
+ structuredContent: {
39
+ command: result.command,
40
+ confContent: result.confContent,
41
+ explanation: result.explanation,
42
+ specTitle: result.specTitle,
43
+ model: result.model,
44
+ filesIncluded: result.filesIncluded,
45
+ },
46
+ };
47
+ }
48
+ // ---------------------------------------------------------------------------
49
+ // aider_status
50
+ // ---------------------------------------------------------------------------
51
+ export function handleAiderStatus(input) {
52
+ const result = checkAiderStatus(input.projectPath);
53
+ const lines = ['## Aider Status', ''];
54
+ if (!result.installed) {
55
+ lines.push('Aider is **not installed**.', '', 'Install it with:', '```bash', 'pip install aider-chat', '```', 'Or visit https://aider.chat for other installation options.');
56
+ }
57
+ else {
58
+ lines.push(`Aider is **installed**.`, '', `| Field | Value |`, `|-------|-------|`, `| Version | ${result.version ?? 'unknown'} |`, `| Config path | ${result.configPath ?? 'n/a'} |`);
59
+ }
60
+ return {
61
+ content: [{ type: 'text', text: lines.join('\n') }],
62
+ structuredContent: {
63
+ installed: result.installed,
64
+ version: result.version ?? null,
65
+ configPath: result.configPath ?? null,
66
+ },
67
+ };
68
+ }
69
+ //# sourceMappingURL=aider-launcher-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aider-launcher-handler.js","sourceRoot":"","sources":["../../src/tools/aider-launcher-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5F,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAA+B;IAE/B,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,GAAG,EAAE,EAAE,CAAC;YAC5E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,wBAAwB,KAAK,CAAC,MAAM,EAAE;QACtC,EAAE;QACF,aAAa,MAAM,CAAC,SAAS,EAAE;QAC/B,cAAc,MAAM,CAAC,KAAK,EAAE;QAC5B,EAAE;QACF,aAAa;QACb,YAAY;QACZ,MAAM,CAAC,OAAO;QACd,QAAQ;QACR,EAAE;QACF,qBAAqB;QACrB,YAAY;QACZ,MAAM,CAAC,WAAW;QAClB,QAAQ;QACR,EAAE;QACF,gBAAgB;QAChB,MAAM,CAAC,WAAW;KACnB,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,iBAAiB,EAAE;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,KAAuB;IACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,6BAA6B,EAC7B,EAAE,EACF,kBAAkB,EAClB,SAAS,EACT,wBAAwB,EACxB,KAAK,EACL,6DAA6D,CAC9D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,yBAAyB,EACzB,EAAE,EACF,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,MAAM,CAAC,OAAO,IAAI,SAAS,IAAI,EAC9C,mBAAmB,MAAM,CAAC,UAAU,IAAI,KAAK,IAAI,CAClD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,iBAAiB,EAAE;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;SACtC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CodeGraphSetupInput, ToolResult } from '../types/index.js';
2
+ export declare function handleConfigureCodeGraph(input: CodeGraphSetupInput): Promise<ToolResult>;
3
+ export declare function handleCodeGraphStatus(input: {
4
+ projectPath: string;
5
+ }): Promise<ToolResult>;
6
+ //# sourceMappingURL=code-graph-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-graph-handler.d.ts","sourceRoot":"","sources":["../../src/tools/code-graph-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EAGnB,UAAU,EACX,MAAM,mBAAmB,CAAC;AA+B3B,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+B9F;AAMD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAgB/F"}
@@ -0,0 +1,68 @@
1
+ // tools/code-graph-handler.ts — Handler for Code Graph integration tools (SPEC-376)
2
+ import { readFile, writeFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { actionToProviderKey, buildProviderEntry, buildStatusResult, mergeProviderIntoConfig, } from '../engine/code-graph-configurator.js';
5
+ const CLAUDE_JSON = '.claude.json';
6
+ // ---------------------------------------------------------------------------
7
+ // Helpers
8
+ // ---------------------------------------------------------------------------
9
+ async function readClaudeJson(projectPath) {
10
+ try {
11
+ const raw = await readFile(join(projectPath, CLAUDE_JSON), 'utf8');
12
+ return JSON.parse(raw);
13
+ }
14
+ catch {
15
+ return {};
16
+ }
17
+ }
18
+ async function writeClaudeJson(projectPath, config) {
19
+ await writeFile(join(projectPath, CLAUDE_JSON), JSON.stringify(config, null, 2) + '\n', 'utf8');
20
+ }
21
+ // ---------------------------------------------------------------------------
22
+ // configure_code_graph
23
+ // ---------------------------------------------------------------------------
24
+ export async function handleConfigureCodeGraph(input) {
25
+ const { projectPath, action } = input;
26
+ if (action === 'status') {
27
+ return handleCodeGraphStatus({ projectPath });
28
+ }
29
+ const providerKey = actionToProviderKey(action);
30
+ const entry = buildProviderEntry(providerKey);
31
+ /* v8 ignore next 3 */
32
+ if (!entry) {
33
+ return { content: [{ type: 'text', text: `Unknown action: ${action}` }] };
34
+ }
35
+ const existing = await readClaudeJson(projectPath);
36
+ const updated = mergeProviderIntoConfig(existing, providerKey, entry);
37
+ await writeClaudeJson(projectPath, updated);
38
+ const lines = [
39
+ `Code Graph provider configured: ${providerKey}`,
40
+ '',
41
+ `Added to ${join(projectPath, CLAUDE_JSON)}:`,
42
+ '```json',
43
+ JSON.stringify({ [providerKey]: entry }, null, 2),
44
+ '```',
45
+ '',
46
+ 'Restart Claude Code (or your MCP client) to activate the new server.',
47
+ ];
48
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
49
+ }
50
+ // ---------------------------------------------------------------------------
51
+ // code_graph_status
52
+ // ---------------------------------------------------------------------------
53
+ export async function handleCodeGraphStatus(input) {
54
+ const config = await readClaudeJson(input.projectPath);
55
+ const result = buildStatusResult(config);
56
+ const lines = [
57
+ 'Code Graph Integration Status',
58
+ '==============================',
59
+ '',
60
+ '| Provider | Configured |',
61
+ '|----------|------------|',
62
+ ...result.providers.map((p) => `| ${p.name} | ${p.configured ? 'yes' : 'no'} |`),
63
+ '',
64
+ `Active provider: ${result.activeProvider ?? 'none'}`,
65
+ ];
66
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
67
+ }
68
+ //# sourceMappingURL=code-graph-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-graph-handler.js","sourceRoot":"","sources":["../../src/tools/code-graph-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ConfigureContinueInput, ContinueStatusInput, ToolResult } from '../types/index.js';
2
+ export declare function handleConfigureContinue(input: ConfigureContinueInput): Promise<ToolResult>;
3
+ export declare function handleContinueStatus(input: ContinueStatusInput): Promise<ToolResult>;
4
+ //# sourceMappingURL=continue-config-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continue-config-handler.d.ts","sourceRoot":"","sources":["../../src/tools/continue-config-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EAGnB,UAAU,EACX,MAAM,mBAAmB,CAAC;AA8B3B,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoChG;AAMD,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CA+B1F"}
@@ -0,0 +1,88 @@
1
+ // tools/continue-config-handler.ts — Handler for Continue.dev MCP integration tools (SPEC-377)
2
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { generateContinueConfig, detectPlanuTransport, } from '../engine/continue-config-generator.js';
5
+ const CONTINUE_DIR = '.continue';
6
+ const CONFIG_FILE = 'config.json';
7
+ // ---------------------------------------------------------------------------
8
+ // Helpers
9
+ // ---------------------------------------------------------------------------
10
+ function continueConfigPath(projectPath) {
11
+ return join(projectPath, CONTINUE_DIR, CONFIG_FILE);
12
+ }
13
+ async function readContinueConfig(projectPath) {
14
+ try {
15
+ const raw = await readFile(continueConfigPath(projectPath), 'utf8');
16
+ return JSON.parse(raw);
17
+ }
18
+ catch {
19
+ return null;
20
+ }
21
+ }
22
+ // ---------------------------------------------------------------------------
23
+ // configure_continue
24
+ // ---------------------------------------------------------------------------
25
+ export async function handleConfigureContinue(input) {
26
+ const { projectPath, transport, hostedUrl } = input;
27
+ if (transport === 'sse' && !hostedUrl) {
28
+ return {
29
+ content: [
30
+ {
31
+ type: 'text',
32
+ text: 'Error: hostedUrl is required when transport is "sse". Provide the URL of the running Planu SSE server.',
33
+ },
34
+ ],
35
+ };
36
+ }
37
+ const config = generateContinueConfig(transport, hostedUrl);
38
+ const configPath = continueConfigPath(projectPath);
39
+ await mkdir(join(projectPath, CONTINUE_DIR), { recursive: true });
40
+ await writeFile(configPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
41
+ const lines = [
42
+ 'Continue.dev MCP integration configured.',
43
+ '',
44
+ `Config written to: ${configPath}`,
45
+ '',
46
+ '```json',
47
+ JSON.stringify(config, null, 2),
48
+ '```',
49
+ '',
50
+ 'Restart Continue.dev to activate the Planu MCP server.',
51
+ '',
52
+ 'Available slash commands:',
53
+ ...config.slashCommands.map((cmd) => ` /${cmd.name} — ${cmd.description}`),
54
+ ];
55
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
56
+ }
57
+ // ---------------------------------------------------------------------------
58
+ // continue_status
59
+ // ---------------------------------------------------------------------------
60
+ export async function handleContinueStatus(input) {
61
+ const configPath = continueConfigPath(input.projectPath);
62
+ const config = await readContinueConfig(input.projectPath);
63
+ let result;
64
+ if (!config) {
65
+ result = { configured: false, transport: null, configPath };
66
+ }
67
+ else {
68
+ const transport = detectPlanuTransport(config);
69
+ result = {
70
+ configured: transport !== null,
71
+ transport,
72
+ configPath,
73
+ };
74
+ }
75
+ const lines = [
76
+ 'Continue.dev Integration Status',
77
+ '================================',
78
+ '',
79
+ `Configured: ${result.configured ? 'yes' : 'no'}`,
80
+ `Transport: ${result.transport ?? 'n/a'}`,
81
+ `Config path: ${result.configPath}`,
82
+ ];
83
+ if (!result.configured) {
84
+ lines.push('', 'Run `configure_continue` to set up the Planu MCP server in Continue.dev.');
85
+ }
86
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
87
+ }
88
+ //# sourceMappingURL=continue-config-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continue-config-handler.js","sourceRoot":"","sources":["../../src/tools/continue-config-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec-builder.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec/spec-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAIf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,YAAY,EAAyB,MAAM,+BAA+B,CAAC;AAcpF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,4FAA4F;AAC5F,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAoKxF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAChD,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC"}
1
+ {"version":3,"file":"spec-builder.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec/spec-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAIf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,YAAY,EAAyB,MAAM,+BAA+B,CAAC;AAcpF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,4FAA4F;AAC5F,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAwLxF;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAChD,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrC"}
@@ -130,6 +130,25 @@ export async function buildSpecContext(params) {
130
130
  if (knowledge && shouldSuggestMcpLayer(knowledge)) {
131
131
  mcpLayerSection = buildMcpLayerSection(knowledge, description);
132
132
  }
133
+ // SPEC-383: Silently fetch doc-based best practices (fire-and-forget with timeout)
134
+ let docCriteria = [];
135
+ try {
136
+ const { detectTechsFromText } = await import('../../engine/web-fetcher/stack-detector.js');
137
+ const { fetchDocsBatch } = await import('../../engine/web-fetcher/docs-intelligence.js');
138
+ const { buildDocCriteriaFromDocs } = await import('../create-spec-hu/docs-criteria-adapter.js');
139
+ const detected = detectTechsFromText(`${title} ${description}`);
140
+ const techNames = detected
141
+ .filter((t) => t.confidence === 'high' || t.confidence === 'medium')
142
+ .map((t) => t.name)
143
+ .slice(0, 5);
144
+ if (techNames.length > 0) {
145
+ const docsMap = await fetchDocsBatch(techNames, { timeout: 3_000, concurrency: 2 });
146
+ docCriteria = buildDocCriteriaFromDocs(docsMap);
147
+ }
148
+ }
149
+ catch {
150
+ // Silent fallback — doc enrichment is best-effort, never blocks spec creation
151
+ }
133
152
  return {
134
153
  ok: true,
135
154
  context: {
@@ -147,6 +166,7 @@ export async function buildSpecContext(params) {
147
166
  legalSection,
148
167
  legalCriteria,
149
168
  mcpLayerSection,
169
+ docCriteria,
150
170
  },
151
171
  };
152
172
  }