specweave 0.1.9 → 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 (293) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +245 -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 +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} +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
@@ -0,0 +1,316 @@
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 * as path from 'path';
15
+ import fs from 'fs-extra';
16
+ import { AdapterBase } from '../adapter-base.js';
17
+ import { AgentsMdGenerator } from '../agents-md-generator.js';
18
+ import { getDirname } from '../../utils/esm-helpers.js';
19
+ const __dirname = getDirname(import.meta.url);
20
+ export class CodexAdapter extends AdapterBase {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.name = 'codex';
24
+ this.description = 'OpenAI Codex adapter - Semi-automation with AGENTS.md and task-based execution';
25
+ this.automationLevel = 'semi';
26
+ }
27
+ /**
28
+ * Detect if Codex is available
29
+ *
30
+ * Checks for:
31
+ * - codex command in PATH (Codex CLI)
32
+ * - .codex/ directory exists
33
+ * - AGENTS.md file exists (previously configured)
34
+ */
35
+ async detect() {
36
+ const hasCodexCLI = await this.commandExists('codex');
37
+ const hasCodexDir = await this.fileExists('.codex');
38
+ const hasAgentsMd = await this.fileExists('AGENTS.md');
39
+ return hasCodexCLI || hasCodexDir || hasAgentsMd;
40
+ }
41
+ /**
42
+ * Get files to install for Codex adapter
43
+ */
44
+ getFiles() {
45
+ return [
46
+ {
47
+ sourcePath: 'AGENTS.md',
48
+ targetPath: 'AGENTS.md',
49
+ description: 'Universal SpecWeave instructions (works with all AI tools)'
50
+ },
51
+ {
52
+ sourcePath: 'README.md',
53
+ targetPath: '.codex/README.md',
54
+ description: 'Codex adapter documentation'
55
+ }
56
+ ];
57
+ }
58
+ /**
59
+ * Install Codex adapter
60
+ */
61
+ async install(options) {
62
+ console.log('\n📦 Installing OpenAI Codex Adapter (Semi-Automation)\n');
63
+ // Ensure .codex directory exists
64
+ const codexDir = path.join(options.projectPath, '.codex');
65
+ await fs.ensureDir(codexDir);
66
+ // Generate AGENTS.md
67
+ const agentsMdPath = path.join(options.projectPath, 'AGENTS.md');
68
+ await this.generateAgentsMd(agentsMdPath, options);
69
+ // Copy README
70
+ const readmePath = path.join(__dirname, 'README.md');
71
+ if (await fs.pathExists(readmePath)) {
72
+ await fs.copy(readmePath, path.join(codexDir, 'README.md'));
73
+ }
74
+ console.log('\n✨ Codex adapter installed!');
75
+ console.log('\n📋 Files created:');
76
+ console.log(' - AGENTS.md (universal instructions)');
77
+ console.log(' - .codex/README.md (adapter documentation)');
78
+ }
79
+ /**
80
+ * Generate AGENTS.md file
81
+ */
82
+ async generateAgentsMd(targetPath, options) {
83
+ const generator = new AgentsMdGenerator(path.join(__dirname, '../../skills'), path.join(__dirname, '../../agents'), path.join(__dirname, '../../commands'));
84
+ const content = await generator.generate({
85
+ projectName: options.projectName,
86
+ projectPath: options.projectPath
87
+ });
88
+ await fs.writeFile(targetPath, content);
89
+ console.log(' ✅ AGENTS.md - Universal SpecWeave instructions');
90
+ }
91
+ /**
92
+ * Post-installation instructions
93
+ */
94
+ async postInstall(options) {
95
+ console.log(this.getInstructions());
96
+ }
97
+ /**
98
+ * Get usage instructions for Codex adapter
99
+ */
100
+ getInstructions() {
101
+ return `
102
+ ================================================================
103
+ OpenAI Codex Adapter - Semi-Automation
104
+ ================================================================
105
+
106
+ Your project is now configured for OpenAI Codex with SEMI-automation!
107
+
108
+ WHAT THIS PROVIDES:
109
+
110
+ - AGENTS.md (Universal Instructions)
111
+ - Works with Codex CLI, ChatGPT web, and IDEs
112
+ - Auto-generated from actual skills/agents
113
+ - SpecWeave structure and workflows
114
+ - GPT-5-Codex optimized guidance
115
+
116
+ - Task-Based Execution
117
+ - Isolated environments per task
118
+ - File read/write operations
119
+ - Test execution and validation
120
+
121
+ QUICK START:
122
+
123
+ **Option 1: Codex CLI** (Fastest)
124
+
125
+ 1. Install Codex CLI:
126
+
127
+ # Included with ChatGPT Plus, Pro, Business, Enterprise
128
+ npm install -g openai-codex-cli
129
+
130
+ 2. Create your first feature:
131
+
132
+ codex "Read AGENTS.md and create increment for user authentication"
133
+
134
+ Codex will:
135
+ - Read AGENTS.md for SpecWeave context
136
+ - Adopt PM role: Create spec.md (WHAT/WHY)
137
+ - Adopt Architect role: Create plan.md (HOW)
138
+ - Create tasks.md
139
+ - Execute in isolated environment
140
+
141
+ **Option 2: ChatGPT Web** (Most Accessible)
142
+
143
+ 1. Open ChatGPT (Plus/Pro/Business/Enterprise)
144
+
145
+ 2. Upload AGENTS.md file
146
+
147
+ 3. Say:
148
+ "I'm using SpecWeave framework. Create increment for user authentication."
149
+
150
+ 4. Copy generated content to files:
151
+ - spec.md
152
+ - plan.md
153
+ - tasks.md
154
+
155
+ **Option 3: IDE Integration** (If available in your IDE)
156
+
157
+ Use Codex integration in your IDE (VS Code, JetBrains, etc.)
158
+ Reference AGENTS.md for SpecWeave structure.
159
+
160
+ HOW TO USE:
161
+
162
+ **With Codex CLI**:
163
+ \`\`\`bash
164
+ # Explicit reference (recommended):
165
+ codex "Read AGENTS.md and [your request]"
166
+
167
+ # Natural language:
168
+ codex "Create a new feature following SpecWeave structure"
169
+
170
+ # With context:
171
+ codex "Following the PM role in AGENTS.md, create requirements for payments"
172
+ \`\`\`
173
+
174
+ **With ChatGPT Web**:
175
+ 1. Upload AGENTS.md at start of conversation
176
+ 2. Reference it: "Following AGENTS.md, create increment for..."
177
+ 3. Download or copy-paste generated files
178
+
179
+ CONTEXT LOADING (70%+ Token Savings):
180
+
181
+ CRITICAL: Tell Codex to read context-manifest.yaml first!
182
+
183
+ \`\`\`bash
184
+ # CLI:
185
+ codex "Read context-manifest.yaml from increment 0001, load only those files, then implement task T001"
186
+
187
+ # Web:
188
+ # 1. Upload context-manifest.yaml
189
+ # 2. Upload only files listed in manifest
190
+ # 3. Request task implementation
191
+ \`\`\`
192
+
193
+ FEATURES:
194
+
195
+ ✅ GPT-5-Codex Model
196
+ - Optimized for engineering tasks
197
+ - Trained on complex, real-world projects
198
+ - Code generation, debugging, refactoring
199
+
200
+ ✅ Task-Based Execution
201
+ - Each task in isolated environment
202
+ - Real-time progress monitoring
203
+ - Verifiable evidence (citations, logs)
204
+
205
+ ✅ File Operations
206
+ - Read and edit files
207
+ - Run commands (tests, linters, type checkers)
208
+ - Create new files and directories
209
+
210
+ ✅ Multiple Access Points
211
+ - CLI (fastest)
212
+ - Web (most accessible)
213
+ - IDE (most integrated)
214
+ - GitHub (for PRs)
215
+ - iOS app (mobile)
216
+
217
+ ✅ Test Execution
218
+ - Run test harnesses
219
+ - Validate implementations
220
+ - Ensure quality
221
+
222
+ EXAMPLE WORKFLOWS:
223
+
224
+ 1. **Create Feature (CLI)**:
225
+ \`\`\`bash
226
+ codex "Read AGENTS.md. Create increment 0002 for payment processing with Stripe. Follow SpecWeave structure."
227
+ \`\`\`
228
+
229
+ 2. **Create Feature (Web)**:
230
+ - Upload AGENTS.md
231
+ - Say: "Create increment for payment processing"
232
+ - Download generated files
233
+
234
+ 3. **Implement Task**:
235
+ \`\`\`bash
236
+ codex "Read increment 0002, implement task T001 (Setup Stripe SDK)"
237
+ \`\`\`
238
+
239
+ 4. **Fix Bug**:
240
+ \`\`\`bash
241
+ codex "Read AGENTS.md and increment 0001. Fix authentication bug. Run tests."
242
+ \`\`\`
243
+
244
+ 5. **Code Review**:
245
+ \`\`\`bash
246
+ codex "Adopt Tech Lead role from AGENTS.md. Review src/auth/ code."
247
+ \`\`\`
248
+
249
+ TIPS & TRICKS:
250
+
251
+ 1. **Always Reference AGENTS.md**
252
+ - CLI: Explicit in command
253
+ - Web: Upload at conversation start
254
+
255
+ 2. **Use Task-Based Approach**
256
+ - Break work into tasks (T001, T002, etc.)
257
+ - Each task runs in isolated environment
258
+ - Easier to track and validate
259
+
260
+ 3. **Monitor Progress**
261
+ - CLI shows real-time progress (1-30 minutes per task)
262
+ - Web shows thinking process
263
+ - Review citations and logs
264
+
265
+ 4. **Leverage Multiple Access Points**
266
+ - CLI for speed
267
+ - Web for accessibility
268
+ - IDE for integration
269
+
270
+ 5. **Validate with Tests**
271
+ - Codex can run tests automatically
272
+ - Verify implementations work
273
+
274
+ COMPARISON:
275
+
276
+ | Feature | Claude Code | Codex |
277
+ |---------|-------------|-------|
278
+ | **Automation** | Full | Semi |
279
+ | **Skills** | Native | Via AGENTS.md |
280
+ | **Agents** | Native | Via AGENTS.md |
281
+ | **Access** | CLI only | CLI + Web + IDE + GitHub + iOS |
282
+ | **Model** | Sonnet 4.5 | GPT-5-Codex |
283
+ | **Task Isolation** | No | Yes (isolated environments) |
284
+
285
+ LIMITATIONS:
286
+
287
+ - No native skills/agents (manual role adoption via AGENTS.md)
288
+ - No hooks (can't auto-update docs on events)
289
+ - Tasks run 1-30 minutes (not instant)
290
+ - Requires ChatGPT Plus/Pro/Business/Enterprise
291
+
292
+ But very powerful with GPT-5-Codex and multiple access points!
293
+
294
+ PLANS & PRICING:
295
+
296
+ - **ChatGPT Plus**: $20/month (includes Codex CLI + Web)
297
+ - **ChatGPT Pro**: $200/month (unlimited, faster)
298
+ - **Business/Enterprise**: Custom pricing
299
+
300
+ Free trial may be available - check OpenAI website.
301
+
302
+ DOCUMENTATION:
303
+
304
+ - AGENTS.md: Universal SpecWeave instructions (READ THIS!)
305
+ - SPECWEAVE.md: Complete framework documentation
306
+ - .codex/README.md: Codex adapter guide
307
+ - https://openai.com/codex/
308
+
309
+ You're ready to build with SpecWeave on OpenAI Codex!
310
+
311
+ Pro tip: Use CLI for speed, Web for accessibility, and always
312
+ reference AGENTS.md for SpecWeave structure!
313
+ `;
314
+ }
315
+ }
316
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/codex/adapter.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,12 @@
2
2
  * GitHub Copilot Adapter
3
3
  *
4
4
  * Basic automation adapter for GitHub Copilot.
5
- * Provides workspace instructions that Copilot reads for context and suggestions.
5
+ * Copilot automatically reads AGENTS.md (universal standard) for context and suggestions.
6
6
  *
7
- * Since GitHub Copilot has limited configuration (workspace instructions only),
8
- * this adapter focuses on clear, structured guidance that Copilot can use
9
- * to provide better code suggestions and completions.
7
+ * This adapter requires no additional files - Copilot reads AGENTS.md automatically.
10
8
  */
11
- import { AdapterBase } from '../adapter-base';
12
- import { AdapterOptions, AdapterFile } from '../adapter-interface';
9
+ import { AdapterBase } from '../adapter-base.js';
10
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
13
11
  export declare class CopilotAdapter extends AdapterBase {
14
12
  name: string;
15
13
  description: string;
@@ -17,13 +15,16 @@ export declare class CopilotAdapter extends AdapterBase {
17
15
  /**
18
16
  * Detect if GitHub Copilot is available
19
17
  *
20
- * Checks for:
21
- * - .github/copilot/instructions.md exists
22
- * - VS Code with Copilot extension
18
+ * Note: Detection is best-effort since Copilot might be installed
19
+ * but we can't detect it reliably. This adapter is safe to use
20
+ * as a fallback since Copilot reads AGENTS.md (universal standard).
23
21
  */
24
22
  detect(): Promise<boolean>;
25
23
  /**
26
24
  * Get files to install for Copilot adapter
25
+ *
26
+ * Note: Copilot automatically reads AGENTS.md (universal standard).
27
+ * No additional files needed.
27
28
  */
28
29
  getFiles(): AdapterFile[];
29
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnE,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAA2E;IACtF,eAAe,EAAG,OAAO,CAAU;IAEnC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShC;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAezB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAerD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CA8H1B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtE,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAA8D;IACzE,eAAe,EAAG,OAAO,CAAU;IAEnC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CAsH1B"}
@@ -1,103 +1,47 @@
1
- "use strict";
2
1
  /**
3
2
  * GitHub Copilot Adapter
4
3
  *
5
4
  * Basic automation adapter for GitHub Copilot.
6
- * Provides workspace instructions that Copilot reads for context and suggestions.
5
+ * Copilot automatically reads AGENTS.md (universal standard) for context and suggestions.
7
6
  *
8
- * Since GitHub Copilot has limited configuration (workspace instructions only),
9
- * this adapter focuses on clear, structured guidance that Copilot can use
10
- * to provide better code suggestions and completions.
7
+ * This adapter requires no additional files - Copilot reads AGENTS.md automatically.
11
8
  */
12
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- var desc = Object.getOwnPropertyDescriptor(m, k);
15
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
16
- desc = { enumerable: true, get: function() { return m[k]; } };
17
- }
18
- Object.defineProperty(o, k2, desc);
19
- }) : (function(o, m, k, k2) {
20
- if (k2 === undefined) k2 = k;
21
- o[k2] = m[k];
22
- }));
23
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
24
- Object.defineProperty(o, "default", { enumerable: true, value: v });
25
- }) : function(o, v) {
26
- o["default"] = v;
27
- });
28
- var __importStar = (this && this.__importStar) || (function () {
29
- var ownKeys = function(o) {
30
- ownKeys = Object.getOwnPropertyNames || function (o) {
31
- var ar = [];
32
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
33
- return ar;
34
- };
35
- return ownKeys(o);
36
- };
37
- return function (mod) {
38
- if (mod && mod.__esModule) return mod;
39
- var result = {};
40
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
41
- __setModuleDefault(result, mod);
42
- return result;
43
- };
44
- })();
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.CopilotAdapter = void 0;
47
- const path = __importStar(require("path"));
48
- const fs = __importStar(require("fs-extra"));
49
- const adapter_base_1 = require("../adapter-base");
50
- class CopilotAdapter extends adapter_base_1.AdapterBase {
9
+ import { AdapterBase } from '../adapter-base.js';
10
+ export class CopilotAdapter extends AdapterBase {
51
11
  constructor() {
52
12
  super(...arguments);
53
13
  this.name = 'copilot';
54
- this.description = 'GitHub Copilot adapter - Basic automation with workspace instructions';
14
+ this.description = 'GitHub Copilot adapter - Basic automation with AGENTS.md';
55
15
  this.automationLevel = 'basic';
56
16
  }
57
17
  /**
58
18
  * Detect if GitHub Copilot is available
59
19
  *
60
- * Checks for:
61
- * - .github/copilot/instructions.md exists
62
- * - VS Code with Copilot extension
20
+ * Note: Detection is best-effort since Copilot might be installed
21
+ * but we can't detect it reliably. This adapter is safe to use
22
+ * as a fallback since Copilot reads AGENTS.md (universal standard).
63
23
  */
64
24
  async detect() {
65
- const hasInstructions = await this.fileExists('.github/copilot/instructions.md');
66
- const hasGitHubDir = await this.fileExists('.github');
67
- // Check for VS Code Copilot extension (best effort)
68
- // This is approximate - Copilot might be installed but we can't detect reliably
69
- return hasInstructions || hasGitHubDir;
25
+ // Always return false to make this a manual selection
26
+ // Users can explicitly choose Copilot adapter if they want
27
+ return false;
70
28
  }
71
29
  /**
72
30
  * Get files to install for Copilot adapter
31
+ *
32
+ * Note: Copilot automatically reads AGENTS.md (universal standard).
33
+ * No additional files needed.
73
34
  */
74
35
  getFiles() {
75
- return [
76
- {
77
- sourcePath: '.github/copilot/instructions.md',
78
- targetPath: '.github/copilot/instructions.md',
79
- description: 'GitHub Copilot workspace instructions'
80
- },
81
- {
82
- sourcePath: 'README.md',
83
- targetPath: '.github/copilot/README.md',
84
- description: 'Copilot adapter documentation'
85
- }
86
- ];
36
+ return [];
87
37
  }
88
38
  /**
89
39
  * Install Copilot adapter
90
40
  */
91
41
  async install(options) {
92
- console.log('\n📦 Installing GitHub Copilot Adapter (Basic Automation)\n');
93
- // Ensure .github/copilot directory exists
94
- const copilotDir = path.join(options.projectPath, '.github', 'copilot');
95
- await fs.ensureDir(copilotDir);
96
- // Copy files
97
- await super.install(options);
98
- console.log('\n✨ Copilot adapter installed!');
99
- console.log('\n📋 Files created:');
100
- console.log(' - .github/copilot/instructions.md (workspace guidance)');
42
+ console.log('\n📦 Configuring GitHub Copilot (Basic Automation)\n');
43
+ // No files to install - Copilot reads AGENTS.md automatically
44
+ console.log('✅ Copilot will automatically read AGENTS.md');
101
45
  }
102
46
  /**
103
47
  * Post-installation instructions
@@ -118,14 +62,14 @@ Your project is now configured for GitHub Copilot!
118
62
 
119
63
  WHAT THIS PROVIDES:
120
64
 
121
- - Workspace Instructions (.github/copilot/instructions.md)
122
- - Project overview (SpecWeave framework)
123
- - Workflow guidance (creating increments)
124
- - Context manifest explanation
125
- - File structure reference
65
+ - AGENTS.md (Universal Standard)
66
+ - Copilot automatically reads this file
67
+ - Contains all workflow instructions
68
+ - Project structure and templates
69
+ - Following agents.md standard (https://agents.md/)
126
70
 
127
71
  - Better Code Suggestions
128
- - Copilot reads workspace instructions
72
+ - Copilot reads AGENTS.md for context
129
73
  - Suggests code following SpecWeave patterns
130
74
  - Understands project structure
131
75
 
@@ -135,26 +79,22 @@ Claude Code (Full Automation):
135
79
  - Native skills (auto-activate)
136
80
  - Native agents (separate context windows)
137
81
  - Native hooks (auto-update docs)
138
- - Slash commands
82
+ - Slash commands (/inc, /do, /done)
139
83
 
140
84
  Cursor (Semi-Automation):
141
- - Simulated skills (.cursorrules)
142
- - Simulated agents (manual roles)
85
+ - Reads AGENTS.md for workflow
143
86
  - @ context shortcuts
87
+ - Composer multi-file editing
144
88
 
145
89
  Copilot (Basic Automation - This Adapter):
146
- - Workspace instructions only
90
+ - Reads AGENTS.md automatically
147
91
  - Better code suggestions
148
92
  - No skills, agents, hooks, or commands
149
93
  - Manual workflow with AI assistance
150
94
 
151
- HOW WE BRIDGE THE GAP:
152
-
153
- GitHub Copilot doesn't support custom commands or complex
154
- workflows. But it DOES read workspace instructions to provide
155
- better code suggestions.
95
+ HOW COPILOT USES AGENTS.MD:
156
96
 
157
- We provide clear instructions that teach Copilot about:
97
+ GitHub Copilot automatically reads AGENTS.md to understand:
158
98
  - SpecWeave structure (.specweave/ folders)
159
99
  - File naming conventions (spec.md, plan.md, tasks.md)
160
100
  - Context manifests (what files to reference)
@@ -164,12 +104,11 @@ Result: Copilot suggests code that fits SpecWeave patterns!
164
104
 
165
105
  HOW TO USE SPECWEAVE WITH COPILOT:
166
106
 
167
- 1. Copilot reads workspace instructions automatically
107
+ 1. Copilot reads AGENTS.md automatically
168
108
  - No action needed - just open project in VS Code
169
109
  - Copilot will suggest code following SpecWeave patterns
170
110
 
171
111
  2. Create increments manually:
172
-
173
112
  mkdir -p .specweave/increments/0001-user-auth
174
113
 
175
114
  3. Reference context manifests:
@@ -184,20 +123,19 @@ HOW TO USE SPECWEAVE WITH COPILOT:
184
123
 
185
124
  5. Use Copilot inline suggestions:
186
125
  Start typing in spec.md → Copilot suggests content
187
- Following SpecWeave patterns from instructions.md
126
+ Following SpecWeave patterns from AGENTS.md
188
127
 
189
128
  WORKFLOW EXAMPLE:
190
129
 
191
130
  Creating a Feature:
192
131
 
193
132
  1. Create increment folder:
194
-
195
133
  mkdir -p .specweave/increments/0002-payments
196
134
  cd .specweave/increments/0002-payments
197
135
 
198
136
  2. Create spec.md:
199
137
  - Open file, start typing frontmatter
200
- - Copilot suggests SpecWeave structure
138
+ - Copilot suggests SpecWeave structure (from AGENTS.md)
201
139
  - Fill in user stories, acceptance criteria
202
140
 
203
141
  3. Create plan.md:
@@ -218,14 +156,12 @@ LIMITATIONS (vs Claude Code & Cursor):
218
156
  - Completely manual workflow
219
157
 
220
158
  But Copilot still provides helpful suggestions!
221
- - Understands SpecWeave structure from instructions
159
+ - Understands SpecWeave structure from AGENTS.md
222
160
  - Suggests code following project patterns
223
161
 
224
162
  DOCUMENTATION:
225
163
 
226
- - SPECWEAVE.md: Complete development guide
227
- - .github/copilot/instructions.md: Workspace instructions
228
- - .github/copilot/README.md: Copilot adapter guide
164
+ - AGENTS.md: Universal workflow instructions (Copilot reads this!)
229
165
  - .specweave/docs/: Project documentation
230
166
 
231
167
  You're ready to build with SpecWeave on GitHub Copilot!
@@ -235,5 +171,4 @@ Copilot is best for simple projects or when already using VS Code + Copilot.
235
171
  `;
236
172
  }
237
173
  }
238
- exports.CopilotAdapter = CopilotAdapter;
239
174
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,6CAA+B;AAC/B,kDAA8C;AAG9C,MAAa,cAAe,SAAQ,0BAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,uEAAuE,CAAC;QACtF,oBAAe,GAAG,OAAgB,CAAC;IA8LrC,CAAC;IA5LC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtD,oDAAoD;QACpD,gFAAgF;QAChF,OAAO,eAAe,IAAI,YAAY,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE,iCAAiC;gBAC7C,UAAU,EAAE,iCAAiC;gBAC7C,WAAW,EAAE,uCAAuC;aACrD;YACD;gBACE,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,2BAA2B;gBACvC,WAAW,EAAE,+BAA+B;aAC7C;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAE3E,0CAA0C;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/B,aAAa;QACb,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IAC3E,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2HN,CAAC;IACJ,CAAC;CACF;AAjMD,wCAiMC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,0DAA0D,CAAC;QACzE,oBAAe,GAAG,OAAgB,CAAC;IAmKrC,CAAC;IAjKC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM;QACV,sDAAsD;QACtD,2DAA2D;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QAEpE,8DAA8D;QAC9D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmHN,CAAC;IACJ,CAAC;CACF"}
@@ -2,13 +2,13 @@
2
2
  * Cursor Adapter
3
3
  *
4
4
  * Semi-automation adapter for Cursor editor.
5
- * Provides workflow instructions via .cursorrules and @ context shortcuts.
5
+ * Provides @ context shortcuts for quick context injection.
6
6
  *
7
- * Since Cursor doesn't natively support Claude Code's skills/agents/hooks,
8
- * 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).
9
9
  */
10
- import { AdapterBase } from '../adapter-base';
11
- import { AdapterOptions, AdapterFile } from '../adapter-interface';
10
+ import { AdapterBase } from '../adapter-base.js';
11
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
12
12
  export declare class CursorAdapter extends AdapterBase {
13
13
  name: string;
14
14
  description: string;
@@ -19,11 +19,13 @@ export declare class CursorAdapter extends AdapterBase {
19
19
  * Checks for:
20
20
  * - cursor command in PATH
21
21
  * - .cursor/ directory exists
22
- * - .cursorrules file exists
23
22
  */
24
23
  detect(): Promise<boolean>;
25
24
  /**
26
25
  * Get files to install for Cursor adapter
26
+ *
27
+ * Note: Cursor automatically reads AGENTS.md (universal standard).
28
+ * This adapter only installs Cursor-specific @ context shortcuts.
27
29
  */
28
30
  getFiles(): AdapterFile[];
29
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/cursor/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnE,qBAAa,aAAc,SAAQ,WAAW;IAC5C,IAAI,SAAY;IAChB,WAAW,SAAgF;IAC3F,eAAe,EAAG,MAAM,CAAU;IAElC;;;;;;;OAOG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAQhC;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAmCzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CAmK1B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/cursor/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtE,qBAAa,aAAc,SAAQ,WAAW;IAC5C,IAAI,SAAY;IAChB,WAAW,SAA6E;IACxF,eAAe,EAAG,MAAM,CAAU;IAElC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAOhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IA8BzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CA0H1B"}