forge-server 0.1.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 (412) hide show
  1. package/.claude/hooks/worktree-create.sh +64 -0
  2. package/.claude/hooks/worktree-remove.sh +57 -0
  3. package/.claude/settings.local.json +29 -0
  4. package/.forge/knowledge/conventions.yaml +1 -0
  5. package/.forge/knowledge/decisions.yaml +1 -0
  6. package/.forge/knowledge/gotchas.yaml +1 -0
  7. package/.forge/knowledge/patterns.yaml +1 -0
  8. package/.forge/manifest.yaml +6 -0
  9. package/CLAUDE.md +144 -0
  10. package/bin/setup-forge.sh +132 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +553 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/context/codebase.d.ts +57 -0
  16. package/dist/context/codebase.d.ts.map +1 -0
  17. package/dist/context/codebase.js +301 -0
  18. package/dist/context/codebase.js.map +1 -0
  19. package/dist/context/injector.d.ts +147 -0
  20. package/dist/context/injector.d.ts.map +1 -0
  21. package/dist/context/injector.js +533 -0
  22. package/dist/context/injector.js.map +1 -0
  23. package/dist/context/memory.d.ts +32 -0
  24. package/dist/context/memory.d.ts.map +1 -0
  25. package/dist/context/memory.js +140 -0
  26. package/dist/context/memory.js.map +1 -0
  27. package/dist/context/session-index.d.ts +54 -0
  28. package/dist/context/session-index.d.ts.map +1 -0
  29. package/dist/context/session-index.js +265 -0
  30. package/dist/context/session-index.js.map +1 -0
  31. package/dist/context/session.d.ts +42 -0
  32. package/dist/context/session.d.ts.map +1 -0
  33. package/dist/context/session.js +121 -0
  34. package/dist/context/session.js.map +1 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +37 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/ingestion/chunker.d.ts +19 -0
  40. package/dist/ingestion/chunker.d.ts.map +1 -0
  41. package/dist/ingestion/chunker.js +189 -0
  42. package/dist/ingestion/chunker.js.map +1 -0
  43. package/dist/ingestion/embedder.d.ts +45 -0
  44. package/dist/ingestion/embedder.d.ts.map +1 -0
  45. package/dist/ingestion/embedder.js +152 -0
  46. package/dist/ingestion/embedder.js.map +1 -0
  47. package/dist/ingestion/git-analyzer.d.ts +77 -0
  48. package/dist/ingestion/git-analyzer.d.ts.map +1 -0
  49. package/dist/ingestion/git-analyzer.js +437 -0
  50. package/dist/ingestion/git-analyzer.js.map +1 -0
  51. package/dist/ingestion/indexer.d.ts +79 -0
  52. package/dist/ingestion/indexer.d.ts.map +1 -0
  53. package/dist/ingestion/indexer.js +766 -0
  54. package/dist/ingestion/indexer.js.map +1 -0
  55. package/dist/ingestion/markdown-chunker.d.ts +19 -0
  56. package/dist/ingestion/markdown-chunker.d.ts.map +1 -0
  57. package/dist/ingestion/markdown-chunker.js +243 -0
  58. package/dist/ingestion/markdown-chunker.js.map +1 -0
  59. package/dist/ingestion/markdown-knowledge.d.ts +21 -0
  60. package/dist/ingestion/markdown-knowledge.d.ts.map +1 -0
  61. package/dist/ingestion/markdown-knowledge.js +129 -0
  62. package/dist/ingestion/markdown-knowledge.js.map +1 -0
  63. package/dist/ingestion/parser.d.ts +20 -0
  64. package/dist/ingestion/parser.d.ts.map +1 -0
  65. package/dist/ingestion/parser.js +429 -0
  66. package/dist/ingestion/parser.js.map +1 -0
  67. package/dist/ingestion/watcher.d.ts +28 -0
  68. package/dist/ingestion/watcher.d.ts.map +1 -0
  69. package/dist/ingestion/watcher.js +147 -0
  70. package/dist/ingestion/watcher.js.map +1 -0
  71. package/dist/knowledge/hydrator.d.ts +37 -0
  72. package/dist/knowledge/hydrator.d.ts.map +1 -0
  73. package/dist/knowledge/hydrator.js +220 -0
  74. package/dist/knowledge/hydrator.js.map +1 -0
  75. package/dist/knowledge/registry.d.ts +129 -0
  76. package/dist/knowledge/registry.d.ts.map +1 -0
  77. package/dist/knowledge/registry.js +361 -0
  78. package/dist/knowledge/registry.js.map +1 -0
  79. package/dist/knowledge/search.d.ts +114 -0
  80. package/dist/knowledge/search.d.ts.map +1 -0
  81. package/dist/knowledge/search.js +428 -0
  82. package/dist/knowledge/search.js.map +1 -0
  83. package/dist/knowledge/store.d.ts +76 -0
  84. package/dist/knowledge/store.d.ts.map +1 -0
  85. package/dist/knowledge/store.js +230 -0
  86. package/dist/knowledge/store.js.map +1 -0
  87. package/dist/learning/confidence.d.ts +30 -0
  88. package/dist/learning/confidence.d.ts.map +1 -0
  89. package/dist/learning/confidence.js +165 -0
  90. package/dist/learning/confidence.js.map +1 -0
  91. package/dist/learning/patterns.d.ts +52 -0
  92. package/dist/learning/patterns.d.ts.map +1 -0
  93. package/dist/learning/patterns.js +290 -0
  94. package/dist/learning/patterns.js.map +1 -0
  95. package/dist/learning/trajectory.d.ts +55 -0
  96. package/dist/learning/trajectory.d.ts.map +1 -0
  97. package/dist/learning/trajectory.js +200 -0
  98. package/dist/learning/trajectory.js.map +1 -0
  99. package/dist/memory/memory-compat.d.ts +100 -0
  100. package/dist/memory/memory-compat.d.ts.map +1 -0
  101. package/dist/memory/memory-compat.js +146 -0
  102. package/dist/memory/memory-compat.js.map +1 -0
  103. package/dist/memory/observation-store.d.ts +57 -0
  104. package/dist/memory/observation-store.d.ts.map +1 -0
  105. package/dist/memory/observation-store.js +154 -0
  106. package/dist/memory/observation-store.js.map +1 -0
  107. package/dist/memory/session-tracker.d.ts +81 -0
  108. package/dist/memory/session-tracker.d.ts.map +1 -0
  109. package/dist/memory/session-tracker.js +262 -0
  110. package/dist/memory/session-tracker.js.map +1 -0
  111. package/dist/pipeline/engine.d.ts +179 -0
  112. package/dist/pipeline/engine.d.ts.map +1 -0
  113. package/dist/pipeline/engine.js +691 -0
  114. package/dist/pipeline/engine.js.map +1 -0
  115. package/dist/pipeline/events.d.ts +54 -0
  116. package/dist/pipeline/events.d.ts.map +1 -0
  117. package/dist/pipeline/events.js +157 -0
  118. package/dist/pipeline/events.js.map +1 -0
  119. package/dist/pipeline/parallel.d.ts +83 -0
  120. package/dist/pipeline/parallel.d.ts.map +1 -0
  121. package/dist/pipeline/parallel.js +277 -0
  122. package/dist/pipeline/parallel.js.map +1 -0
  123. package/dist/pipeline/state-machine.d.ts +65 -0
  124. package/dist/pipeline/state-machine.d.ts.map +1 -0
  125. package/dist/pipeline/state-machine.js +176 -0
  126. package/dist/pipeline/state-machine.js.map +1 -0
  127. package/dist/query/graph-queries.d.ts +84 -0
  128. package/dist/query/graph-queries.d.ts.map +1 -0
  129. package/dist/query/graph-queries.js +216 -0
  130. package/dist/query/graph-queries.js.map +1 -0
  131. package/dist/query/hybrid-search.d.ts +34 -0
  132. package/dist/query/hybrid-search.d.ts.map +1 -0
  133. package/dist/query/hybrid-search.js +263 -0
  134. package/dist/query/hybrid-search.js.map +1 -0
  135. package/dist/query/intent-detector.d.ts +35 -0
  136. package/dist/query/intent-detector.d.ts.map +1 -0
  137. package/dist/query/intent-detector.js +115 -0
  138. package/dist/query/intent-detector.js.map +1 -0
  139. package/dist/query/ranking.d.ts +57 -0
  140. package/dist/query/ranking.d.ts.map +1 -0
  141. package/dist/query/ranking.js +109 -0
  142. package/dist/query/ranking.js.map +1 -0
  143. package/dist/server.d.ts +3 -0
  144. package/dist/server.d.ts.map +1 -0
  145. package/dist/server.js +291 -0
  146. package/dist/server.js.map +1 -0
  147. package/dist/storage/falkordb-store.d.ts +73 -0
  148. package/dist/storage/falkordb-store.d.ts.map +1 -0
  149. package/dist/storage/falkordb-store.js +346 -0
  150. package/dist/storage/falkordb-store.js.map +1 -0
  151. package/dist/storage/file-cache.d.ts +32 -0
  152. package/dist/storage/file-cache.d.ts.map +1 -0
  153. package/dist/storage/file-cache.js +115 -0
  154. package/dist/storage/file-cache.js.map +1 -0
  155. package/dist/storage/interfaces.d.ts +151 -0
  156. package/dist/storage/interfaces.d.ts.map +1 -0
  157. package/dist/storage/interfaces.js +7 -0
  158. package/dist/storage/interfaces.js.map +1 -0
  159. package/dist/storage/qdrant-store.d.ts +110 -0
  160. package/dist/storage/qdrant-store.d.ts.map +1 -0
  161. package/dist/storage/qdrant-store.js +467 -0
  162. package/dist/storage/qdrant-store.js.map +1 -0
  163. package/dist/storage/schema.d.ts +4 -0
  164. package/dist/storage/schema.d.ts.map +1 -0
  165. package/dist/storage/schema.js +136 -0
  166. package/dist/storage/schema.js.map +1 -0
  167. package/dist/storage/sqlite.d.ts +35 -0
  168. package/dist/storage/sqlite.d.ts.map +1 -0
  169. package/dist/storage/sqlite.js +132 -0
  170. package/dist/storage/sqlite.js.map +1 -0
  171. package/dist/tools/collaboration-tools.d.ts +111 -0
  172. package/dist/tools/collaboration-tools.d.ts.map +1 -0
  173. package/dist/tools/collaboration-tools.js +174 -0
  174. package/dist/tools/collaboration-tools.js.map +1 -0
  175. package/dist/tools/context-tools.d.ts +293 -0
  176. package/dist/tools/context-tools.d.ts.map +1 -0
  177. package/dist/tools/context-tools.js +437 -0
  178. package/dist/tools/context-tools.js.map +1 -0
  179. package/dist/tools/graph-tools.d.ts +129 -0
  180. package/dist/tools/graph-tools.d.ts.map +1 -0
  181. package/dist/tools/graph-tools.js +237 -0
  182. package/dist/tools/graph-tools.js.map +1 -0
  183. package/dist/tools/ingestion-tools.d.ts +96 -0
  184. package/dist/tools/ingestion-tools.d.ts.map +1 -0
  185. package/dist/tools/ingestion-tools.js +90 -0
  186. package/dist/tools/ingestion-tools.js.map +1 -0
  187. package/dist/tools/learning-tools.d.ts +168 -0
  188. package/dist/tools/learning-tools.d.ts.map +1 -0
  189. package/dist/tools/learning-tools.js +158 -0
  190. package/dist/tools/learning-tools.js.map +1 -0
  191. package/dist/tools/memory-tools.d.ts +183 -0
  192. package/dist/tools/memory-tools.d.ts.map +1 -0
  193. package/dist/tools/memory-tools.js +197 -0
  194. package/dist/tools/memory-tools.js.map +1 -0
  195. package/dist/tools/phase-tools.d.ts +954 -0
  196. package/dist/tools/phase-tools.d.ts.map +1 -0
  197. package/dist/tools/phase-tools.js +1215 -0
  198. package/dist/tools/phase-tools.js.map +1 -0
  199. package/dist/tools/pipeline-tools.d.ts +140 -0
  200. package/dist/tools/pipeline-tools.d.ts.map +1 -0
  201. package/dist/tools/pipeline-tools.js +162 -0
  202. package/dist/tools/pipeline-tools.js.map +1 -0
  203. package/dist/tools/registration-tools.d.ts +220 -0
  204. package/dist/tools/registration-tools.d.ts.map +1 -0
  205. package/dist/tools/registration-tools.js +391 -0
  206. package/dist/tools/registration-tools.js.map +1 -0
  207. package/dist/util/circuit-breaker.d.ts +75 -0
  208. package/dist/util/circuit-breaker.d.ts.map +1 -0
  209. package/dist/util/circuit-breaker.js +159 -0
  210. package/dist/util/circuit-breaker.js.map +1 -0
  211. package/dist/util/config.d.ts +23 -0
  212. package/dist/util/config.d.ts.map +1 -0
  213. package/dist/util/config.js +164 -0
  214. package/dist/util/config.js.map +1 -0
  215. package/dist/util/logger.d.ts +13 -0
  216. package/dist/util/logger.d.ts.map +1 -0
  217. package/dist/util/logger.js +45 -0
  218. package/dist/util/logger.js.map +1 -0
  219. package/dist/util/token-counter.d.ts +24 -0
  220. package/dist/util/token-counter.d.ts.map +1 -0
  221. package/dist/util/token-counter.js +48 -0
  222. package/dist/util/token-counter.js.map +1 -0
  223. package/dist/util/types.d.ts +525 -0
  224. package/dist/util/types.d.ts.map +1 -0
  225. package/dist/util/types.js +5 -0
  226. package/dist/util/types.js.map +1 -0
  227. package/docker-compose.yml +20 -0
  228. package/docs/plans/2026-02-27-swarm-coordination/architecture.md +203 -0
  229. package/docs/plans/2026-02-27-swarm-coordination/vision.md +57 -0
  230. package/docs/plans/completed/2026-02-26-forge-plugin-bundling/architecture.md +1 -0
  231. package/docs/plans/completed/2026-02-26-forge-plugin-bundling/vision.md +300 -0
  232. package/docs/plans/completed/2026-02-27-forge-swarm-learning/architecture.md +480 -0
  233. package/docs/plans/completed/2026-02-27-forge-swarm-learning/verification-checklist.md +462 -0
  234. package/docs/plans/completed/2026-02-27-git-history-atlassian/git-jira-plan.md +181 -0
  235. package/package.json +39 -0
  236. package/plugin/.claude-plugin/plugin.json +8 -0
  237. package/plugin/.mcp.json +15 -0
  238. package/plugin/README.md +134 -0
  239. package/plugin/agents/architect.md +367 -0
  240. package/plugin/agents/backend-specialist.md +263 -0
  241. package/plugin/agents/brainstormer.md +122 -0
  242. package/plugin/agents/data-specialist.md +266 -0
  243. package/plugin/agents/designer.md +408 -0
  244. package/plugin/agents/frontend-specialist.md +241 -0
  245. package/plugin/agents/inspector.md +406 -0
  246. package/plugin/agents/knowledge-keeper.md +443 -0
  247. package/plugin/agents/platform-engineer.md +326 -0
  248. package/plugin/agents/product-manager.md +268 -0
  249. package/plugin/agents/product-owner.md +438 -0
  250. package/plugin/agents/pulse-checker.md +73 -0
  251. package/plugin/agents/qa-strategist.md +500 -0
  252. package/plugin/agents/self-improver.md +310 -0
  253. package/plugin/agents/strategist.md +360 -0
  254. package/plugin/agents/supervisor.md +380 -0
  255. package/plugin/commands/brainstorm.md +25 -0
  256. package/plugin/commands/forge.md +88 -0
  257. package/plugin/docs/atlassian-integration.md +110 -0
  258. package/plugin/docs/workflow.md +126 -0
  259. package/plugin/skills/agent-development/.skillfish.json +10 -0
  260. package/plugin/skills/agent-development/SKILL.md +415 -0
  261. package/plugin/skills/agent-development/examples/agent-creation-prompt.md +238 -0
  262. package/plugin/skills/agent-development/examples/complete-agent-examples.md +427 -0
  263. package/plugin/skills/agent-development/references/agent-creation-system-prompt.md +207 -0
  264. package/plugin/skills/agent-development/references/system-prompt-design.md +411 -0
  265. package/plugin/skills/agent-development/references/triggering-examples.md +491 -0
  266. package/plugin/skills/agent-development/scripts/validate-agent.sh +217 -0
  267. package/plugin/skills/agent-handoff/SKILL.md +335 -0
  268. package/plugin/skills/anti-stub/SKILL.md +317 -0
  269. package/plugin/skills/brainstorm/SKILL.md +31 -0
  270. package/plugin/skills/debugging/SKILL.md +276 -0
  271. package/plugin/skills/fix/SKILL.md +62 -0
  272. package/plugin/skills/frontend-design/.skillfish.json +10 -0
  273. package/plugin/skills/frontend-design/SKILL.md +42 -0
  274. package/plugin/skills/gotchas/SKILL.md +61 -0
  275. package/plugin/skills/graph-orchestrator/SKILL.md +38 -0
  276. package/plugin/skills/history/SKILL.md +58 -0
  277. package/plugin/skills/impact/SKILL.md +59 -0
  278. package/plugin/skills/implementation-execution/SKILL.md +291 -0
  279. package/plugin/skills/index-repo/SKILL.md +55 -0
  280. package/plugin/skills/interviewing/SKILL.md +225 -0
  281. package/plugin/skills/knowledge-curation/SKILL.md +393 -0
  282. package/plugin/skills/learn/SKILL.md +69 -0
  283. package/plugin/skills/mcp-integration/.skillfish.json +10 -0
  284. package/plugin/skills/mcp-integration/SKILL.md +554 -0
  285. package/plugin/skills/mcp-integration/examples/http-server.json +20 -0
  286. package/plugin/skills/mcp-integration/examples/sse-server.json +19 -0
  287. package/plugin/skills/mcp-integration/examples/stdio-server.json +26 -0
  288. package/plugin/skills/mcp-integration/references/authentication.md +549 -0
  289. package/plugin/skills/mcp-integration/references/server-types.md +536 -0
  290. package/plugin/skills/mcp-integration/references/tool-usage.md +538 -0
  291. package/plugin/skills/nestjs/.skillfish.json +10 -0
  292. package/plugin/skills/nestjs/SKILL.md +669 -0
  293. package/plugin/skills/nestjs/drizzle-reference.md +1894 -0
  294. package/plugin/skills/nestjs/reference.md +1447 -0
  295. package/plugin/skills/nestjs/workflow-optimization.md +229 -0
  296. package/plugin/skills/parallel-dispatch/SKILL.md +308 -0
  297. package/plugin/skills/project-discovery/SKILL.md +304 -0
  298. package/plugin/skills/search/SKILL.md +56 -0
  299. package/plugin/skills/security-audit/SKILL.md +362 -0
  300. package/plugin/skills/skill-development/.skillfish.json +10 -0
  301. package/plugin/skills/skill-development/SKILL.md +637 -0
  302. package/plugin/skills/skill-development/references/skill-creator-original.md +209 -0
  303. package/plugin/skills/tdd/SKILL.md +273 -0
  304. package/plugin/skills/terminal-presentation/SKILL.md +395 -0
  305. package/plugin/skills/test-strategy/SKILL.md +365 -0
  306. package/plugin/skills/verification-protocol/SKILL.md +256 -0
  307. package/plugin/skills/visual-explainer/CHANGELOG.md +97 -0
  308. package/plugin/skills/visual-explainer/LICENSE +21 -0
  309. package/plugin/skills/visual-explainer/README.md +137 -0
  310. package/plugin/skills/visual-explainer/SKILL.md +352 -0
  311. package/plugin/skills/visual-explainer/banner.png +0 -0
  312. package/plugin/skills/visual-explainer/package.json +11 -0
  313. package/plugin/skills/visual-explainer/prompts/diff-review.md +68 -0
  314. package/plugin/skills/visual-explainer/prompts/fact-check.md +63 -0
  315. package/plugin/skills/visual-explainer/prompts/generate-slides.md +18 -0
  316. package/plugin/skills/visual-explainer/prompts/generate-web-diagram.md +10 -0
  317. package/plugin/skills/visual-explainer/prompts/plan-review.md +86 -0
  318. package/plugin/skills/visual-explainer/prompts/project-recap.md +61 -0
  319. package/plugin/skills/visual-explainer/references/css-patterns.md +1188 -0
  320. package/plugin/skills/visual-explainer/references/libraries.md +470 -0
  321. package/plugin/skills/visual-explainer/references/responsive-nav.md +212 -0
  322. package/plugin/skills/visual-explainer/references/slide-patterns.md +1403 -0
  323. package/plugin/skills/visual-explainer/templates/architecture.html +596 -0
  324. package/plugin/skills/visual-explainer/templates/data-table.html +540 -0
  325. package/plugin/skills/visual-explainer/templates/mermaid-flowchart.html +435 -0
  326. package/plugin/skills/visual-explainer/templates/slide-deck.html +913 -0
  327. package/src/cli.ts +655 -0
  328. package/src/context/.gitkeep +0 -0
  329. package/src/context/codebase.ts +393 -0
  330. package/src/context/injector.ts +797 -0
  331. package/src/context/memory.ts +187 -0
  332. package/src/context/session-index.ts +327 -0
  333. package/src/context/session.ts +152 -0
  334. package/src/index.ts +47 -0
  335. package/src/ingestion/.gitkeep +0 -0
  336. package/src/ingestion/chunker.ts +277 -0
  337. package/src/ingestion/embedder.ts +167 -0
  338. package/src/ingestion/git-analyzer.ts +545 -0
  339. package/src/ingestion/indexer.ts +984 -0
  340. package/src/ingestion/markdown-chunker.ts +337 -0
  341. package/src/ingestion/markdown-knowledge.ts +175 -0
  342. package/src/ingestion/parser.ts +475 -0
  343. package/src/ingestion/watcher.ts +182 -0
  344. package/src/knowledge/.gitkeep +0 -0
  345. package/src/knowledge/hydrator.ts +246 -0
  346. package/src/knowledge/registry.ts +463 -0
  347. package/src/knowledge/search.ts +565 -0
  348. package/src/knowledge/store.ts +262 -0
  349. package/src/learning/.gitkeep +0 -0
  350. package/src/learning/confidence.ts +193 -0
  351. package/src/learning/patterns.ts +360 -0
  352. package/src/learning/trajectory.ts +268 -0
  353. package/src/memory/.gitkeep +0 -0
  354. package/src/memory/memory-compat.ts +233 -0
  355. package/src/memory/observation-store.ts +224 -0
  356. package/src/memory/session-tracker.ts +332 -0
  357. package/src/pipeline/.gitkeep +0 -0
  358. package/src/pipeline/engine.ts +1139 -0
  359. package/src/pipeline/events.ts +253 -0
  360. package/src/pipeline/parallel.ts +394 -0
  361. package/src/pipeline/state-machine.ts +199 -0
  362. package/src/query/.gitkeep +0 -0
  363. package/src/query/graph-queries.ts +262 -0
  364. package/src/query/hybrid-search.ts +337 -0
  365. package/src/query/intent-detector.ts +131 -0
  366. package/src/query/ranking.ts +161 -0
  367. package/src/server.ts +352 -0
  368. package/src/storage/.gitkeep +0 -0
  369. package/src/storage/falkordb-store.ts +388 -0
  370. package/src/storage/file-cache.ts +141 -0
  371. package/src/storage/interfaces.ts +201 -0
  372. package/src/storage/qdrant-store.ts +557 -0
  373. package/src/storage/schema.ts +139 -0
  374. package/src/storage/sqlite.ts +168 -0
  375. package/src/tools/.gitkeep +0 -0
  376. package/src/tools/collaboration-tools.ts +208 -0
  377. package/src/tools/context-tools.ts +493 -0
  378. package/src/tools/graph-tools.ts +295 -0
  379. package/src/tools/ingestion-tools.ts +122 -0
  380. package/src/tools/learning-tools.ts +181 -0
  381. package/src/tools/memory-tools.ts +234 -0
  382. package/src/tools/phase-tools.ts +1452 -0
  383. package/src/tools/pipeline-tools.ts +188 -0
  384. package/src/tools/registration-tools.ts +450 -0
  385. package/src/util/.gitkeep +0 -0
  386. package/src/util/circuit-breaker.ts +193 -0
  387. package/src/util/config.ts +177 -0
  388. package/src/util/logger.ts +53 -0
  389. package/src/util/token-counter.ts +52 -0
  390. package/src/util/types.ts +710 -0
  391. package/tests/context/.gitkeep +0 -0
  392. package/tests/integration/.gitkeep +0 -0
  393. package/tests/knowledge/.gitkeep +0 -0
  394. package/tests/learning/.gitkeep +0 -0
  395. package/tests/pipeline/.gitkeep +0 -0
  396. package/tests/tools/.gitkeep +0 -0
  397. package/tsconfig.json +21 -0
  398. package/vitest.config.ts +10 -0
  399. package/vscode-extension/.vscodeignore +7 -0
  400. package/vscode-extension/README.md +43 -0
  401. package/vscode-extension/out/edge-collector.js +274 -0
  402. package/vscode-extension/out/edge-collector.js.map +1 -0
  403. package/vscode-extension/out/extension.js +264 -0
  404. package/vscode-extension/out/extension.js.map +1 -0
  405. package/vscode-extension/out/forge-client.js +318 -0
  406. package/vscode-extension/out/forge-client.js.map +1 -0
  407. package/vscode-extension/package-lock.json +59 -0
  408. package/vscode-extension/package.json +71 -0
  409. package/vscode-extension/src/edge-collector.ts +320 -0
  410. package/vscode-extension/src/extension.ts +269 -0
  411. package/vscode-extension/src/forge-client.ts +364 -0
  412. package/vscode-extension/tsconfig.json +19 -0
@@ -0,0 +1,64 @@
1
+ #!/bin/bash
2
+ # WorktreeCreate hook for Claude Code agent isolation.
3
+ # Receives JSON on stdin with a "name" field.
4
+ # Must print the absolute path to the created worktree on stdout.
5
+ # All other output must go to stderr to avoid corrupting the path.
6
+ #
7
+ # This hook is necessary because Claude Code's internal git repo detection
8
+ # can fail on Windows (reports "not in a git repository" even when .git exists
9
+ # and git commands work). By providing explicit WorktreeCreate/WorktreeRemove
10
+ # hooks, we bypass the detection issue entirely.
11
+
12
+ set -euo pipefail
13
+
14
+ # Read JSON input from stdin
15
+ INPUT=$(cat)
16
+
17
+ # Extract fields using node (jq is not available on all Windows systems)
18
+ NAME=$(echo "$INPUT" | node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{console.log(JSON.parse(d).name||'')}catch(e){console.log('')}})")
19
+ CWD=$(echo "$INPUT" | node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{console.log(JSON.parse(d).cwd||'')}catch(e){console.log('')}})")
20
+
21
+ if [ -z "$NAME" ]; then
22
+ echo "Error: no 'name' field in WorktreeCreate input" >&2
23
+ exit 1
24
+ fi
25
+
26
+ if [ -z "$CWD" ]; then
27
+ CWD="$(pwd)"
28
+ fi
29
+
30
+ # Resolve the git toplevel from the cwd
31
+ REPO_ROOT=$(cd "$CWD" && git rev-parse --show-toplevel 2>/dev/null)
32
+ if [ -z "$REPO_ROOT" ]; then
33
+ echo "Error: could not find git repo root from cwd=$CWD" >&2
34
+ exit 1
35
+ fi
36
+
37
+ # Create the worktree directory under .claude/worktrees/
38
+ WORKTREE_DIR="$REPO_ROOT/.claude/worktrees/$NAME"
39
+
40
+ # Create a new branch for this worktree based on HEAD
41
+ BRANCH_NAME="worktree/$NAME"
42
+
43
+ # Clean up any stale worktree or branch with the same name
44
+ if [ -d "$WORKTREE_DIR" ]; then
45
+ echo "Cleaning up stale worktree at $WORKTREE_DIR" >&2
46
+ cd "$REPO_ROOT"
47
+ git worktree remove --force "$WORKTREE_DIR" 2>/dev/null || rm -rf "$WORKTREE_DIR"
48
+ fi
49
+
50
+ # Remove stale branch if it exists (from a previous failed run)
51
+ cd "$REPO_ROOT"
52
+ if git rev-parse --verify "$BRANCH_NAME" >/dev/null 2>&1; then
53
+ git branch -D "$BRANCH_NAME" >&2 2>/dev/null || true
54
+ fi
55
+
56
+ # Prune stale worktree entries
57
+ git worktree prune >&2 2>/dev/null || true
58
+
59
+ # Create the worktree with a new branch
60
+ echo "Creating worktree: $WORKTREE_DIR (branch: $BRANCH_NAME)" >&2
61
+ git worktree add -b "$BRANCH_NAME" "$WORKTREE_DIR" HEAD >&2
62
+
63
+ # Print the absolute path to stdout (this is what Claude Code reads)
64
+ echo "$WORKTREE_DIR"
@@ -0,0 +1,57 @@
1
+ #!/bin/bash
2
+ # WorktreeRemove hook for Claude Code agent isolation.
3
+ # Receives JSON on stdin with a "worktree_path" field (the path that
4
+ # WorktreeCreate printed on stdout).
5
+ # No output is required. Failures are logged in debug mode only.
6
+
7
+ set -euo pipefail
8
+
9
+ # Read JSON input from stdin
10
+ INPUT=$(cat)
11
+
12
+ # Extract fields using node (jq is not available on all Windows systems)
13
+ WORKTREE_PATH=$(echo "$INPUT" | node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{console.log(JSON.parse(d).worktree_path||'')}catch(e){console.log('')}})")
14
+ CWD=$(echo "$INPUT" | node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{console.log(JSON.parse(d).cwd||'')}catch(e){console.log('')}})")
15
+
16
+ if [ -z "$WORKTREE_PATH" ]; then
17
+ echo "Warning: no 'worktree_path' in WorktreeRemove input" >&2
18
+ exit 0
19
+ fi
20
+
21
+ # Check if the worktree directory exists
22
+ if [ ! -d "$WORKTREE_PATH" ]; then
23
+ echo "Worktree directory does not exist, nothing to remove: $WORKTREE_PATH" >&2
24
+ exit 0
25
+ fi
26
+
27
+ # Extract the worktree name from the path to derive the branch name
28
+ NAME=$(basename "$WORKTREE_PATH")
29
+ BRANCH_NAME="worktree/$NAME"
30
+
31
+ # Find the main repo root from cwd or by walking up from worktree path
32
+ if [ -n "$CWD" ]; then
33
+ REPO_ROOT=$(cd "$CWD" && git rev-parse --show-toplevel 2>/dev/null || echo "$CWD")
34
+ else
35
+ # Worktree is at REPO_ROOT/.claude/worktrees/NAME
36
+ REPO_ROOT=$(dirname "$(dirname "$(dirname "$WORKTREE_PATH")")")
37
+ fi
38
+
39
+ echo "Removing worktree: $WORKTREE_PATH" >&2
40
+
41
+ # Remove the worktree using git
42
+ cd "$REPO_ROOT" 2>/dev/null || true
43
+ git worktree remove --force "$WORKTREE_PATH" 2>&2 || {
44
+ echo "git worktree remove failed, falling back to rm -rf" >&2
45
+ rm -rf "$WORKTREE_PATH"
46
+ }
47
+
48
+ # Prune stale worktree entries
49
+ git worktree prune 2>&2 || true
50
+
51
+ # Clean up the branch
52
+ if git rev-parse --verify "$BRANCH_NAME" >/dev/null 2>&1; then
53
+ echo "Removing branch: $BRANCH_NAME" >&2
54
+ git branch -D "$BRANCH_NAME" 2>&2 || true
55
+ fi
56
+
57
+ echo "Worktree removed successfully: $WORKTREE_PATH" >&2
@@ -0,0 +1,29 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(cp:*)"
5
+ ]
6
+ },
7
+ "hooks": {
8
+ "WorktreeCreate": [
9
+ {
10
+ "hooks": [
11
+ {
12
+ "type": "command",
13
+ "command": "bash .claude/hooks/worktree-create.sh"
14
+ }
15
+ ]
16
+ }
17
+ ],
18
+ "WorktreeRemove": [
19
+ {
20
+ "hooks": [
21
+ {
22
+ "type": "command",
23
+ "command": "bash .claude/hooks/worktree-remove.sh"
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ }
29
+ }
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1,6 @@
1
+ name: dk-forge-server
2
+ stack:
3
+ - typescript
4
+ - node
5
+ sharing: public
6
+ repo_id_override: null
package/CLAUDE.md ADDED
@@ -0,0 +1,144 @@
1
+ # dominKnow | Forge — dk-forge-server
2
+
3
+ ## Identity
4
+
5
+ | Context | Value |
6
+ |---------|-------|
7
+ | Display | dominKnow \| Forge |
8
+ | Kebab/Package | dk-forge-server |
9
+ | MCP server name | dk-forge |
10
+ | MCP tool prefix | mcp\_\_dk-forge\_\_* |
11
+ | Chunk marker | [dk-forge] |
12
+ | Plugin name | dk-forge |
13
+ | CLI binary | forge |
14
+ | DB path | ~/.forge/pipeline.db |
15
+
16
+ ## Architecture
17
+
18
+ - **MCP server** (TypeScript, ESM) — 34 MCP tools: pipeline, knowledge, context, memory, graph, collaboration, ingestion, git context
19
+ - **2-way query engine**: agents pull context (semantic search, impact graphs, git hotspots) AND push learnings back (observations, broadcasts, confidence boosts)
20
+ - **Claude Code plugin** (`plugin/`) — 16 agents, 20+ skills, /forge and /brainstorm commands, auto-starts MCP server
21
+ - **VS Code extension** (`vscode-extension/`) — forge-lsp-bridge, feeds type-resolved call/reference edges from TS language server into forge graph
22
+ - **Atlassian integration** (optional, plugin-level) — mcp-atlassian server declared in `.mcp.json`, 7 agent prompts have optional Jira context sections
23
+ - **5-signal scoring**: vector similarity + graph centrality + recency decay + hotspot frequency + observation count (intent-dependent weights)
24
+ - **Storage**: SQLite (pipeline state), Qdrant (vectors + git_commits), FalkorDB (graph, optional)
25
+ - Server entry: `src/server.ts` → `SERVER_NAME = 'dk-forge'`
26
+ - Plugin MCP config: `plugin/.mcp.json` → key `"dk-forge"`
27
+ - Plugin metadata: `plugin/.claude-plugin/plugin.json` → name `"dk-forge"`
28
+
29
+ ## Key Directories
30
+
31
+ - `src/pipeline/` — Pipeline engine and state machine
32
+ - `src/tools/` — MCP tool handlers (registration, pipeline, knowledge, context, memory, graph, collaboration, ingestion)
33
+ - `src/knowledge/` — Knowledge base (registry, search, hydration)
34
+ - `src/ingestion/` — Indexing, chunking, embedding
35
+ - `src/storage/` — Qdrant, FalkorDB, SQLite, file cache
36
+ - `plugin/agents/` — 16 specialized agent prompts (see Agent Roster below)
37
+ - `plugin/skills/` — 20+ forge-specific skills
38
+ - `plugin/commands/` — /forge and /brainstorm slash commands
39
+ - `plugin/docs/` — Workflow documentation
40
+ - `vscode-extension/` — forge-lsp-bridge VS Code extension (LSP edge ingestion)
41
+ - `docs/plans/` — Plan documents (active plans at root, archived in `completed/`)
42
+
43
+ ## Tool Categories (34 total)
44
+
45
+ | Category | Tools | File |
46
+ |----------|-------|------|
47
+ | Registration | register, init, list_repos, get_manifest, index_repo, get_index_status | registration-tools.ts |
48
+ | Pipeline | create_project, get_state, start_*/submit_* phase tools | pipeline-tools.ts, phase-tools.ts |
49
+ | Knowledge | search_knowledge, get_patterns, get_gotchas | learning-tools.ts |
50
+ | Context | get_codebase_context, get_git_context | context-tools.ts |
51
+ | Memory | save_observation, search_memory, get_session_context | memory-tools.ts |
52
+ | Graph | get_impact_graph, search_logic_flow | graph-tools.ts |
53
+ | Collaboration | broadcast_finding, get_broadcasts | collaboration-tools.ts |
54
+ | Ingestion | submit_lsp_edges | ingestion-tools.ts |
55
+ | Confidence | boost_knowledge, decay_knowledge | learning-tools.ts |
56
+
57
+ ## Tool Routing — MANDATORY for Indexed Repos
58
+
59
+ When working in a repo that has been registered and indexed with Forge (`register` + `index_repo`), **ALWAYS prefer Forge tools over built-in Claude Code tools**:
60
+
61
+ | Instead of... | Use Forge tool | Why |
62
+ |---------------|---------------|-----|
63
+ | `Grep` / `Glob` for code search | `get_codebase_context` | 5-signal ranked results (vector + graph + recency + hotspot + observations) vs raw text match |
64
+ | `Grep` for "who uses X" | `get_impact_graph` | Traverses actual call/import graph, not just string occurrences |
65
+ | `git log` for history | `get_git_context` | Semantic search over commit messages, hotspot analysis, file change velocity |
66
+ | Searching CLAUDE.md for past learnings | `search_memory` | Searches all persisted observations across sessions with vector similarity |
67
+ | Guessing at patterns | `get_patterns` / `get_gotchas` | Curated, confidence-scored knowledge from past pipeline runs |
68
+ | Ad-hoc file reading for context | `search_knowledge` | Searches curated knowledge items (gotchas, patterns, decisions, conventions) |
69
+
70
+ **When to still use built-in tools**: Reading a specific known file path (`Read`), writing/editing files (`Edit`/`Write`), running shell commands (`Bash`), or when the repo is NOT indexed.
71
+
72
+ ## Agent Roster (16 agents)
73
+
74
+ | Agent | Role | Model | Phase |
75
+ |-------|------|-------|-------|
76
+ | brainstormer | Pre-pipeline creative exploration | opus | Pre-pipeline |
77
+ | strategist | Vision holder, user advocate | opus | Interview |
78
+ | product-manager | Structured requirements | sonnet | Requirements |
79
+ | architect | System design, tech decisions | opus | Architecture |
80
+ | designer | XD/UX, design system, component contracts | opus | Design |
81
+ | qa-strategist | Test plan, Playwright E2E strategy | sonnet | QA Strategy |
82
+ | backend-specialist | NestJS modules, API implementation | sonnet | Implementation |
83
+ | frontend-specialist | React/MUI UI implementation | sonnet | Implementation |
84
+ | data-specialist | Schema, migrations, seed data | sonnet | Implementation |
85
+ | platform-engineer | IaC, CI/CD, Docker, K8s | sonnet | Implementation |
86
+ | inspector | Code verification, anti-stub, security | opus | Inspection |
87
+ | product-owner | Run product (curl + Playwright), generate tests | sonnet | Acceptance |
88
+ | pulse-checker | Lightweight drift detection | haiku | Advisory checkpoint |
89
+ | supervisor | Dynamic orchestration, routing | sonnet | All phases |
90
+ | knowledge-keeper | Persist project learnings to CLAUDE.md / docs | sonnet | Exit debrief + on-demand |
91
+ | self-improver | Introspect and improve Forge itself | opus | Exit debrief + on-demand |
92
+
93
+ ## Mesh Intelligence Architecture (2026-02-28)
94
+
95
+ The pipeline operates as a **mesh intelligence system**, not a linear conveyor belt:
96
+
97
+ - **Advisory Context Injection**: Vision/architecture/design summaries auto-injected into every downstream phase via `src/context/injector.ts`
98
+ - **Tiered Advisory Checkpoints**: Haiku pulse check (cheap) → Full Opus review (only on drift). Managed by Supervisor.
99
+ - **Consult Protocol**: Specialists broadcast with `target_agents` when hitting decisions outside their authority
100
+ - **Auto Knowledge Extraction**: Server-side regex in `src/tools/phase-tools.ts` extracts gotchas/patterns/decisions from phase outputs — zero LLM tokens
101
+ - **Session Context Index**: `src/context/session-index.ts` — virtual memory for LLM context, offloads to Qdrant via session-scoped semantic search
102
+ - **Code-Over-Prose Protocol**: All agents use TypeScript interfaces instead of prose descriptions (55-87% token reduction)
103
+ - **Collaborative Exit Debrief**: After Product Owner acceptance testing, 6 agents review in parallel: 4 advisory agents (Strategist, Architect, Designer, QA Strategist) + Knowledge Keeper (project learnings) + Self-Improver (Forge system learnings)
104
+ - **Self-Improvement Loop**: Knowledge Keeper detects recurring patterns → triggers Self-Improver → Self-Improver modifies agent prompts, writes skills, proposes pipeline changes → Forge gets smarter over time
105
+
106
+ ### Full Pipeline Flow
107
+
108
+ ```
109
+ Brainstormer (optional) → Strategist → Architect + Designer (parallel)
110
+ → QA Strategist → Implementation Specialists (parallel)
111
+ → Advisory Checkpoint (pulse check) → Inspector
112
+ → Product Owner (acceptance testing)
113
+ → Collaborative Exit Debrief (6 agents parallel:
114
+ Strategist + Architect + Designer + QA Strategist
115
+ + Knowledge Keeper + Self-Improver)
116
+ ```
117
+
118
+ ## Parallel Dispatch — MANDATORY for Pipeline
119
+
120
+ When the Forge pipeline reaches implementation phase with multiple modules:
121
+ 1. **Dispatch ALL specialist agents simultaneously** using parallel `Task` tool calls in a single message
122
+ 2. **Never serialize independent modules** — if modules A, B, C have no dependencies, launch all 3 at once
123
+ 3. **Architect + Designer run in parallel** — they are parallel phase pairs, dispatch both simultaneously
124
+ 4. After parallel agents complete, merge results, then dispatch Inspector
125
+ 5. After Inspector passes, dispatch Product Owner for acceptance testing
126
+ 6. After Product Owner completes, dispatch all 6 exit debrief agents in parallel (4 advisors + Knowledge Keeper + Self-Improver)
127
+
128
+ ## Rebrand History
129
+
130
+ - **2026-02-27**: Renamed from `forge-pipeline-server` / `mcp__forge__*` to `dk-forge-server` / `mcp__dk-forge__*`. See `docs/plans/completed/` for historical docs that still reference old names.
131
+
132
+ ## Build
133
+
134
+ ```bash
135
+ npm run build # tsc → dist/
136
+ npm run dev # tsx watch
137
+ npm test # vitest
138
+ ```
139
+
140
+ `dist/` is committed to git for zero-build plugin install.
141
+
142
+ ## Worktree Hooks (Windows)
143
+
144
+ Claude Code's git repo detection fails on Windows for freshly-initialized repos, breaking `isolation: worktree`. Fix: add WorktreeCreate/WorktreeRemove hooks in `.claude/settings.local.json` pointing to `.claude/hooks/worktree-create.sh` and `.claude/hooks/worktree-remove.sh`. Restart session after adding hooks. Use `general-purpose` agent type to bypass auto-worktree when needed.
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env bash
2
+ # ──────────────────────────────────────────────────────────────
3
+ # dominKnow | Forge — Plugin Setup
4
+ #
5
+ # 1. Copies plugin files (markdown) to ~/.claude/plugins/forge/
6
+ # 2. Installs MCP server (npm global or local fallback)
7
+ #
8
+ # Works on macOS, Linux, and Windows (Git Bash / MSYS2).
9
+ #
10
+ # Usage: ./bin/setup-forge.sh # install or update
11
+ # ./bin/setup-forge.sh --remove # uninstall
12
+ # ──────────────────────────────────────────────────────────────
13
+
14
+ set -euo pipefail
15
+
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
18
+ PLUGIN_SRC="$REPO_DIR/plugin"
19
+ INSTALL_DIR="$HOME/.claude/plugins/forge"
20
+ PKG_NAME="dk-forge-server"
21
+
22
+ # ── Preflight ────────────────────────────────────────────────
23
+
24
+ if ! command -v node &>/dev/null; then
25
+ echo "ERROR: Node.js is required but not installed."
26
+ echo ""
27
+ echo "Install Node.js:"
28
+ echo " macOS: brew install node"
29
+ echo " Linux: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - && sudo apt install -y nodejs"
30
+ echo " Windows: https://nodejs.org/en/download"
31
+ echo ""
32
+ echo "Then re-run this script."
33
+ exit 1
34
+ fi
35
+
36
+ if ! command -v npm &>/dev/null; then
37
+ echo "ERROR: npm is required but not installed."
38
+ echo "npm comes with Node.js — reinstall Node.js from https://nodejs.org"
39
+ exit 1
40
+ fi
41
+
42
+ # ── Helpers ──────────────────────────────────────────────────
43
+
44
+ remove_dir() {
45
+ local dir="$1"
46
+ if [[ -L "$dir" ]] || [[ -d "$dir" ]]; then
47
+ rm -rf "$dir" 2>/dev/null || {
48
+ if command -v cmd.exe &>/dev/null; then
49
+ cmd.exe /c "rmdir /s /q \"$(cygpath -w "$dir")\"" 2>/dev/null || true
50
+ fi
51
+ }
52
+ fi
53
+ }
54
+
55
+ # ── Uninstall ────────────────────────────────────────────────
56
+
57
+ if [[ "${1:-}" == "--remove" ]]; then
58
+ echo "Removing Forge plugin..."
59
+ remove_dir "$INSTALL_DIR"
60
+ npm uninstall -g "$PKG_NAME" 2>/dev/null || true
61
+ echo "Done. Restart Claude Code."
62
+ exit 0
63
+ fi
64
+
65
+ # ── Install / Update ─────────────────────────────────────────
66
+
67
+ echo "Installing Forge plugin..."
68
+
69
+ # 1. Copy plugin files (agents, skills, commands — all markdown)
70
+ mkdir -p "$HOME/.claude/plugins"
71
+ remove_dir "$INSTALL_DIR"
72
+ cp -r "$PLUGIN_SRC" "$INSTALL_DIR"
73
+ echo " Plugin files copied"
74
+
75
+ # 2. Install MCP server
76
+ echo " Installing MCP server..."
77
+ if npm view "$PKG_NAME" version &>/dev/null; then
78
+ # Published on npm — install from registry
79
+ npm install -g "$PKG_NAME" 2>&1 | tail -1
80
+ echo " Installed $PKG_NAME from npm"
81
+ else
82
+ # Not on npm yet — install from local repo
83
+ if [[ -f "$REPO_DIR/package.json" ]]; then
84
+ # Build if dist/ is missing
85
+ if [[ ! -f "$REPO_DIR/dist/index.js" ]]; then
86
+ echo " Building from source..."
87
+ (cd "$REPO_DIR" && npm install && npm run build)
88
+ fi
89
+ (cd "$REPO_DIR" && npm install -g . 2>&1 | tail -1)
90
+ echo " Installed $PKG_NAME from local repo"
91
+ else
92
+ echo " WARNING: $PKG_NAME not on npm and no local repo found"
93
+ echo " MCP server not installed — tools won't work"
94
+ fi
95
+ fi
96
+
97
+ # ── Verify ───────────────────────────────────────────────────
98
+
99
+ ERRORS=0
100
+
101
+ if [[ ! -f "$INSTALL_DIR/.claude-plugin/plugin.json" ]]; then
102
+ echo ""
103
+ echo "ERROR: Plugin files missing — plugin.json not found"
104
+ ERRORS=1
105
+ fi
106
+
107
+ if ! command -v "$PKG_NAME" &>/dev/null; then
108
+ echo ""
109
+ echo "WARNING: $PKG_NAME not found in PATH"
110
+ echo " MCP tools won't work until the server is installed."
111
+ echo " Try: cd $REPO_DIR && npm install -g ."
112
+ ERRORS=1
113
+ fi
114
+
115
+ if [[ "$ERRORS" -eq 0 ]]; then
116
+ echo ""
117
+ echo "Forge installed successfully"
118
+ echo ""
119
+ echo "Restart Claude Code to activate. Skills:"
120
+ echo " /forge Start a development pipeline"
121
+ echo " /search AI-ranked code search"
122
+ echo " /impact Dependency & call graph analysis"
123
+ echo " /history Git intelligence & hotspots"
124
+ echo " /gotchas Known pitfalls & patterns"
125
+ echo " /learn Save or search project learnings"
126
+ echo " /fix Auto-fix current changes"
127
+ echo " /brainstorm Creative exploration"
128
+ echo " /index-repo Register & index a repo"
129
+ echo ""
130
+ echo "To update: re-run this script"
131
+ echo "To remove: ./bin/setup-forge.sh --remove"
132
+ fi
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}