specweave 0.1.9 → 0.3.1

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 (293) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +263 -81
  3. package/bin/install-all.sh +1 -1
  4. package/bin/install-commands.sh +3 -3
  5. package/bin/specweave.js +39 -9
  6. package/dist/adapters/adapter-base.d.ts +1 -1
  7. package/dist/adapters/adapter-base.d.ts.map +1 -1
  8. package/dist/adapters/adapter-base.js +6 -41
  9. package/dist/adapters/adapter-base.js.map +1 -1
  10. package/dist/adapters/adapter-interface.js +1 -2
  11. package/dist/adapters/adapter-interface.js.map +1 -1
  12. package/dist/adapters/adapter-loader.d.ts +86 -0
  13. package/dist/adapters/adapter-loader.d.ts.map +1 -0
  14. package/dist/adapters/adapter-loader.js +216 -0
  15. package/dist/adapters/adapter-loader.js.map +1 -0
  16. package/dist/adapters/agents-md-generator.d.ts +48 -0
  17. package/dist/adapters/agents-md-generator.d.ts.map +1 -0
  18. package/dist/adapters/agents-md-generator.js +132 -0
  19. package/dist/adapters/agents-md-generator.js.map +1 -0
  20. package/dist/adapters/claude/adapter.d.ts +2 -2
  21. package/dist/adapters/claude/adapter.d.ts.map +1 -1
  22. package/dist/adapters/claude/adapter.js +5 -42
  23. package/dist/adapters/claude/adapter.js.map +1 -1
  24. package/dist/adapters/claude-md-generator.d.ts +78 -0
  25. package/dist/adapters/claude-md-generator.d.ts.map +1 -0
  26. package/dist/adapters/claude-md-generator.js +246 -0
  27. package/dist/adapters/claude-md-generator.js.map +1 -0
  28. package/dist/adapters/codex/adapter.d.ts +50 -0
  29. package/dist/adapters/codex/adapter.d.ts.map +1 -0
  30. package/dist/adapters/codex/adapter.js +316 -0
  31. package/dist/adapters/codex/adapter.js.map +1 -0
  32. package/dist/adapters/copilot/adapter.d.ts +10 -9
  33. package/dist/adapters/copilot/adapter.d.ts.map +1 -1
  34. package/dist/adapters/copilot/adapter.js +35 -100
  35. package/dist/adapters/copilot/adapter.js.map +1 -1
  36. package/dist/adapters/cursor/adapter.d.ts +8 -6
  37. package/dist/adapters/cursor/adapter.d.ts.map +1 -1
  38. package/dist/adapters/cursor/adapter.js +47 -130
  39. package/dist/adapters/cursor/adapter.js.map +1 -1
  40. package/dist/adapters/doc-generator.d.ts +69 -0
  41. package/dist/adapters/doc-generator.d.ts.map +1 -0
  42. package/dist/adapters/doc-generator.js +247 -0
  43. package/dist/adapters/doc-generator.js.map +1 -0
  44. package/dist/adapters/gemini/adapter.d.ts +50 -0
  45. package/dist/adapters/gemini/adapter.d.ts.map +1 -0
  46. package/dist/adapters/gemini/adapter.js +281 -0
  47. package/dist/adapters/gemini/adapter.js.map +1 -0
  48. package/dist/adapters/generic/adapter.d.ts +7 -4
  49. package/dist/adapters/generic/adapter.d.ts.map +1 -1
  50. package/dist/adapters/generic/adapter.js +60 -59
  51. package/dist/adapters/generic/adapter.js.map +1 -1
  52. package/dist/cli/commands/init.d.ts +3 -1
  53. package/dist/cli/commands/init.d.ts.map +1 -1
  54. package/dist/cli/commands/init.js +327 -177
  55. package/dist/cli/commands/init.js.map +1 -1
  56. package/dist/cli/commands/install.d.ts.map +1 -1
  57. package/dist/cli/commands/install.js +22 -58
  58. package/dist/cli/commands/install.js.map +1 -1
  59. package/dist/cli/commands/list.d.ts.map +1 -1
  60. package/dist/cli/commands/list.js +27 -64
  61. package/dist/cli/commands/list.js.map +1 -1
  62. package/dist/core/credentials-manager.d.ts +90 -0
  63. package/dist/core/credentials-manager.d.ts.map +1 -0
  64. package/dist/core/credentials-manager.js +271 -0
  65. package/dist/core/credentials-manager.js.map +1 -0
  66. package/dist/core/project-structure-detector.d.ts +92 -0
  67. package/dist/core/project-structure-detector.d.ts.map +1 -0
  68. package/dist/core/project-structure-detector.js +289 -0
  69. package/dist/core/project-structure-detector.js.map +1 -0
  70. package/dist/core/rfc-generator-v2.d.ts +149 -0
  71. package/dist/core/rfc-generator-v2.d.ts.map +1 -0
  72. package/dist/core/rfc-generator-v2.js +399 -0
  73. package/dist/core/rfc-generator-v2.js.map +1 -0
  74. package/dist/core/rfc-generator.d.ts +147 -0
  75. package/dist/core/rfc-generator.d.ts.map +1 -0
  76. package/dist/core/rfc-generator.js +434 -0
  77. package/dist/core/rfc-generator.js.map +1 -0
  78. package/dist/integrations/ado/ado-client.d.ts +123 -0
  79. package/dist/integrations/ado/ado-client.d.ts.map +1 -0
  80. package/dist/integrations/ado/ado-client.js +398 -0
  81. package/dist/integrations/ado/ado-client.js.map +1 -0
  82. package/dist/integrations/jira/jira-client.d.ts +139 -0
  83. package/dist/integrations/jira/jira-client.d.ts.map +1 -0
  84. package/dist/integrations/jira/jira-client.js +386 -0
  85. package/dist/integrations/jira/jira-client.js.map +1 -0
  86. package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  87. package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  88. package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
  89. package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
  90. package/dist/integrations/jira/jira-mapper.d.ts +105 -0
  91. package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
  92. package/dist/integrations/jira/jira-mapper.js +494 -0
  93. package/dist/integrations/jira/jira-mapper.js.map +1 -0
  94. package/dist/testing/test-generator.d.ts +117 -0
  95. package/dist/testing/test-generator.d.ts.map +1 -0
  96. package/dist/testing/test-generator.js +370 -0
  97. package/dist/testing/test-generator.js.map +1 -0
  98. package/dist/utils/auto-install.d.ts +3 -0
  99. package/dist/utils/auto-install.d.ts.map +1 -1
  100. package/dist/utils/auto-install.js +16 -82
  101. package/dist/utils/auto-install.js.map +1 -1
  102. package/dist/utils/esm-helpers.d.ts +50 -0
  103. package/dist/utils/esm-helpers.d.ts.map +1 -0
  104. package/dist/utils/esm-helpers.js +57 -0
  105. package/dist/utils/esm-helpers.js.map +1 -0
  106. package/package.json +16 -7
  107. package/src/adapters/README.md +1 -2
  108. package/src/adapters/adapter-base.ts +6 -3
  109. package/src/adapters/adapter-loader.ts +261 -0
  110. package/src/adapters/agents-md-generator.ts +162 -0
  111. package/src/adapters/claude/README.md +6 -14
  112. package/src/adapters/claude/adapter.ts +4 -4
  113. package/src/adapters/claude-md-generator.ts +311 -0
  114. package/src/adapters/codex/README.md +105 -0
  115. package/src/adapters/codex/adapter.ts +333 -0
  116. package/src/adapters/copilot/adapter.ts +36 -65
  117. package/src/adapters/cursor/README.md +0 -2
  118. package/src/adapters/cursor/adapter.ts +46 -92
  119. package/src/adapters/doc-generator.ts +331 -0
  120. package/src/adapters/gemini/README.md +97 -0
  121. package/src/adapters/gemini/adapter.ts +298 -0
  122. package/src/adapters/generic/adapter.ts +61 -57
  123. package/src/adapters/registry.yaml +86 -25
  124. package/src/agents/devops/AGENT.md +16 -18
  125. package/src/agents/docs-writer/AGENT.md +2 -2
  126. package/src/agents/pm/AGENT.md +1 -50
  127. package/src/commands/README.md +134 -111
  128. package/src/commands/{build.md → specweave.do.md} +141 -69
  129. package/src/commands/{done.md → specweave.done.md} +3 -3
  130. package/src/commands/{inc.md → specweave.inc.md} +4 -4
  131. package/src/commands/{increment.md → specweave.increment.md} +143 -76
  132. package/src/commands/specweave.md +430 -0
  133. package/src/commands/specweave.next.md +495 -0
  134. package/src/commands/{progress.md → specweave.progress.md} +12 -12
  135. package/src/commands/specweave.sync-docs.md +665 -0
  136. package/src/commands/specweave.sync-github.md +269 -0
  137. package/src/commands/specweave.sync-jira.md +197 -0
  138. package/src/commands/{validate.md → specweave.validate.md} +4 -4
  139. package/src/hooks/README.md +19 -29
  140. package/src/hooks/post-task-completion.sh +25 -30
  141. package/src/skills/ado-sync/README.md +1 -36
  142. package/src/skills/bmad-method-expert/SKILL.md +1 -3
  143. package/src/skills/brownfield-analyzer/SKILL.md +429 -23
  144. package/src/skills/brownfield-onboarder/SKILL.md +221 -8
  145. package/src/skills/context-loader/SKILL.md +239 -617
  146. package/src/skills/context-optimizer/SKILL.md +0 -30
  147. package/src/skills/github-sync/SKILL.md +1 -19
  148. package/src/skills/increment-planner/SKILL.md +64 -18
  149. package/src/skills/increment-quality-judge/SKILL.md +1 -36
  150. package/src/skills/jira-sync/README.md +1 -38
  151. package/src/skills/role-orchestrator/README.md +1 -22
  152. package/src/skills/role-orchestrator/SKILL.md +1 -59
  153. package/src/skills/skill-router/SKILL.md +0 -18
  154. package/src/skills/spec-kit-expert/SKILL.md +1 -3
  155. package/src/skills/specweave-detector/SKILL.md +225 -275
  156. package/src/skills/task-builder/README.md +1 -7
  157. package/src/templates/AGENTS.md.template +334 -0
  158. package/src/templates/CLAUDE.md.template +131 -298
  159. package/src/templates/README.md.template +115 -23
  160. package/src/templates/environments/minimal/README.md +0 -1
  161. package/INSTALL.md +0 -848
  162. package/SPECWEAVE.md +0 -743
  163. package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
  164. package/src/adapters/cursor/.cursorrules +0 -325
  165. package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
  166. package/src/commands/create-project.md +0 -528
  167. package/src/commands/generate-docs.md +0 -623
  168. package/src/commands/review-docs.md +0 -331
  169. package/src/commands/sync-github.md +0 -115
  170. package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
  171. package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
  172. package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
  173. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
  174. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
  175. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
  176. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
  177. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
  178. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
  179. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
  180. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
  181. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
  182. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
  183. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
  184. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
  185. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
  186. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
  187. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
  188. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
  189. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
  190. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
  191. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
  192. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
  193. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
  194. package/src/skills/cost-optimizer/test-results/README.md +0 -46
  195. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
  196. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
  197. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
  198. package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
  199. package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
  200. package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
  201. package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
  202. package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
  203. package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
  204. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
  205. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
  206. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
  207. package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
  208. package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
  209. package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
  210. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
  211. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
  212. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
  213. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
  214. package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
  215. package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
  216. package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
  217. package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
  218. package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
  219. package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
  220. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
  221. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
  222. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
  223. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
  224. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
  225. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
  226. package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
  227. package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
  228. package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
  229. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
  230. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
  231. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
  232. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
  233. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
  234. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
  235. package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
  236. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
  237. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
  238. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
  239. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
  240. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
  241. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
  242. package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
  243. package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
  244. package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
  245. package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
  246. package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
  247. package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
  248. package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
  249. package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
  250. package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
  251. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
  252. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
  253. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
  254. package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
  255. package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
  256. package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
  257. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
  258. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
  259. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
  260. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
  261. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
  262. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
  263. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
  264. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
  265. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
  266. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
  267. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
  268. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
  269. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
  270. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
  271. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
  272. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
  273. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
  274. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
  275. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
  276. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
  277. package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
  278. package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
  279. package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
  280. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
  281. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
  282. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
  283. package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
  284. package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
  285. package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
  286. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
  287. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
  288. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
  289. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
  290. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
  291. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
  292. package/src/templates/config.yaml +0 -351
  293. /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Claude Code Adapter
4
3
  *
@@ -8,45 +7,10 @@
8
7
  * This is the BASELINE adapter - all other adapters try to approximate this experience
9
8
  * within their tool's capabilities.
10
9
  */
11
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- var desc = Object.getOwnPropertyDescriptor(m, k);
14
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
- desc = { enumerable: true, get: function() { return m[k]; } };
16
- }
17
- Object.defineProperty(o, k2, desc);
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
26
- });
27
- var __importStar = (this && this.__importStar) || (function () {
28
- var ownKeys = function(o) {
29
- ownKeys = Object.getOwnPropertyNames || function (o) {
30
- var ar = [];
31
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
- return ar;
33
- };
34
- return ownKeys(o);
35
- };
36
- return function (mod) {
37
- if (mod && mod.__esModule) return mod;
38
- var result = {};
39
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
- __setModuleDefault(result, mod);
41
- return result;
42
- };
43
- })();
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.ClaudeAdapter = void 0;
46
- const path = __importStar(require("path"));
47
- const fs = __importStar(require("fs-extra"));
48
- const adapter_base_1 = require("../adapter-base");
49
- class ClaudeAdapter extends adapter_base_1.AdapterBase {
10
+ import * as path from 'path';
11
+ import fs from 'fs-extra';
12
+ import { AdapterBase } from '../adapter-base.js';
13
+ export class ClaudeAdapter extends AdapterBase {
50
14
  constructor() {
51
15
  super(...arguments);
52
16
  this.name = 'claude';
@@ -156,7 +120,7 @@ WHAT THIS PROVIDES:
156
120
 
157
121
  - Skills (Auto-Activating): specweave-detector, skill-router, context-loader, increment-planner
158
122
  - Agents (Specialized Roles): PM, Architect, DevOps, QA, Security, and 14 more
159
- - Slash Commands: /create-increment, /review-docs, /sync-github, /create-project
123
+ - Slash Commands: /specweave inc, /specweave do, /specweave validate, /specweave sync-github
160
124
  - Hooks (Auto-Update): post-task-completion, pre-implementation, docs-changed
161
125
 
162
126
  WHY CLAUDE CODE IS BEST:
@@ -180,5 +144,4 @@ For complete documentation, see: .claude/README.md
180
144
  `;
181
145
  }
182
146
  }
183
- exports.ClaudeAdapter = ClaudeAdapter;
184
147
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude/adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,6CAA+B;AAC/B,kDAA8C;AAG9C,MAAa,aAAc,SAAQ,0BAAW;IAA9C;;QACE,SAAI,GAAG,QAAQ,CAAC;QAChB,gBAAW,GAAG,sFAAsF,CAAC;QACrG,oBAAe,GAAG,MAAe,CAAC;IA0IpC,CAAC;IAxIC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM;QACV,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExD,2DAA2D;QAC3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO,YAAY,IAAI,YAAY,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,8BAA8B;aAC5C;YACD,sEAAsE;YACtE,qDAAqD;SACtD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QAEvE,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE9B,wBAAwB;QACxB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAElD,cAAc;QACd,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmDN,CAAC;IACJ,CAAC;CACF;AA7ID,sCA6IC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAA9C;;QACE,SAAI,GAAG,QAAQ,CAAC;QAChB,gBAAW,GAAG,sFAAsF,CAAC;QACrG,oBAAe,GAAG,MAAe,CAAC;IA0IpC,CAAC;IAxIC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM;QACV,6BAA6B;QAC7B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExD,2DAA2D;QAC3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO,YAAY,IAAI,YAAY,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,8BAA8B;aAC5C;YACD,sEAAsE;YACtE,qDAAqD;SACtD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QAEvE,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE9B,wBAAwB;QACxB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACrD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAElD,cAAc;QACd,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmDN,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * CLAUDE.md Generator
3
+ *
4
+ * Generates CLAUDE.md - the PRIMARY instruction file for Claude Code.
5
+ *
6
+ * CRITICAL:
7
+ * - Claude Code ONLY reads CLAUDE.md (NOT AGENTS.md)
8
+ * - This is the native/baseline implementation (skills, agents, hooks, slash commands)
9
+ * - Claude Code is NOT an adapter - it's the gold standard that others try to approximate
10
+ *
11
+ * This generator creates a quick reference that lists what's actually installed,
12
+ * so when we add new agents/skills, CLAUDE.md stays in sync automatically.
13
+ */
14
+ export interface ClaudeMdOptions {
15
+ projectName: string;
16
+ projectPath: string;
17
+ templatePath?: string;
18
+ }
19
+ /**
20
+ * Generate CLAUDE.md with dynamic agent/skill sections
21
+ */
22
+ export declare class ClaudeMdGenerator {
23
+ private docGen;
24
+ constructor(skillsDir?: string, agentsDir?: string, commandsDir?: string);
25
+ /**
26
+ * Generate complete CLAUDE.md content
27
+ */
28
+ generate(options: ClaudeMdOptions): Promise<string>;
29
+ /**
30
+ * Replace dynamic sections in template
31
+ */
32
+ private replaceDynamicSections;
33
+ /**
34
+ * Generate dynamic agents section
35
+ */
36
+ private replaceAgentsSection;
37
+ /**
38
+ * Generate agents table
39
+ */
40
+ private generateAgentsTable;
41
+ /**
42
+ * Get agent activation guidance
43
+ */
44
+ private getAgentActivation;
45
+ /**
46
+ * Generate dynamic skills section
47
+ */
48
+ private replaceSkillsSection;
49
+ /**
50
+ * Generate framework skills table
51
+ */
52
+ private generateFrameworkSkillsTable;
53
+ /**
54
+ * Generate tech skills table
55
+ */
56
+ private generateTechSkillsTable;
57
+ /**
58
+ * Generate integration skills table
59
+ */
60
+ private generateIntegrationSkillsTable;
61
+ /**
62
+ * Get skill activation guidance
63
+ */
64
+ private getSkillActivation;
65
+ /**
66
+ * Generate skills table
67
+ */
68
+ private generateSkillsTable;
69
+ /**
70
+ * Replace commands section
71
+ */
72
+ private replaceCommandsSection;
73
+ /**
74
+ * Truncate text to max length
75
+ */
76
+ private truncate;
77
+ }
78
+ //# sourceMappingURL=claude-md-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md-generator.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAe;gBAG3B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM;IAKtB;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzD;;OAEG;YACW,sBAAsB;IAkBpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiBpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAiBtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAIjB"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * CLAUDE.md Generator
3
+ *
4
+ * Generates CLAUDE.md - the PRIMARY instruction file for Claude Code.
5
+ *
6
+ * CRITICAL:
7
+ * - Claude Code ONLY reads CLAUDE.md (NOT AGENTS.md)
8
+ * - This is the native/baseline implementation (skills, agents, hooks, slash commands)
9
+ * - Claude Code is NOT an adapter - it's the gold standard that others try to approximate
10
+ *
11
+ * This generator creates a quick reference that lists what's actually installed,
12
+ * so when we add new agents/skills, CLAUDE.md stays in sync automatically.
13
+ */
14
+ import { DocGenerator } from './doc-generator.js';
15
+ import * as path from 'path';
16
+ import fs from 'fs-extra';
17
+ import { getDirname } from '../utils/esm-helpers.js';
18
+ const __dirname = getDirname(import.meta.url);
19
+ /**
20
+ * Generate CLAUDE.md with dynamic agent/skill sections
21
+ */
22
+ export class ClaudeMdGenerator {
23
+ constructor(skillsDir, agentsDir, commandsDir) {
24
+ this.docGen = new DocGenerator(skillsDir, agentsDir, commandsDir);
25
+ }
26
+ /**
27
+ * Generate complete CLAUDE.md content
28
+ */
29
+ async generate(options) {
30
+ // Read template
31
+ const templatePath = options.templatePath ||
32
+ path.join(__dirname, '../templates/CLAUDE.md.template');
33
+ if (!await fs.pathExists(templatePath)) {
34
+ throw new Error(`CLAUDE.md template not found at: ${templatePath}`);
35
+ }
36
+ let content = await fs.readFile(templatePath, 'utf-8');
37
+ // Replace placeholders
38
+ content = content.replace(/\{PROJECT_NAME\}/g, options.projectName);
39
+ // Replace dynamic sections
40
+ content = await this.replaceDynamicSections(content);
41
+ return content;
42
+ }
43
+ /**
44
+ * Replace dynamic sections in template
45
+ */
46
+ async replaceDynamicSections(content) {
47
+ // Extract actual skills and agents
48
+ const skills = await this.docGen.extractSkills();
49
+ const agents = await this.docGen.extractAgents();
50
+ const commands = await this.docGen.extractCommands();
51
+ // Replace agents section (lines 226-243 in template)
52
+ content = this.replaceAgentsSection(content, agents);
53
+ // Replace skills section (lines 248-278 in template)
54
+ content = this.replaceSkillsSection(content, skills);
55
+ // Replace commands section if needed
56
+ content = this.replaceCommandsSection(content, commands);
57
+ return content;
58
+ }
59
+ /**
60
+ * Generate dynamic agents section
61
+ */
62
+ replaceAgentsSection(content, agents) {
63
+ const agentsTable = this.generateAgentsTable(agents);
64
+ // Find the agents section and replace it
65
+ // Look for "## Agents (Activate Automatically)" section
66
+ const agentsSectionRegex = /## Agents \(Activate Automatically\)[\s\S]*?(?=\n## |$)/;
67
+ const agentsSection = `## Agents (Activate Automatically)
68
+
69
+ **Strategic Agents** (pre-installed & ready to use):
70
+
71
+ ${agentsTable}
72
+
73
+ **All ${agents.length} agents are pre-installed** - Claude uses the right one based on your request!
74
+
75
+ **See**: \`.claude/agents/\` for complete list
76
+
77
+ ---
78
+ `;
79
+ if (agentsSectionRegex.test(content)) {
80
+ return content.replace(agentsSectionRegex, agentsSection);
81
+ }
82
+ return content;
83
+ }
84
+ /**
85
+ * Generate agents table
86
+ */
87
+ generateAgentsTable(agents) {
88
+ let table = '| Agent | Purpose | Activates When |\n';
89
+ table += '|-------|---------|----------------|\n';
90
+ for (const agent of agents) {
91
+ const activation = this.getAgentActivation(agent.name);
92
+ table += `| \`${agent.name}\` | ${agent.description} | ${activation} |\n`;
93
+ }
94
+ return table;
95
+ }
96
+ /**
97
+ * Get agent activation guidance
98
+ */
99
+ getAgentActivation(agentName) {
100
+ const activations = {
101
+ 'pm': 'Planning features',
102
+ 'architect': 'Technical design',
103
+ 'security': 'Security review',
104
+ 'qa-lead': 'Testing',
105
+ 'devops': 'Deployment needed',
106
+ 'tech-lead': 'Code review',
107
+ 'sre': 'Troubleshooting',
108
+ 'docs-writer': 'Writing docs',
109
+ 'performance': 'Optimization needed',
110
+ 'frontend': 'Frontend development',
111
+ 'nodejs-backend': 'Node.js backend',
112
+ 'python-backend': 'Python backend',
113
+ 'nextjs': 'Next.js development',
114
+ 'dotnet-backend': '.NET development'
115
+ };
116
+ return activations[agentName] || 'Specialized tasks';
117
+ }
118
+ /**
119
+ * Generate dynamic skills section
120
+ */
121
+ replaceSkillsSection(content, skills) {
122
+ const skillsTable = this.generateSkillsTable(skills);
123
+ // Find the skills section and replace it
124
+ const skillsSectionRegex = /## Skills \(Activate Automatically\)[\s\S]*?(?=\n## |$)/;
125
+ const skillsSection = `## Skills (Activate Automatically)
126
+
127
+ **Framework Skills** (always available):
128
+
129
+ ${this.generateFrameworkSkillsTable(skills)}
130
+
131
+ **Technology Skills** (all pre-installed):
132
+
133
+ ${this.generateTechSkillsTable(skills)}
134
+
135
+ **Integration Skills** (all pre-installed):
136
+
137
+ ${this.generateIntegrationSkillsTable(skills)}
138
+
139
+ **See**: \`.claude/skills/\` for complete list of ${skills.length}+ skills!
140
+
141
+ ---
142
+ `;
143
+ if (skillsSectionRegex.test(content)) {
144
+ return content.replace(skillsSectionRegex, skillsSection);
145
+ }
146
+ return content;
147
+ }
148
+ /**
149
+ * Generate framework skills table
150
+ */
151
+ generateFrameworkSkillsTable(skills) {
152
+ const frameworkSkills = skills.filter(s => ['specweave-detector', 'increment-planner', 'context-loader', 'skill-router',
153
+ 'spec-driven-debugging', 'spec-driven-brainstorming', 'brownfield-analyzer'].includes(s.name));
154
+ let table = '| Skill | Purpose | Activates When |\n';
155
+ table += '|-------|---------|----------------|\n';
156
+ for (const skill of frameworkSkills) {
157
+ const activation = this.getSkillActivation(skill.name);
158
+ table += `| \`${skill.name}\` | ${this.truncate(skill.description, 60)} | ${activation} |\n`;
159
+ }
160
+ return table;
161
+ }
162
+ /**
163
+ * Generate tech skills table
164
+ */
165
+ generateTechSkillsTable(skills) {
166
+ const techSkills = skills.filter(s => ['nodejs-backend', 'python-backend', 'nextjs', 'frontend', 'dotnet-backend',
167
+ 'e2e-playwright'].includes(s.name));
168
+ let table = '| Skill | Purpose | Activates When |\n';
169
+ table += '|-------|---------|----------------|\n';
170
+ for (const skill of techSkills) {
171
+ const activation = this.getSkillActivation(skill.name);
172
+ table += `| \`${skill.name}\` | ${this.truncate(skill.description, 60)} | ${activation} |\n`;
173
+ }
174
+ return table;
175
+ }
176
+ /**
177
+ * Generate integration skills table
178
+ */
179
+ generateIntegrationSkillsTable(skills) {
180
+ const integrationSkills = skills.filter(s => ['jira-sync', 'github-sync', 'ado-sync', 'hetzner-provisioner',
181
+ 'cost-optimizer', 'figma-mcp-connector'].includes(s.name));
182
+ let table = '| Skill | Purpose | Activates When |\n';
183
+ table += '|-------|---------|----------------|\n';
184
+ for (const skill of integrationSkills) {
185
+ const activation = this.getSkillActivation(skill.name);
186
+ table += `| \`${skill.name}\` | ${this.truncate(skill.description, 60)} | ${activation} |\n`;
187
+ }
188
+ return table;
189
+ }
190
+ /**
191
+ * Get skill activation guidance
192
+ */
193
+ getSkillActivation(skillName) {
194
+ const activations = {
195
+ 'specweave-detector': 'User asks about SpecWeave',
196
+ 'increment-planner': '/pi or feature planning',
197
+ 'context-loader': 'Working on increments',
198
+ 'skill-router': 'Ambiguous requests',
199
+ 'spec-driven-debugging': 'Bug or test failure',
200
+ 'spec-driven-brainstorming': 'Brainstorm or refine idea',
201
+ 'nodejs-backend': 'Node.js backend',
202
+ 'python-backend': 'Python backend',
203
+ 'nextjs': 'Next.js',
204
+ 'frontend': 'Frontend',
205
+ 'dotnet-backend': '.NET',
206
+ 'jira-sync': 'JIRA integration',
207
+ 'github-sync': 'GitHub integration',
208
+ 'ado-sync': 'Azure DevOps sync',
209
+ 'hetzner-provisioner': 'Hetzner deployment',
210
+ 'cost-optimizer': 'Cost optimization',
211
+ 'e2e-playwright': 'E2E testing'
212
+ };
213
+ return activations[skillName] || 'Specialized tasks';
214
+ }
215
+ /**
216
+ * Generate skills table
217
+ */
218
+ generateSkillsTable(skills) {
219
+ let table = '| Skill | Description |\n';
220
+ table += '|-------|-------------|\n';
221
+ for (const skill of skills.slice(0, 20)) { // Top 20 skills
222
+ table += `| \`${skill.name}\` | ${this.truncate(skill.description, 80)} |\n`;
223
+ }
224
+ if (skills.length > 20) {
225
+ table += `| _...and ${skills.length - 20} more_ | See \`.claude/skills/\` |\n`;
226
+ }
227
+ return table;
228
+ }
229
+ /**
230
+ * Replace commands section
231
+ */
232
+ replaceCommandsSection(content, commands) {
233
+ // Commands are already listed in the template, but we could make them dynamic too
234
+ // For now, we'll skip this since commands are explicitly documented
235
+ return content;
236
+ }
237
+ /**
238
+ * Truncate text to max length
239
+ */
240
+ truncate(text, maxLength) {
241
+ if (text.length <= maxLength)
242
+ return text;
243
+ return text.substring(0, maxLength - 3) + '...';
244
+ }
245
+ }
246
+ //# sourceMappingURL=claude-md-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-md-generator.js","sourceRoot":"","sources":["../../src/adapters/claude-md-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Codex Adapter (OpenAI)
3
+ *
4
+ * Semi-automation adapter for OpenAI Codex (ChatGPT Code Interpreter/Codex CLI).
5
+ * Uses universal AGENTS.md file for instructions.
6
+ *
7
+ * Codex features:
8
+ * - Works in CLI, IDE, web, GitHub, iOS app
9
+ * - GPT-5-Codex optimized for engineering tasks
10
+ * - File read/write operations
11
+ * - Test execution and validation
12
+ * - Task-based isolated environments
13
+ */
14
+ import { AdapterBase } from '../adapter-base.js';
15
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
16
+ export declare class CodexAdapter extends AdapterBase {
17
+ name: string;
18
+ description: string;
19
+ automationLevel: "semi";
20
+ /**
21
+ * Detect if Codex is available
22
+ *
23
+ * Checks for:
24
+ * - codex command in PATH (Codex CLI)
25
+ * - .codex/ directory exists
26
+ * - AGENTS.md file exists (previously configured)
27
+ */
28
+ detect(): Promise<boolean>;
29
+ /**
30
+ * Get files to install for Codex adapter
31
+ */
32
+ getFiles(): AdapterFile[];
33
+ /**
34
+ * Install Codex adapter
35
+ */
36
+ install(options: AdapterOptions): Promise<void>;
37
+ /**
38
+ * Generate AGENTS.md file
39
+ */
40
+ private generateAgentsMd;
41
+ /**
42
+ * Post-installation instructions
43
+ */
44
+ postInstall(options: AdapterOptions): Promise<void>;
45
+ /**
46
+ * Get usage instructions for Codex adapter
47
+ */
48
+ getInstructions(): string;
49
+ }
50
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtE,qBAAa,YAAa,SAAQ,WAAW;IAC3C,IAAI,SAAW;IACf,WAAW,SAAoF;IAC/F,eAAe,EAAG,MAAM,CAAU;IAElC;;;;;;;OAOG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAQhC;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAezB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CAuN1B"}