specweave 0.1.8 → 0.3.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 (294) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +263 -88
  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 +272 -170
  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} +185 -72
  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/specweave.increment.md +383 -0
  132. package/src/commands/specweave.md +430 -0
  133. package/src/commands/specweave.next.md +495 -0
  134. package/src/commands/specweave.progress.md +258 -0
  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 -297
  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 -711
  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/increment.md +0 -223
  169. package/src/commands/review-docs.md +0 -331
  170. package/src/commands/sync-github.md +0 -115
  171. package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
  172. package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
  173. package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
  174. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
  175. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
  176. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
  177. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
  178. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
  179. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
  180. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
  181. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
  182. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
  183. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
  184. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
  185. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
  186. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
  187. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
  188. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
  189. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
  190. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
  191. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
  192. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
  193. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
  194. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
  195. package/src/skills/cost-optimizer/test-results/README.md +0 -46
  196. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
  197. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
  198. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
  199. package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
  200. package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
  201. package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
  202. package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
  203. package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
  204. package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
  205. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
  206. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
  207. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
  208. package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
  209. package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
  210. package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
  211. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
  212. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
  213. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
  214. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
  215. package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
  216. package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
  217. package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
  218. package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
  219. package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
  220. package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
  221. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
  222. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
  223. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
  224. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
  225. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
  226. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
  227. package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
  228. package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
  229. package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
  230. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
  231. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
  232. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
  233. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
  234. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
  235. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
  236. package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
  237. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
  238. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
  239. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
  240. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
  241. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
  242. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
  243. package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
  244. package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
  245. package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
  246. package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
  247. package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
  248. package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
  249. package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
  250. package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
  251. package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
  252. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
  253. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
  254. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
  255. package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
  256. package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
  257. package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
  258. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
  259. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
  260. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
  261. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
  262. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
  263. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
  264. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
  265. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
  266. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
  267. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
  268. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
  269. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
  270. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
  271. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
  272. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
  273. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
  274. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
  275. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
  276. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
  277. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
  278. package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
  279. package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
  280. package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
  281. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
  282. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
  283. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
  284. package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
  285. package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
  286. package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
  287. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
  288. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
  289. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
  290. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
  291. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
  292. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
  293. package/src/templates/config.yaml +0 -351
  294. /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
@@ -1,56 +1,20 @@
1
- "use strict";
2
1
  /**
3
2
  * Cursor Adapter
4
3
  *
5
4
  * Semi-automation adapter for Cursor editor.
6
- * Provides workflow instructions via .cursorrules and @ context shortcuts.
5
+ * Provides @ context shortcuts for quick context injection.
7
6
  *
8
- * Since Cursor doesn't natively support Claude Code's skills/agents/hooks,
9
- * this adapter teaches Cursor HOW TO BEHAVE LIKE it has these capabilities.
7
+ * Cursor automatically reads AGENTS.md (universal standard) for workflow instructions.
8
+ * This adapter only installs Cursor-specific features (@ shortcuts).
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.CursorAdapter = 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 CursorAdapter 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 CursorAdapter extends AdapterBase {
50
14
  constructor() {
51
15
  super(...arguments);
52
16
  this.name = 'cursor';
53
- this.description = 'Cursor adapter - Semi-automation with .cursorrules and @ context shortcuts';
17
+ this.description = 'Cursor adapter - Semi-automation with AGENTS.md and @ context shortcuts';
54
18
  this.automationLevel = 'semi';
55
19
  }
56
20
  /**
@@ -59,24 +23,20 @@ class CursorAdapter extends adapter_base_1.AdapterBase {
59
23
  * Checks for:
60
24
  * - cursor command in PATH
61
25
  * - .cursor/ directory exists
62
- * - .cursorrules file exists
63
26
  */
64
27
  async detect() {
65
28
  const hasCursorCLI = await this.commandExists('cursor');
66
29
  const hasCursorDir = await this.fileExists('.cursor');
67
- const hasCursorRules = await this.fileExists('.cursorrules');
68
- return hasCursorCLI || hasCursorDir || hasCursorRules;
30
+ return hasCursorCLI || hasCursorDir;
69
31
  }
70
32
  /**
71
33
  * Get files to install for Cursor adapter
34
+ *
35
+ * Note: Cursor automatically reads AGENTS.md (universal standard).
36
+ * This adapter only installs Cursor-specific @ context shortcuts.
72
37
  */
73
38
  getFiles() {
74
39
  return [
75
- {
76
- sourcePath: '.cursorrules',
77
- targetPath: '.cursorrules',
78
- description: 'Cursor workflow instructions (how to act like skills/agents)'
79
- },
80
40
  {
81
41
  sourcePath: '.cursor/context/increments-context.md',
82
42
  targetPath: '.cursor/context/increments-context.md',
@@ -117,8 +77,7 @@ class CursorAdapter extends adapter_base_1.AdapterBase {
117
77
  await super.install(options);
118
78
  console.log('\n✨ Cursor adapter installed!');
119
79
  console.log('\n📋 Files created:');
120
- console.log(' - .cursorrules (workflow instructions)');
121
- console.log(' - .cursor/context/ (@ shortcuts)');
80
+ console.log(' - .cursor/context/ (@ shortcuts for quick context injection)');
122
81
  }
123
82
  /**
124
83
  * Post-installation instructions
@@ -139,11 +98,13 @@ Your project is now configured for Cursor with SEMI-automation!
139
98
 
140
99
  WHAT THIS PROVIDES:
141
100
 
142
- - .cursorrules (Workflow Instructions)
143
- - Teaches Cursor HOW to act like Claude Code skills/agents
144
- - Step-by-step workflow for creating increments
145
- - Context loading strategy (70%+ token savings)
146
- - Increment lifecycle management
101
+ - AGENTS.md (Universal Standard)
102
+ - Cursor automatically reads this file
103
+ - Contains all workflow instructions
104
+ - Defines agent roles (PM, Architect, etc.)
105
+ - Defines skill capabilities (increment-planner, context-loader, etc.)
106
+ - Project structure and templates
107
+ - Following agents.md standard (https://agents.md/)
147
108
 
148
109
  - @ Context Shortcuts (Quick Access)
149
110
  - @increments - Load current increment files
@@ -161,72 +122,30 @@ Claude Code (Full Automation):
161
122
  - Native skills (auto-activate)
162
123
  - Native agents (separate context windows)
163
124
  - Native hooks (auto-update docs)
164
- - Slash commands (/create-increment)
125
+ - Slash commands (/inc, /do, /done)
165
126
 
166
127
  Cursor (Semi-Automation - This Adapter):
167
- - Simulated skills (via .cursorrules instructions)
168
- - Simulated agents (manual role invocation)
128
+ - Reads AGENTS.md for workflow instructions
129
+ - Manual role adoption (say "act as PM")
169
130
  - No hooks (manual doc updates)
170
- - Simulated commands (via workflow instructions)
171
-
172
- HOW WE BRIDGE THE GAP:
173
-
174
- Anthropic's standards (skills, agents, MCP) provide superior
175
- results. For Cursor, we provide "implementation guides"
176
- that teach Cursor's AI how to BEHAVE LIKE it has these
177
- capabilities, even without native support.
178
-
179
- Example: .cursorrules says:
180
- "When user requests feature, act like 'increment-planner' skill:
181
- 1. Read context-manifest.yaml
182
- 2. Load only files listed there
183
- 3. Invoke PM role: Create spec.md
184
- 4. Invoke Architect role: Create plan.md"
185
-
186
- HOW TO "IMPLEMENT" SKILLS IN CURSOR:
187
-
188
- What is a SpecWeave Skill?
189
- A skill is a specialized capability that activates when needed.
190
-
191
- In Claude Code: Skills are native (.claude/skills/)
192
- In Cursor: You simulate by reading relevant files
193
-
194
- Example: increment-planner skill
195
-
196
- Claude Code (automatic):
197
- User: "create increment for auth"
198
- → increment-planner skill activates automatically
199
-
200
- Cursor (manual simulation):
201
- User: "create increment for auth"
202
- → You read .cursorrules
203
- → Follow workflow: read config → create spec → create plan
204
- → Act like increment-planner by following those steps
205
-
206
- HOW TO "IMPLEMENT" AGENTS IN CURSOR:
207
-
208
- What is a SpecWeave Agent?
209
- An agent is a specialized role (PM, Architect, DevOps, etc.)
210
- with separate context window.
211
-
212
- In Claude Code: Agents have separate context windows
213
- In Cursor: You adopt the role's perspective
214
-
215
- Example: PM agent
131
+ - Manual workflows (follow AGENTS.md steps)
216
132
 
217
- Claude Code (automatic):
218
- Task({ subagent_type: "pm", prompt: "create spec" })
219
- → PM agent with separate context window
133
+ HOW CURSOR USES AGENTS.MD:
220
134
 
221
- Cursor (manual simulation):
222
- User: "act as PM agent and create spec"
223
- You adopt PM perspective:
224
- - Focus on WHAT and WHY (not HOW)
225
- - Technology-agnostic requirements
226
- - User stories and acceptance criteria
227
- → Create spec.md following PM role
135
+ Cursor automatically reads AGENTS.md to understand:
136
+ 1. Project structure (.specweave/ folders)
137
+ 2. How to create increments (spec.md, plan.md, tasks.md)
138
+ 3. Agent roles (PM defines WHAT/WHY, Architect designs HOW)
139
+ 4. Skill workflows (increment-planner, context-loader, etc.)
140
+ 5. Context manifests (70%+ token savings)
141
+ 6. Templates and examples
228
142
 
229
- Pro Tip: .cursorrules defines each role's responsibilities
143
+ When you say "create increment for auth":
144
+ → Cursor reads AGENTS.md
145
+ → Follows the workflow described there
146
+ → Creates spec.md (adopting PM role)
147
+ → Creates plan.md (adopting Architect role)
148
+ → Creates tasks.md
230
149
 
231
150
  QUICK START:
232
151
 
@@ -236,10 +155,10 @@ QUICK START:
236
155
  "Create increment for user authentication"
237
156
 
238
157
  Cursor will:
239
- - Read .cursorrules for workflow
158
+ - Read AGENTS.md for workflow
240
159
  - Ask clarifying questions
241
- - Create spec.md (acting as PM)
242
- - Create plan.md (acting as Architect)
160
+ - Create spec.md (acting as PM from AGENTS.md)
161
+ - Create plan.md (acting as Architect from AGENTS.md)
243
162
  - Create tasks.md
244
163
 
245
164
  3. Use @ shortcuts for context:
@@ -254,7 +173,7 @@ CONTEXT LOADING (70%+ Token Savings):
254
173
 
255
174
  CRITICAL: Always read context-manifest.yaml first!
256
175
 
257
- .cursorrules teaches Cursor:
176
+ AGENTS.md teaches Cursor:
258
177
  1. Look for .specweave/increments/####/context-manifest.yaml
259
178
  2. ONLY load files listed in manifest
260
179
  3. Don't load all specs (wastes tokens)
@@ -279,19 +198,17 @@ But still VERY good experience with Composer + @ shortcuts!
279
198
 
280
199
  DOCUMENTATION:
281
200
 
282
- - SPECWEAVE.md: Complete development guide
283
- - .cursorrules: Workflow instructions (READ THIS!)
201
+ - AGENTS.md: Universal workflow instructions (Cursor reads this!)
284
202
  - .cursor/README.md: Cursor-specific documentation
285
203
  - .specweave/docs/: Project documentation
286
204
 
287
205
  You're ready to build with SpecWeave on Cursor!
288
206
 
289
- Pro tip: Say "act as [role]" to simulate agents:
290
- - "act as PM and create spec"
291
- - "act as Architect and design system"
292
- - "act as DevOps and create infrastructure"
207
+ Pro tip: Say "act as [role]" to follow AGENTS.md patterns:
208
+ - "act as PM and create spec" (AGENTS.md defines PM role)
209
+ - "act as Architect and design system" (AGENTS.md defines Architect role)
210
+ - "act as DevOps and create infrastructure" (AGENTS.md defines DevOps role)
293
211
  `;
294
212
  }
295
213
  }
296
- exports.CursorAdapter = CursorAdapter;
297
214
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/cursor/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,4EAA4E,CAAC;QAC3F,oBAAe,GAAG,MAAe,CAAC;IAyPpC,CAAC;IAvPC;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAE7D,OAAO,YAAY,IAAI,YAAY,IAAI,cAAc,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE,cAAc;gBAC1B,UAAU,EAAE,cAAc;gBAC1B,WAAW,EAAE,8DAA8D;aAC5E;YACD;gBACE,UAAU,EAAE,uCAAuC;gBACnD,UAAU,EAAE,uCAAuC;gBACnD,WAAW,EAAE,8BAA8B;aAC5C;YACD;gBACE,UAAU,EAAE,iCAAiC;gBAC7C,UAAU,EAAE,iCAAiC;gBAC7C,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,UAAU,EAAE,qCAAqC;gBACjD,UAAU,EAAE,qCAAqC;gBACjD,WAAW,EAAE,4BAA4B;aAC1C;YACD;gBACE,UAAU,EAAE,kCAAkC;gBAC9C,UAAU,EAAE,kCAAkC;gBAC9C,WAAW,EAAE,yBAAyB;aACvC;YACD;gBACE,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,8BAA8B;aAC5C;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAElE,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;QAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAEpD,aAAa;QACb,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACrD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgKN,CAAC;IACJ,CAAC;CACF;AA5PD,sCA4PC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/cursor/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,yEAAyE,CAAC;QACxF,oBAAe,GAAG,MAAe,CAAC;IA2MpC,CAAC;IAzMC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO,YAAY,IAAI,YAAY,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE,uCAAuC;gBACnD,UAAU,EAAE,uCAAuC;gBACnD,WAAW,EAAE,8BAA8B;aAC5C;YACD;gBACE,UAAU,EAAE,iCAAiC;gBAC7C,UAAU,EAAE,iCAAiC;gBAC7C,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,UAAU,EAAE,qCAAqC;gBACjD,UAAU,EAAE,qCAAqC;gBACjD,WAAW,EAAE,4BAA4B;aAC1C;YACD;gBACE,UAAU,EAAE,kCAAkC;gBAC9C,UAAU,EAAE,kCAAkC;gBAC9C,WAAW,EAAE,yBAAyB;aACvC;YACD;gBACE,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,8BAA8B;aAC5C;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAElE,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;QAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAEpD,aAAa;QACb,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuHN,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Documentation Generator for Adapters
3
+ *
4
+ * Generates markdown documentation from actual skills/agents/commands
5
+ * for use in adapter instruction files (.cursorrules, instructions.md, etc.)
6
+ */
7
+ interface SkillMetadata {
8
+ name: string;
9
+ description: string;
10
+ location: string;
11
+ }
12
+ interface AgentMetadata {
13
+ name: string;
14
+ role: string;
15
+ description: string;
16
+ location: string;
17
+ }
18
+ interface CommandMetadata {
19
+ name: string;
20
+ description: string;
21
+ location: string;
22
+ }
23
+ /**
24
+ * Documentation Generator
25
+ */
26
+ export declare class DocGenerator {
27
+ private skillsDir;
28
+ private agentsDir;
29
+ private commandsDir;
30
+ constructor(skillsDir?: string, agentsDir?: string, commandsDir?: string);
31
+ /**
32
+ * Extract skills metadata from SKILL.md files
33
+ */
34
+ extractSkills(): Promise<SkillMetadata[]>;
35
+ /**
36
+ * Extract agents metadata from AGENT.md files
37
+ */
38
+ extractAgents(): Promise<AgentMetadata[]>;
39
+ /**
40
+ * Extract commands metadata from .md files
41
+ */
42
+ extractCommands(): Promise<CommandMetadata[]>;
43
+ /**
44
+ * Generate skills documentation for Cursor .cursorrules
45
+ */
46
+ generateSkillsDocForCursor(): Promise<string>;
47
+ /**
48
+ * Generate agents documentation for Cursor .cursorrules
49
+ */
50
+ generateAgentsDocForCursor(): Promise<string>;
51
+ /**
52
+ * Generate skills documentation for Copilot instructions.md
53
+ */
54
+ generateSkillsDocForCopilot(): Promise<string>;
55
+ /**
56
+ * Generate agents documentation for Copilot instructions.md
57
+ */
58
+ generateAgentsDocForCopilot(): Promise<string>;
59
+ /**
60
+ * Generate complete manual workflow for generic adapter
61
+ */
62
+ generateManualWorkflow(): Promise<string>;
63
+ /**
64
+ * Extract YAML frontmatter from markdown content
65
+ */
66
+ private extractYAMLFrontmatter;
67
+ }
68
+ export {};
69
+ //# sourceMappingURL=doc-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-generator.d.ts","sourceRoot":"","sources":["../../src/adapters/doc-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAG1B,SAAS,GAAE,MAA0C,EACrD,SAAS,GAAE,MAA0C,EACrD,WAAW,GAAE,MAA4C;IAO3D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA8B/C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAoC/C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA+BnD;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBnD;;OAEG;IACG,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBnD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC;IAepD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC;IAepD;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAiF/C;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAU/B"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Documentation Generator for Adapters
3
+ *
4
+ * Generates markdown documentation from actual skills/agents/commands
5
+ * for use in adapter instruction files (.cursorrules, instructions.md, etc.)
6
+ */
7
+ import fs from 'fs-extra';
8
+ import * as path from 'path';
9
+ import * as YAML from 'yaml';
10
+ import { getDirname } from '../utils/esm-helpers.js';
11
+ const __dirname = getDirname(import.meta.url);
12
+ /**
13
+ * Documentation Generator
14
+ */
15
+ export class DocGenerator {
16
+ constructor(skillsDir = path.join(__dirname, '../skills'), agentsDir = path.join(__dirname, '../agents'), commandsDir = path.join(__dirname, '../commands')) {
17
+ this.skillsDir = skillsDir;
18
+ this.agentsDir = agentsDir;
19
+ this.commandsDir = commandsDir;
20
+ }
21
+ /**
22
+ * Extract skills metadata from SKILL.md files
23
+ */
24
+ async extractSkills() {
25
+ const skills = [];
26
+ if (!await fs.pathExists(this.skillsDir)) {
27
+ return skills;
28
+ }
29
+ const skillFolders = await fs.readdir(this.skillsDir);
30
+ for (const folder of skillFolders) {
31
+ const skillPath = path.join(this.skillsDir, folder);
32
+ const skillFile = path.join(skillPath, 'SKILL.md');
33
+ if (await fs.pathExists(skillFile)) {
34
+ const content = await fs.readFile(skillFile, 'utf-8');
35
+ const metadata = this.extractYAMLFrontmatter(content);
36
+ if (metadata && metadata.name && metadata.description) {
37
+ skills.push({
38
+ name: metadata.name,
39
+ description: metadata.description,
40
+ location: `.claude/skills/${folder}/SKILL.md`
41
+ });
42
+ }
43
+ }
44
+ }
45
+ return skills.sort((a, b) => a.name.localeCompare(b.name));
46
+ }
47
+ /**
48
+ * Extract agents metadata from AGENT.md files
49
+ */
50
+ async extractAgents() {
51
+ const agents = [];
52
+ if (!await fs.pathExists(this.agentsDir)) {
53
+ return agents;
54
+ }
55
+ const agentFolders = await fs.readdir(this.agentsDir);
56
+ for (const folder of agentFolders) {
57
+ const agentPath = path.join(this.agentsDir, folder);
58
+ const agentFile = path.join(agentPath, 'AGENT.md');
59
+ if (await fs.pathExists(agentFile)) {
60
+ const content = await fs.readFile(agentFile, 'utf-8');
61
+ // Extract role from content (look for "# [Role]" heading)
62
+ const roleMatch = content.match(/^#\s+(.+?)$/m);
63
+ const role = roleMatch ? roleMatch[1].trim() : folder;
64
+ // Extract description (first paragraph after frontmatter)
65
+ const descriptionMatch = content.match(/---\n[\s\S]*?---\n\n(.+?)(?:\n\n|$)/);
66
+ const description = descriptionMatch ? descriptionMatch[1].trim() : `${role} agent`;
67
+ agents.push({
68
+ name: folder,
69
+ role: role,
70
+ description: description,
71
+ location: `.claude/agents/${folder}/AGENT.md`
72
+ });
73
+ }
74
+ }
75
+ return agents.sort((a, b) => a.name.localeCompare(b.name));
76
+ }
77
+ /**
78
+ * Extract commands metadata from .md files
79
+ */
80
+ async extractCommands() {
81
+ const commands = [];
82
+ if (!await fs.pathExists(this.commandsDir)) {
83
+ return commands;
84
+ }
85
+ const commandFiles = await fs.readdir(this.commandsDir);
86
+ for (const file of commandFiles) {
87
+ if (file.endsWith('.md') && file !== 'README.md') {
88
+ const commandPath = path.join(this.commandsDir, file);
89
+ const content = await fs.readFile(commandPath, 'utf-8');
90
+ // Extract description from first paragraph
91
+ const descriptionMatch = content.match(/^(.+?)(?:\n\n|$)/);
92
+ const description = descriptionMatch ? descriptionMatch[1].trim() : '';
93
+ const commandName = file.replace('.md', '');
94
+ commands.push({
95
+ name: commandName,
96
+ description: description,
97
+ location: `.claude/commands/${file}`
98
+ });
99
+ }
100
+ }
101
+ return commands.sort((a, b) => a.name.localeCompare(b.name));
102
+ }
103
+ /**
104
+ * Generate skills documentation for Cursor .cursorrules
105
+ */
106
+ async generateSkillsDocForCursor() {
107
+ const skills = await this.extractSkills();
108
+ let doc = '## Available Skills (Read SKILL.md when task matches)\n\n';
109
+ doc += 'SpecWeave skills are specialized capabilities. In Claude Code, they auto-activate.\n';
110
+ doc += 'In Cursor, you simulate by reading the skill file and following its workflow.\n\n';
111
+ for (const skill of skills) {
112
+ doc += `### ${skill.name}\n`;
113
+ doc += `**File**: \`${skill.location}\`\n`;
114
+ doc += `**Description**: ${skill.description}\n`;
115
+ doc += `**How to use**: Read the SKILL.md file and follow the workflow described\n\n`;
116
+ }
117
+ return doc;
118
+ }
119
+ /**
120
+ * Generate agents documentation for Cursor .cursorrules
121
+ */
122
+ async generateAgentsDocForCursor() {
123
+ const agents = await this.extractAgents();
124
+ let doc = '## Agent Roles (Adopt role when specialized expertise needed)\n\n';
125
+ doc += 'SpecWeave agents are specialized roles. In Claude Code, they have separate contexts.\n';
126
+ doc += 'In Cursor, you adopt the role\'s perspective and responsibilities.\n\n';
127
+ for (const agent of agents) {
128
+ doc += `### ${agent.role}\n`;
129
+ doc += `**File**: \`${agent.location}\`\n`;
130
+ doc += `**Description**: ${agent.description}\n`;
131
+ doc += `**When to adopt**: Say "Adopting ${agent.role} role..." and follow AGENT.md guidance\n\n`;
132
+ }
133
+ return doc;
134
+ }
135
+ /**
136
+ * Generate skills documentation for Copilot instructions.md
137
+ */
138
+ async generateSkillsDocForCopilot() {
139
+ const skills = await this.extractSkills();
140
+ let doc = '## Available Capabilities (SpecWeave Skills)\n\n';
141
+ doc += 'The project uses these specialized capabilities:\n\n';
142
+ for (const skill of skills) {
143
+ doc += `- **${skill.name}**: ${skill.description}\n`;
144
+ }
145
+ doc += '\n_Note: These are defined in `.claude/skills/` but work as documentation for code suggestions._\n\n';
146
+ return doc;
147
+ }
148
+ /**
149
+ * Generate agents documentation for Copilot instructions.md
150
+ */
151
+ async generateAgentsDocForCopilot() {
152
+ const agents = await this.extractAgents();
153
+ let doc = '## Project Roles (SpecWeave Agents)\n\n';
154
+ doc += 'Code in this project follows these role-based patterns:\n\n';
155
+ for (const agent of agents) {
156
+ doc += `- **${agent.role}**: ${agent.description}\n`;
157
+ }
158
+ doc += '\n_Note: These are defined in `.claude/agents/` but inform code patterns and suggestions._\n\n';
159
+ return doc;
160
+ }
161
+ /**
162
+ * Generate complete manual workflow for generic adapter
163
+ */
164
+ async generateManualWorkflow() {
165
+ const skills = await this.extractSkills();
166
+ const agents = await this.extractAgents();
167
+ const commands = await this.extractCommands();
168
+ let doc = '# SpecWeave Manual Workflow Guide\n\n';
169
+ doc += '_For use with ANY AI tool (ChatGPT, Claude web, Gemini, etc.)_\n\n';
170
+ doc += '---\n\n';
171
+ doc += '## What is SpecWeave?\n\n';
172
+ doc += 'SpecWeave is a spec-driven development framework where specifications are the source of truth.\n';
173
+ doc += 'This manual shows you how to use SpecWeave WITHOUT specialized tools (works with ANY AI).\n\n';
174
+ doc += '## Available Capabilities\n\n';
175
+ doc += 'While you can\'t auto-activate these like Claude Code, you can reference them:\n\n';
176
+ doc += '### Skills\n\n';
177
+ for (const skill of skills.slice(0, 10)) { // Top 10 skills
178
+ doc += `- **${skill.name}**: ${skill.description}\n`;
179
+ }
180
+ doc += `\n_...and ${skills.length - 10} more in \`.claude/skills/\`_\n\n`;
181
+ doc += '### Roles\n\n';
182
+ for (const agent of agents) {
183
+ doc += `- **${agent.role}**: ${agent.description}\n`;
184
+ }
185
+ doc += '\n';
186
+ doc += '## Step-by-Step: Creating a Feature\n\n';
187
+ doc += '### Step 1: Create Increment Folder\n\n';
188
+ doc += '```bash\n';
189
+ doc += 'mkdir -p .specweave/increments/0001-feature-name\n';
190
+ doc += '```\n\n';
191
+ doc += '### Step 2: Create spec.md (Act as Product Manager)\n\n';
192
+ doc += '_Copy this template to your AI and ask it to fill it out:_\n\n';
193
+ doc += '```markdown\n';
194
+ doc += '---\n';
195
+ doc += 'increment: 0001-feature-name\n';
196
+ doc += 'title: "Feature Title"\n';
197
+ doc += 'priority: P1\n';
198
+ doc += 'status: planned\n';
199
+ doc += '---\n\n';
200
+ doc += '# Increment 0001: Feature Name\n\n';
201
+ doc += '## Overview\n';
202
+ doc += '[Problem and solution]\n\n';
203
+ doc += '## User Stories\n';
204
+ doc += '[User stories with acceptance criteria]\n';
205
+ doc += '```\n\n';
206
+ doc += '### Step 3: Create plan.md (Act as Architect)\n\n';
207
+ doc += '_Copy this template to your AI:_\n\n';
208
+ doc += '```markdown\n';
209
+ doc += '# Technical Plan: Feature Name\n\n';
210
+ doc += '## Architecture\n';
211
+ doc += '[Component design]\n\n';
212
+ doc += '## Data Model\n';
213
+ doc += '[Database schema]\n';
214
+ doc += '```\n\n';
215
+ doc += '### Step 4: Create tasks.md\n\n';
216
+ doc += '```markdown\n';
217
+ doc += '# Implementation Tasks\n\n';
218
+ doc += '- [ ] T001: Task 1\n';
219
+ doc += '- [ ] T002: Task 2\n';
220
+ doc += '```\n\n';
221
+ doc += '### Step 5: Create context-manifest.yaml\n\n';
222
+ doc += '```yaml\n';
223
+ doc += 'spec_sections:\n';
224
+ doc += ' - .specweave/docs/internal/strategy/relevant-spec.md\n';
225
+ doc += 'documentation:\n';
226
+ doc += ' - .specweave/docs/internal/architecture/relevant-design.md\n';
227
+ doc += '```\n\n';
228
+ doc += '## Complete Workflow Reference\n\n';
229
+ doc += 'For detailed guidance, see SPECWEAVE.md in the project root.\n\n';
230
+ return doc;
231
+ }
232
+ /**
233
+ * Extract YAML frontmatter from markdown content
234
+ */
235
+ extractYAMLFrontmatter(content) {
236
+ const match = content.match(/^---\n([\s\S]*?)\n---/);
237
+ if (!match)
238
+ return null;
239
+ try {
240
+ return YAML.parse(match[1]);
241
+ }
242
+ catch (error) {
243
+ return null;
244
+ }
245
+ }
246
+ }
247
+ //# sourceMappingURL=doc-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-generator.js","sourceRoot":"","sources":["../../src/adapters/doc-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Gemini CLI Adapter
3
+ *
4
+ * Semi-automation adapter for Google Gemini CLI.
5
+ * Uses universal AGENTS.md file for instructions.
6
+ *
7
+ * Gemini CLI features:
8
+ * - Open-source AI agent (Apache 2.0)
9
+ * - 1M token context window
10
+ * - ReAct loop with built-in tools
11
+ * - MCP (Model Context Protocol) support
12
+ * - Agent mode for multi-file tasks
13
+ */
14
+ import { AdapterBase } from '../adapter-base.js';
15
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
16
+ export declare class GeminiAdapter extends AdapterBase {
17
+ name: string;
18
+ description: string;
19
+ automationLevel: "semi";
20
+ /**
21
+ * Detect if Gemini CLI is available
22
+ *
23
+ * Checks for:
24
+ * - gemini command in PATH
25
+ * - .gemini/ directory exists
26
+ * - AGENTS.md file exists (previously configured)
27
+ */
28
+ detect(): Promise<boolean>;
29
+ /**
30
+ * Get files to install for Gemini adapter
31
+ */
32
+ getFiles(): AdapterFile[];
33
+ /**
34
+ * Install Gemini 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 Gemini 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/gemini/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,aAAc,SAAQ,WAAW;IAC5C,IAAI,SAAY;IAChB,WAAW,SAAwE;IACnF,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;CAoL1B"}