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,538 @@
1
+ # Using MCP Tools in Commands and Agents
2
+
3
+ Complete guide to using MCP tools effectively in Claude Code plugin commands and agents.
4
+
5
+ ## Overview
6
+
7
+ Once an MCP server is configured, its tools become available with the prefix `mcp__plugin_<plugin-name>_<server-name>__<tool-name>`. Use these tools in commands and agents just like built-in Claude Code tools.
8
+
9
+ ## Tool Naming Convention
10
+
11
+ ### Format
12
+
13
+ ```
14
+ mcp__plugin_<plugin-name>_<server-name>__<tool-name>
15
+ ```
16
+
17
+ ### Examples
18
+
19
+ **Asana plugin with asana server:**
20
+ - `mcp__plugin_asana_asana__asana_create_task`
21
+ - `mcp__plugin_asana_asana__asana_search_tasks`
22
+ - `mcp__plugin_asana_asana__asana_get_project`
23
+
24
+ **Custom plugin with database server:**
25
+ - `mcp__plugin_myplug_database__query`
26
+ - `mcp__plugin_myplug_database__execute`
27
+ - `mcp__plugin_myplug_database__list_tables`
28
+
29
+ ### Discovering Tool Names
30
+
31
+ **Use `/mcp` command:**
32
+ ```bash
33
+ /mcp
34
+ ```
35
+
36
+ This shows:
37
+ - All available MCP servers
38
+ - Tools provided by each server
39
+ - Tool schemas and descriptions
40
+ - Full tool names for use in configuration
41
+
42
+ ## Using Tools in Commands
43
+
44
+ ### Pre-Allowing Tools
45
+
46
+ Specify MCP tools in command frontmatter:
47
+
48
+ ```markdown
49
+ ---
50
+ description: Create a new Asana task
51
+ allowed-tools: [
52
+ "mcp__plugin_asana_asana__asana_create_task"
53
+ ]
54
+ ---
55
+
56
+ # Create Task Command
57
+
58
+ To create a task:
59
+ 1. Gather task details from user
60
+ 2. Use mcp__plugin_asana_asana__asana_create_task with the details
61
+ 3. Confirm creation to user
62
+ ```
63
+
64
+ ### Multiple Tools
65
+
66
+ ```markdown
67
+ ---
68
+ allowed-tools: [
69
+ "mcp__plugin_asana_asana__asana_create_task",
70
+ "mcp__plugin_asana_asana__asana_search_tasks",
71
+ "mcp__plugin_asana_asana__asana_get_project"
72
+ ]
73
+ ---
74
+ ```
75
+
76
+ ### Wildcard (Use Sparingly)
77
+
78
+ ```markdown
79
+ ---
80
+ allowed-tools: ["mcp__plugin_asana_asana__*"]
81
+ ---
82
+ ```
83
+
84
+ **Caution:** Only use wildcards if the command truly needs access to all tools from a server.
85
+
86
+ ### Tool Usage in Command Instructions
87
+
88
+ **Example command:**
89
+ ```markdown
90
+ ---
91
+ description: Search and create Asana tasks
92
+ allowed-tools: [
93
+ "mcp__plugin_asana_asana__asana_search_tasks",
94
+ "mcp__plugin_asana_asana__asana_create_task"
95
+ ]
96
+ ---
97
+
98
+ # Asana Task Management
99
+
100
+ ## Searching Tasks
101
+
102
+ To search for tasks:
103
+ 1. Use mcp__plugin_asana_asana__asana_search_tasks
104
+ 2. Provide search filters (assignee, project, etc.)
105
+ 3. Display results to user
106
+
107
+ ## Creating Tasks
108
+
109
+ To create a task:
110
+ 1. Gather task details:
111
+ - Title (required)
112
+ - Description
113
+ - Project
114
+ - Assignee
115
+ - Due date
116
+ 2. Use mcp__plugin_asana_asana__asana_create_task
117
+ 3. Show confirmation with task link
118
+ ```
119
+
120
+ ## Using Tools in Agents
121
+
122
+ ### Agent Configuration
123
+
124
+ Agents can use MCP tools autonomously without pre-allowing them:
125
+
126
+ ```markdown
127
+ ---
128
+ name: asana-status-updater
129
+ description: This agent should be used when the user asks to "update Asana status", "generate project report", or "sync Asana tasks"
130
+ model: inherit
131
+ color: blue
132
+ ---
133
+
134
+ ## Role
135
+
136
+ Autonomous agent for generating Asana project status reports.
137
+
138
+ ## Process
139
+
140
+ 1. **Query tasks**: Use mcp__plugin_asana_asana__asana_search_tasks to get all tasks
141
+ 2. **Analyze progress**: Calculate completion rates and identify blockers
142
+ 3. **Generate report**: Create formatted status update
143
+ 4. **Update Asana**: Use mcp__plugin_asana_asana__asana_create_comment to post report
144
+
145
+ ## Available Tools
146
+
147
+ The agent has access to all Asana MCP tools without pre-approval.
148
+ ```
149
+
150
+ ### Agent Tool Access
151
+
152
+ Agents have broader tool access than commands:
153
+ - Can use any tool Claude determines is necessary
154
+ - Don't need pre-allowed lists
155
+ - Should document which tools they typically use
156
+
157
+ ## Tool Call Patterns
158
+
159
+ ### Pattern 1: Simple Tool Call
160
+
161
+ Single tool call with validation:
162
+
163
+ ```markdown
164
+ Steps:
165
+ 1. Validate user provided required fields
166
+ 2. Call mcp__plugin_api_server__create_item with validated data
167
+ 3. Check for errors
168
+ 4. Display confirmation
169
+ ```
170
+
171
+ ### Pattern 2: Sequential Tools
172
+
173
+ Chain multiple tool calls:
174
+
175
+ ```markdown
176
+ Steps:
177
+ 1. Search for existing items: mcp__plugin_api_server__search
178
+ 2. If not found, create new: mcp__plugin_api_server__create
179
+ 3. Add metadata: mcp__plugin_api_server__update_metadata
180
+ 4. Return final item ID
181
+ ```
182
+
183
+ ### Pattern 3: Batch Operations
184
+
185
+ Multiple calls with same tool:
186
+
187
+ ```markdown
188
+ Steps:
189
+ 1. Get list of items to process
190
+ 2. For each item:
191
+ - Call mcp__plugin_api_server__update_item
192
+ - Track success/failure
193
+ 3. Report results summary
194
+ ```
195
+
196
+ ### Pattern 4: Error Handling
197
+
198
+ Graceful error handling:
199
+
200
+ ```markdown
201
+ Steps:
202
+ 1. Try to call mcp__plugin_api_server__get_data
203
+ 2. If error (rate limit, network, etc.):
204
+ - Wait and retry (max 3 attempts)
205
+ - If still failing, inform user
206
+ - Suggest checking configuration
207
+ 3. On success, process data
208
+ ```
209
+
210
+ ## Tool Parameters
211
+
212
+ ### Understanding Tool Schemas
213
+
214
+ Each MCP tool has a schema defining its parameters. View with `/mcp`.
215
+
216
+ **Example schema:**
217
+ ```json
218
+ {
219
+ "name": "asana_create_task",
220
+ "description": "Create a new Asana task",
221
+ "inputSchema": {
222
+ "type": "object",
223
+ "properties": {
224
+ "name": {
225
+ "type": "string",
226
+ "description": "Task title"
227
+ },
228
+ "notes": {
229
+ "type": "string",
230
+ "description": "Task description"
231
+ },
232
+ "workspace": {
233
+ "type": "string",
234
+ "description": "Workspace GID"
235
+ }
236
+ },
237
+ "required": ["name", "workspace"]
238
+ }
239
+ }
240
+ ```
241
+
242
+ ### Calling Tools with Parameters
243
+
244
+ Claude automatically structures tool calls based on schema:
245
+
246
+ ```typescript
247
+ // Claude generates this internally
248
+ {
249
+ toolName: "mcp__plugin_asana_asana__asana_create_task",
250
+ input: {
251
+ name: "Review PR #123",
252
+ notes: "Code review for new feature",
253
+ workspace: "12345",
254
+ assignee: "67890",
255
+ due_on: "2025-01-15"
256
+ }
257
+ }
258
+ ```
259
+
260
+ ### Parameter Validation
261
+
262
+ **In commands, validate before calling:**
263
+
264
+ ```markdown
265
+ Steps:
266
+ 1. Check required parameters:
267
+ - Title is not empty
268
+ - Workspace ID is provided
269
+ - Due date is valid format (YYYY-MM-DD)
270
+ 2. If validation fails, ask user to provide missing data
271
+ 3. If validation passes, call MCP tool
272
+ 4. Handle tool errors gracefully
273
+ ```
274
+
275
+ ## Response Handling
276
+
277
+ ### Success Responses
278
+
279
+ ```markdown
280
+ Steps:
281
+ 1. Call MCP tool
282
+ 2. On success:
283
+ - Extract relevant data from response
284
+ - Format for user display
285
+ - Provide confirmation message
286
+ - Include relevant links or IDs
287
+ ```
288
+
289
+ ### Error Responses
290
+
291
+ ```markdown
292
+ Steps:
293
+ 1. Call MCP tool
294
+ 2. On error:
295
+ - Check error type (auth, rate limit, validation, etc.)
296
+ - Provide helpful error message
297
+ - Suggest remediation steps
298
+ - Don't expose internal error details to user
299
+ ```
300
+
301
+ ### Partial Success
302
+
303
+ ```markdown
304
+ Steps:
305
+ 1. Batch operation with multiple MCP calls
306
+ 2. Track successes and failures separately
307
+ 3. Report summary:
308
+ - "Successfully processed 8 of 10 items"
309
+ - "Failed items: [item1, item2] due to [reason]"
310
+ - Suggest retry or manual intervention
311
+ ```
312
+
313
+ ## Performance Optimization
314
+
315
+ ### Batching Requests
316
+
317
+ **Good: Single query with filters**
318
+ ```markdown
319
+ Steps:
320
+ 1. Call mcp__plugin_api_server__search with filters:
321
+ - project_id: "123"
322
+ - status: "active"
323
+ - limit: 100
324
+ 2. Process all results
325
+ ```
326
+
327
+ **Avoid: Many individual queries**
328
+ ```markdown
329
+ Steps:
330
+ 1. For each item ID:
331
+ - Call mcp__plugin_api_server__get_item
332
+ - Process item
333
+ ```
334
+
335
+ ### Caching Results
336
+
337
+ ```markdown
338
+ Steps:
339
+ 1. Call expensive MCP operation: mcp__plugin_api_server__analyze
340
+ 2. Store results in variable for reuse
341
+ 3. Use cached results for subsequent operations
342
+ 4. Only re-fetch if data changes
343
+ ```
344
+
345
+ ### Parallel Tool Calls
346
+
347
+ When tools don't depend on each other, call in parallel:
348
+
349
+ ```markdown
350
+ Steps:
351
+ 1. Make parallel calls (Claude handles this automatically):
352
+ - mcp__plugin_api_server__get_project
353
+ - mcp__plugin_api_server__get_users
354
+ - mcp__plugin_api_server__get_tags
355
+ 2. Wait for all to complete
356
+ 3. Combine results
357
+ ```
358
+
359
+ ## Integration Best Practices
360
+
361
+ ### User Experience
362
+
363
+ **Provide feedback:**
364
+ ```markdown
365
+ Steps:
366
+ 1. Inform user: "Searching Asana tasks..."
367
+ 2. Call mcp__plugin_asana_asana__asana_search_tasks
368
+ 3. Show progress: "Found 15 tasks, analyzing..."
369
+ 4. Present results
370
+ ```
371
+
372
+ **Handle long operations:**
373
+ ```markdown
374
+ Steps:
375
+ 1. Warn user: "This may take a minute..."
376
+ 2. Break into smaller steps with updates
377
+ 3. Show incremental progress
378
+ 4. Final summary when complete
379
+ ```
380
+
381
+ ### Error Messages
382
+
383
+ **Good error messages:**
384
+ ```
385
+ ❌ "Could not create task. Please check:
386
+ 1. You're logged into Asana
387
+ 2. You have access to workspace 'Engineering'
388
+ 3. The project 'Q1 Goals' exists"
389
+ ```
390
+
391
+ **Poor error messages:**
392
+ ```
393
+ ❌ "Error: MCP tool returned 403"
394
+ ```
395
+
396
+ ### Documentation
397
+
398
+ **Document MCP tool usage in command:**
399
+ ```markdown
400
+ ## MCP Tools Used
401
+
402
+ This command uses the following Asana MCP tools:
403
+ - **asana_search_tasks**: Search for tasks matching criteria
404
+ - **asana_create_task**: Create new task with details
405
+ - **asana_update_task**: Update existing task properties
406
+
407
+ Ensure you're authenticated to Asana before running this command.
408
+ ```
409
+
410
+ ## Testing Tool Usage
411
+
412
+ ### Local Testing
413
+
414
+ 1. **Configure MCP server** in `.mcp.json`
415
+ 2. **Install plugin locally** in `.claude-plugin/`
416
+ 3. **Verify tools available** with `/mcp`
417
+ 4. **Test command** that uses tools
418
+ 5. **Check debug output**: `claude --debug`
419
+
420
+ ### Test Scenarios
421
+
422
+ **Test successful calls:**
423
+ ```markdown
424
+ Steps:
425
+ 1. Create test data in external service
426
+ 2. Run command that queries this data
427
+ 3. Verify correct results returned
428
+ ```
429
+
430
+ **Test error cases:**
431
+ ```markdown
432
+ Steps:
433
+ 1. Test with missing authentication
434
+ 2. Test with invalid parameters
435
+ 3. Test with non-existent resources
436
+ 4. Verify graceful error handling
437
+ ```
438
+
439
+ **Test edge cases:**
440
+ ```markdown
441
+ Steps:
442
+ 1. Test with empty results
443
+ 2. Test with maximum results
444
+ 3. Test with special characters
445
+ 4. Test with concurrent access
446
+ ```
447
+
448
+ ## Common Patterns
449
+
450
+ ### Pattern: CRUD Operations
451
+
452
+ ```markdown
453
+ ---
454
+ allowed-tools: [
455
+ "mcp__plugin_api_server__create_item",
456
+ "mcp__plugin_api_server__read_item",
457
+ "mcp__plugin_api_server__update_item",
458
+ "mcp__plugin_api_server__delete_item"
459
+ ]
460
+ ---
461
+
462
+ # Item Management
463
+
464
+ ## Create
465
+ Use create_item with required fields...
466
+
467
+ ## Read
468
+ Use read_item with item ID...
469
+
470
+ ## Update
471
+ Use update_item with item ID and changes...
472
+
473
+ ## Delete
474
+ Use delete_item with item ID (ask for confirmation first)...
475
+ ```
476
+
477
+ ### Pattern: Search and Process
478
+
479
+ ```markdown
480
+ Steps:
481
+ 1. **Search**: mcp__plugin_api_server__search with filters
482
+ 2. **Filter**: Apply additional local filtering if needed
483
+ 3. **Transform**: Process each result
484
+ 4. **Present**: Format and display to user
485
+ ```
486
+
487
+ ### Pattern: Multi-Step Workflow
488
+
489
+ ```markdown
490
+ Steps:
491
+ 1. **Setup**: Gather all required information
492
+ 2. **Validate**: Check data completeness
493
+ 3. **Execute**: Chain of MCP tool calls:
494
+ - Create parent resource
495
+ - Create child resources
496
+ - Link resources together
497
+ - Add metadata
498
+ 4. **Verify**: Confirm all steps succeeded
499
+ 5. **Report**: Provide summary to user
500
+ ```
501
+
502
+ ## Troubleshooting
503
+
504
+ ### Tools Not Available
505
+
506
+ **Check:**
507
+ - MCP server configured correctly
508
+ - Server connected (check `/mcp`)
509
+ - Tool names match exactly (case-sensitive)
510
+ - Restart Claude Code after config changes
511
+
512
+ ### Tool Calls Failing
513
+
514
+ **Check:**
515
+ - Authentication is valid
516
+ - Parameters match tool schema
517
+ - Required parameters provided
518
+ - Check `claude --debug` logs
519
+
520
+ ### Performance Issues
521
+
522
+ **Check:**
523
+ - Batching queries instead of individual calls
524
+ - Caching results when appropriate
525
+ - Not making unnecessary tool calls
526
+ - Parallel calls when possible
527
+
528
+ ## Conclusion
529
+
530
+ Effective MCP tool usage requires:
531
+ 1. **Understanding tool schemas** via `/mcp`
532
+ 2. **Pre-allowing tools** in commands appropriately
533
+ 3. **Handling errors gracefully**
534
+ 4. **Optimizing performance** with batching and caching
535
+ 5. **Providing good UX** with feedback and clear errors
536
+ 6. **Testing thoroughly** before deployment
537
+
538
+ Follow these patterns for robust MCP tool integration in your plugin commands and agents.
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 2,
3
+ "name": "nestjs",
4
+ "owner": "pur3v4d3r",
5
+ "repo": "pur3-pkb-codebase",
6
+ "path": "__LOCAL-REPO/__skills/nestjs",
7
+ "branch": "main",
8
+ "sha": "e16c5d0b55fd7b80ac0142f58f84d555ff0dbb8b",
9
+ "source": "manual"
10
+ }