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,298 @@
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
+
15
+ import * as path from 'path';
16
+ import fs from 'fs-extra';
17
+ import { AdapterBase } from '../adapter-base.js';
18
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
19
+ import { AgentsMdGenerator } from '../agents-md-generator.js';
20
+ import { getDirname } from '../../utils/esm-helpers.js';
21
+
22
+ const __dirname = getDirname(import.meta.url);
23
+
24
+ export class GeminiAdapter extends AdapterBase {
25
+ name = 'gemini';
26
+ description = 'Gemini CLI adapter - Semi-automation with AGENTS.md and agent mode';
27
+ automationLevel = 'semi' as const;
28
+
29
+ /**
30
+ * Detect if Gemini CLI is available
31
+ *
32
+ * Checks for:
33
+ * - gemini command in PATH
34
+ * - .gemini/ directory exists
35
+ * - AGENTS.md file exists (previously configured)
36
+ */
37
+ async detect(): Promise<boolean> {
38
+ const hasGeminiCLI = await this.commandExists('gemini');
39
+ const hasGeminiDir = await this.fileExists('.gemini');
40
+ const hasAgentsMd = await this.fileExists('AGENTS.md');
41
+
42
+ return hasGeminiCLI || hasGeminiDir || hasAgentsMd;
43
+ }
44
+
45
+ /**
46
+ * Get files to install for Gemini adapter
47
+ */
48
+ getFiles(): AdapterFile[] {
49
+ return [
50
+ {
51
+ sourcePath: 'AGENTS.md',
52
+ targetPath: 'AGENTS.md',
53
+ description: 'Universal SpecWeave instructions (works with all AI tools)'
54
+ },
55
+ {
56
+ sourcePath: 'README.md',
57
+ targetPath: '.gemini/README.md',
58
+ description: 'Gemini adapter documentation'
59
+ }
60
+ ];
61
+ }
62
+
63
+ /**
64
+ * Install Gemini adapter
65
+ */
66
+ async install(options: AdapterOptions): Promise<void> {
67
+ console.log('\n📦 Installing Gemini CLI Adapter (Semi-Automation)\n');
68
+
69
+ // Ensure .gemini directory exists
70
+ const geminiDir = path.join(options.projectPath, '.gemini');
71
+ await fs.ensureDir(geminiDir);
72
+
73
+ // Generate AGENTS.md
74
+ const agentsMdPath = path.join(options.projectPath, 'AGENTS.md');
75
+ await this.generateAgentsMd(agentsMdPath, options);
76
+
77
+ // Copy README
78
+ const readmePath = path.join(__dirname, 'README.md');
79
+ if (await fs.pathExists(readmePath)) {
80
+ await fs.copy(readmePath, path.join(geminiDir, 'README.md'));
81
+ }
82
+
83
+ console.log('\n✨ Gemini adapter installed!');
84
+ console.log('\n📋 Files created:');
85
+ console.log(' - AGENTS.md (universal instructions)');
86
+ console.log(' - .gemini/README.md (adapter documentation)');
87
+ }
88
+
89
+ /**
90
+ * Generate AGENTS.md file
91
+ */
92
+ private async generateAgentsMd(targetPath: string, options: AdapterOptions): Promise<void> {
93
+ const generator = new AgentsMdGenerator(
94
+ path.join(__dirname, '../../skills'),
95
+ path.join(__dirname, '../../agents'),
96
+ path.join(__dirname, '../../commands')
97
+ );
98
+
99
+ const content = await generator.generate({
100
+ projectName: options.projectName,
101
+ projectPath: options.projectPath
102
+ });
103
+
104
+ await fs.writeFile(targetPath, content);
105
+ console.log(' ✅ AGENTS.md - Universal SpecWeave instructions');
106
+ }
107
+
108
+ /**
109
+ * Post-installation instructions
110
+ */
111
+ async postInstall(options: AdapterOptions): Promise<void> {
112
+ console.log(this.getInstructions());
113
+ }
114
+
115
+ /**
116
+ * Get usage instructions for Gemini adapter
117
+ */
118
+ getInstructions(): string {
119
+ return `
120
+ ================================================================
121
+ Gemini CLI Adapter - Semi-Automation
122
+ ================================================================
123
+
124
+ Your project is now configured for Gemini CLI with SEMI-automation!
125
+
126
+ WHAT THIS PROVIDES:
127
+
128
+ - AGENTS.md (Universal Instructions)
129
+ - Works with Gemini CLI AND other tools
130
+ - Auto-generated from actual skills/agents
131
+ - SpecWeave structure and workflows
132
+ - 1M token context window support
133
+
134
+ - Agent Mode Integration
135
+ - Multi-file task handling
136
+ - ReAct loop with built-in tools
137
+ - MCP support for extensibility
138
+
139
+ QUICK START:
140
+
141
+ 1. Install Gemini CLI (if not already installed):
142
+
143
+ npm install -g @google-cloud/gemini-cli
144
+
145
+ 2. Authenticate:
146
+
147
+ gemini auth
148
+
149
+ 3. Create your first feature:
150
+
151
+ gemini "Read AGENTS.md and create increment for user authentication"
152
+
153
+ Gemini will:
154
+ - Read AGENTS.md for SpecWeave context
155
+ - Adopt PM role: Create spec.md (WHAT/WHY)
156
+ - Adopt Architect role: Create plan.md (HOW)
157
+ - Create tasks.md
158
+ - Use agent mode for multi-file operations
159
+
160
+ 4. Continue development:
161
+
162
+ gemini "Implement task T001 from increment 0001"
163
+ gemini "Run tests for increment 0001"
164
+ gemini "Review and fix any issues"
165
+
166
+ HOW TO USE:
167
+
168
+ Gemini CLI reads AGENTS.md automatically when you reference it:
169
+
170
+ \`\`\`bash
171
+ # Explicit reference (recommended):
172
+ gemini "Read AGENTS.md and [your request]"
173
+
174
+ # Natural language:
175
+ gemini "Create a new feature following SpecWeave structure"
176
+
177
+ # With context:
178
+ gemini "Following the PM role in AGENTS.md, create requirements for payments"
179
+ \`\`\`
180
+
181
+ CONTEXT LOADING (70%+ Token Savings):
182
+
183
+ CRITICAL: Tell Gemini to read context-manifest.yaml first!
184
+
185
+ \`\`\`bash
186
+ gemini "Read context-manifest.yaml from increment 0001, load only those files, then implement task T001"
187
+ \`\`\`
188
+
189
+ **Why this matters**:
190
+ - Gemini has 1M token context window
191
+ - But loading everything wastes tokens
192
+ - Context manifests = precise, efficient loading
193
+
194
+ FEATURES:
195
+
196
+ ✅ 1M Token Context Window
197
+ - Can handle large specifications
198
+ - Read entire codebase if needed
199
+
200
+ ✅ Agent Mode
201
+ - Multi-file task completion
202
+ - Automatic planning and execution
203
+ - Interactive approval before changes
204
+
205
+ ✅ Built-in Tools
206
+ - File operations
207
+ - Shell commands
208
+ - Google Search grounding
209
+ - Web fetching
210
+
211
+ ✅ MCP Support
212
+ - Extend with custom integrations
213
+ - Local or remote MCP servers
214
+
215
+ ✅ Free Tier
216
+ - Gemini 2.5 Pro included
217
+ - 60 requests/minute
218
+ - 1,000 requests/day
219
+
220
+ EXAMPLE WORKFLOWS:
221
+
222
+ 1. **Create Feature**:
223
+ \`\`\`bash
224
+ gemini "Read AGENTS.md. Create increment 0002 for payment processing with Stripe. Follow SpecWeave structure: spec.md (PM role), plan.md (Architect role), tasks.md"
225
+ \`\`\`
226
+
227
+ 2. **Implement Task**:
228
+ \`\`\`bash
229
+ gemini "Read increment 0002, implement task T001 (Setup Stripe SDK)"
230
+ \`\`\`
231
+
232
+ 3. **Fix Bug**:
233
+ \`\`\`bash
234
+ gemini "Read AGENTS.md and increment 0001. Fix authentication bug in login endpoint. Update tests."
235
+ \`\`\`
236
+
237
+ 4. **Review Code**:
238
+ \`\`\`bash
239
+ gemini "Adopt Tech Lead role from AGENTS.md. Review code in src/auth/ and provide feedback"
240
+ \`\`\`
241
+
242
+ TIPS & TRICKS:
243
+
244
+ 1. **Always Reference AGENTS.md**
245
+ - Ensures Gemini understands SpecWeave structure
246
+ - Provides role definitions (PM, Architect, etc.)
247
+
248
+ 2. **Use Agent Mode**
249
+ - For complex, multi-file tasks
250
+ - Gemini proposes plan before execution
251
+ - You approve changes
252
+
253
+ 3. **Leverage 1M Context Window**
254
+ - Can load large specs
255
+ - But still use context manifests for efficiency
256
+
257
+ 4. **MCP Integration**
258
+ - Connect to your tools (JIRA, GitHub, etc.)
259
+ - See: https://modelcontextprotocol.io/
260
+
261
+ 5. **Check Gemini Documentation**
262
+ - \`gemini --help\`
263
+ - https://developers.google.com/gemini-code-assist/docs/gemini-cli
264
+
265
+ COMPARISON:
266
+
267
+ | Feature | Claude Code | Gemini CLI |
268
+ |---------|-------------|------------|
269
+ | **Automation** | Full | Semi |
270
+ | **Skills** | Native | Via AGENTS.md |
271
+ | **Agents** | Native | Via AGENTS.md |
272
+ | **Context Window** | 200k | 1M (5x larger!) |
273
+ | **Cost** | Paid | Free tier available |
274
+ | **Open Source** | No | Yes (Apache 2.0) |
275
+
276
+ LIMITATIONS:
277
+
278
+ - No native skills/agents (manual role adoption via AGENTS.md)
279
+ - No hooks (can't auto-update docs on events)
280
+ - Requires explicit instruction referencing
281
+ - CLI-only (no IDE integration yet)
282
+
283
+ But still VERY powerful with 1M context and agent mode!
284
+
285
+ DOCUMENTATION:
286
+
287
+ - AGENTS.md: Universal SpecWeave instructions (READ THIS!)
288
+ - SPECWEAVE.md: Complete framework documentation
289
+ - .gemini/README.md: Gemini adapter guide
290
+ - https://developers.google.com/gemini-code-assist/docs/gemini-cli
291
+
292
+ You're ready to build with SpecWeave on Gemini CLI!
293
+
294
+ Pro tip: Leverage the 1M token context window for large specifications,
295
+ but always use context manifests for efficiency!
296
+ `;
297
+ }
298
+ }
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * Generic Adapter
3
3
  *
4
- * Manual workflow adapter that works with ANY AI tool.
5
- * Provides step-by-step instructions for using SpecWeave without tool-specific features.
4
+ * Universal adapter that works with ANY AI tool.
5
+ * All AI tools can read AGENTS.md (universal standard) for workflow instructions.
6
6
  *
7
7
  * This adapter ensures 100% compatibility - works with ChatGPT web, Claude web,
8
8
  * Gemini, or literally ANY AI that can read markdown and follow instructions.
9
9
  */
10
10
 
11
11
  import * as path from 'path';
12
- import * as fs from 'fs-extra';
13
- import { AdapterBase } from '../adapter-base';
14
- import { AdapterOptions, AdapterFile } from '../adapter-interface';
12
+ import fs from 'fs-extra';
13
+ import { AdapterBase } from '../adapter-base.js';
14
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
15
15
 
16
16
  export class GenericAdapter extends AdapterBase {
17
17
  name = 'generic';
18
- description = 'Generic adapter - Manual workflow for ANY AI tool (ChatGPT, Gemini, etc.)';
18
+ description = 'Generic adapter - AGENTS.md works with ANY AI tool (ChatGPT, Gemini, etc.)';
19
19
  automationLevel = 'manual' as const;
20
20
 
21
21
  /**
@@ -31,34 +31,22 @@ export class GenericAdapter extends AdapterBase {
31
31
 
32
32
  /**
33
33
  * Get files to install for Generic adapter
34
+ *
35
+ * Note: Any AI tool can read AGENTS.md (universal standard).
36
+ * No additional files needed.
34
37
  */
35
38
  getFiles(): AdapterFile[] {
36
- return [
37
- {
38
- sourcePath: 'SPECWEAVE-MANUAL.md',
39
- targetPath: 'SPECWEAVE-MANUAL.md',
40
- description: 'Complete manual workflow guide for ANY AI tool'
41
- },
42
- {
43
- sourcePath: 'README.md',
44
- targetPath: '.specweave/adapters/generic/README.md',
45
- description: 'Generic adapter documentation'
46
- }
47
- ];
39
+ return [];
48
40
  }
49
41
 
50
42
  /**
51
43
  * Install Generic adapter
52
44
  */
53
45
  async install(options: AdapterOptions): Promise<void> {
54
- console.log('\n📦 Installing Generic Adapter (Manual Workflow)\n');
55
-
56
- // Generic adapter is simple - just copy manual guide
57
- await super.install(options);
46
+ console.log('\n📦 Configuring for Universal AI Tool Compatibility\n');
58
47
 
59
- console.log('\n✨ Generic adapter installed!');
60
- console.log('\n📋 Files created:');
61
- console.log(' - SPECWEAVE-MANUAL.md (complete manual workflow guide)');
48
+ // No files to install - any AI can read AGENTS.md
49
+ console.log(' AGENTS.md works with any AI tool (ChatGPT, Gemini, Claude web, etc.)');
62
50
  }
63
51
 
64
52
  /**
@@ -74,35 +62,49 @@ export class GenericAdapter extends AdapterBase {
74
62
  getInstructions(): string {
75
63
  return `
76
64
  ================================================================
77
- Generic Adapter - Manual Workflow
65
+ Generic Adapter - Universal Compatibility
78
66
  ================================================================
79
67
 
80
68
  Your project is now configured for ANY AI tool!
81
69
 
82
70
  WHAT THIS PROVIDES:
83
71
 
84
- - SPECWEAVE-MANUAL.md (Complete Manual Guide)
85
- - Step-by-step instructions for creating increments
86
- - Templates you can copy-paste to any AI
87
- - Workflow guidance (no tool dependencies)
88
- - Works with LITERALLY any AI
72
+ - AGENTS.md (Universal Standard)
73
+ - Any AI tool can read this file
74
+ - Contains all workflow instructions
75
+ - Project structure and templates
76
+ - Following agents.md standard (https://agents.md/)
89
77
 
90
78
  - 100% Compatibility
91
79
  - ChatGPT (web), Claude (web), Gemini
92
- - Any AI that can read text
80
+ - Any AI that can read markdown
81
+
82
+ HOW TO USE AGENTS.MD WITH ANY AI:
83
+
84
+ Method 1: Copy-Paste Workflow (ChatGPT web, Claude web, etc.)
85
+ 1. Open AGENTS.md in your browser/editor
86
+ 2. Copy relevant section (e.g., "Creating a Feature Increment")
87
+ 3. Paste into AI chat (ChatGPT, Claude web, Gemini, etc.)
88
+ 4. Ask AI to follow the instructions
89
+ 5. AI generates content (spec.md, plan.md, etc.)
90
+ 6. Copy AI's response, save to files
91
+
92
+ Method 2: File System Access (AI with file access)
93
+ 1. AI automatically reads AGENTS.md
94
+ 2. Ask: "Create increment for user authentication"
95
+ 3. AI follows AGENTS.md workflow
96
+ 4. AI creates files directly
93
97
 
94
98
  UNDERSTANDING "MANUAL":
95
99
 
96
100
  Manual = You Orchestrate, AI Executes
97
101
 
98
102
  Example workflow:
99
- 1. You read SPECWEAVE-MANUAL.md (Step 1: Create Folder)
100
- 2. You run: mkdir -p .specweave/increments/0001-auth
101
- 3. You read Step 2: Create spec.md
102
- 4. You copy template from manual, paste to AI (ChatGPT)
103
- 5. AI generates spec.md content
104
- 6. You copy AI's response, save to spec.md file
105
- 7. Repeat for plan.md, tasks.md, etc.
103
+ 1. Read AGENTS.md section "Creating a Feature Increment"
104
+ 2. Copy instructions to ChatGPT
105
+ 3. ChatGPT generates spec.md content
106
+ 4. Save content to .specweave/increments/0001-auth/spec.md
107
+ 5. Repeat for plan.md, tasks.md
106
108
 
107
109
  Manual does not mean harder - just means YOU control each step (no automation).
108
110
  Benefit: Works with ANY AI tool!
@@ -110,13 +112,13 @@ Benefit: Works with ANY AI tool!
110
112
  COMPARISON:
111
113
 
112
114
  Claude Code (Full): "create increment" -> Done in 30 seconds (auto)
113
- Cursor (Semi): "create increment" -> Done in 5 minutes (.cursorrules)
114
- Copilot (Basic): Create files manually, Copilot suggests content
115
- Generic (Manual): Follow SPECWEAVE-MANUAL.md step-by-step (30-60 min)
115
+ Cursor (Semi): "create increment" -> Done in 5 minutes (reads AGENTS.md)
116
+ Copilot (Basic): Reads AGENTS.md, suggests content as you type
117
+ Generic (Manual): Copy AGENTS.md instructions to any AI (10-30 min)
116
118
 
117
119
  Trade-off: Speed vs Compatibility
118
- - Claude Code: Fast, but only works with Claude Code
119
- - Generic: Slower, but works with EVERY AI tool!
120
+ - Claude Code: Fast, but requires Claude Code CLI
121
+ - Generic: Slower, but works with EVERY AI tool (even web-based)!
120
122
 
121
123
  WHEN TO USE:
122
124
 
@@ -127,33 +129,35 @@ Use Generic adapter if:
127
129
  - Simple projects where automation isn't critical
128
130
 
129
131
  Consider alternatives if:
130
- - You want automation -> Use Claude Code (full) or Cursor (semi)
131
- - You have file system access -> Use Copilot at minimum
132
+ - You want automation -> Use Claude Code (full)
133
+ - You have CLI access -> Use Cursor (semi) or Copilot (basic)
132
134
  - Large projects -> Manual workflow becomes tedious
133
135
 
134
136
  QUICK START:
135
137
 
136
- 1. Open SPECWEAVE-MANUAL.md
137
- Read the complete manual workflow guide
138
+ 1. Open AGENTS.md
139
+ Read the "Common Workflows" section
140
+
141
+ 2. Copy workflow to your AI tool:
142
+ - "Creating a Feature Increment" section
143
+ - Paste into ChatGPT/Claude/Gemini
138
144
 
139
- 2. Follow step-by-step for your first feature
140
- - Step 1: Create increment folder
141
- - Step 2: Create spec.md (copy template, paste to AI, save)
142
- - Step 3: Create plan.md (copy template, paste to AI, save)
143
- - Step 4: Create tasks.md (copy template, paste to AI, save)
145
+ 3. Follow AI's guidance:
146
+ - AI generates spec.md content (copy & save)
147
+ - AI generates plan.md content (copy & save)
148
+ - AI generates tasks.md content (copy & save)
144
149
 
145
- 3. Use any AI tool you prefer
150
+ 4. Use any AI tool you prefer:
146
151
  ChatGPT, Claude web, Gemini, Perplexity, etc.
147
152
 
148
153
  DOCUMENTATION:
149
154
 
150
- - SPECWEAVE-MANUAL.md: Complete step-by-step guide (READ THIS FIRST!)
151
- - SPECWEAVE.md: Complete technical documentation
155
+ - AGENTS.md: Universal workflow instructions (works with any AI!)
152
156
  - .specweave/docs/: Project documentation
153
157
 
154
158
  You're ready to build with SpecWeave using ANY AI tool!
155
159
 
156
- Remember: Generic = Manual = Copy-paste workflow, but 100% compatible!
160
+ Remember: AGENTS.md is the universal standard - it works everywhere!
157
161
  `;
158
162
  }
159
163
  }
@@ -9,21 +9,23 @@ last_updated: 2025-10-27
9
9
 
10
10
  adapters:
11
11
  - name: claude
12
- description: "Claude Code adapter - Full automation with skills, agents, hooks"
12
+ description: "Claude Code - NATIVE/BASELINE (no adapter needed!). Full automation with skills, agents, hooks"
13
13
  automation_level: full
14
- status: active
14
+ status: native
15
15
  directory: claude
16
16
  features:
17
+ - Native skills, agents, hooks (no approximation needed)
17
18
  - Skills auto-activate (specweave-detector, skill-router, etc.)
18
19
  - Agents coordinate (PM, Architect, DevOps, QA, Security)
19
20
  - Hooks auto-update docs (post-task-completion, etc.)
20
- - Slash commands (/create-increment, /review-docs, etc.)
21
- - Best experience, most features
21
+ - Slash commands (/create-increment, /sync-docs, etc.)
22
+ - Best experience, most features - THE BASELINE!
22
23
  requirements:
23
24
  - Claude Code CLI installed
24
25
  - Node.js >= 18.0.0
25
26
  market_share: 10%
26
- priority: P1
27
+ priority: P0
28
+ note: "Claude is the native experience - adapters exist to approximate these capabilities for other tools"
27
29
 
28
30
  - name: cursor
29
31
  description: "Cursor adapter - Semi-automation with .cursorrules and @ shortcuts"
@@ -32,7 +34,7 @@ adapters:
32
34
  directory: cursor
33
35
  features:
34
36
  - .cursorrules with SpecWeave workflow instructions
35
- - @ context shortcuts (@increments, @docs, @strategy)
37
+ - "@ context shortcuts (@increments, @docs, @strategy)"
36
38
  - Composer multi-file editing support
37
39
  - Good experience, semi-automated
38
40
  requirements:
@@ -73,6 +75,41 @@ adapters:
73
75
  market_share: 20%
74
76
  priority: P1
75
77
 
78
+ - name: gemini
79
+ description: "Gemini CLI adapter - Semi-automation with AGENTS.md and agent mode"
80
+ automation_level: semi
81
+ status: active
82
+ directory: gemini
83
+ features:
84
+ - AGENTS.md universal instructions
85
+ - 1M token context window (5x larger than Claude!)
86
+ - Agent mode for multi-file tasks
87
+ - MCP (Model Context Protocol) support
88
+ - Free tier available (60 req/min, 1K req/day)
89
+ - Open source (Apache 2.0)
90
+ requirements:
91
+ - Gemini CLI installed
92
+ - Node.js >= 18.0.0
93
+ market_share: 10%
94
+ priority: P1
95
+
96
+ - name: codex
97
+ description: "OpenAI Codex adapter - Semi-automation with AGENTS.md and GPT-5-Codex"
98
+ automation_level: semi
99
+ status: active
100
+ directory: codex
101
+ features:
102
+ - AGENTS.md universal instructions
103
+ - GPT-5-Codex optimized for engineering
104
+ - Multiple access points (CLI + Web + IDE + GitHub + iOS)
105
+ - Task-based isolated execution
106
+ - File operations and test execution
107
+ requirements:
108
+ - ChatGPT Plus/Pro/Business/Enterprise
109
+ - Node.js >= 18.0.0
110
+ market_share: 20%
111
+ priority: P1
112
+
76
113
  # Future adapters (P2/P3)
77
114
  future_adapters:
78
115
  - name: windsurf
@@ -81,46 +118,70 @@ future_adapters:
81
118
  status: planned
82
119
  priority: P2
83
120
 
84
- - name: gemini
85
- description: "Google Gemini adapter (if requested by community)"
86
- automation_level: basic
87
- status: planned
88
- priority: P3
89
-
90
121
  # Adapter capabilities comparison
91
122
  capabilities:
92
123
  skills:
93
124
  claude: full
94
- cursor: partial
95
- copilot: none
96
- generic: none
125
+ cursor: via_agents_md
126
+ copilot: via_agents_md
127
+ gemini: via_agents_md
128
+ codex: via_agents_md
129
+ generic: via_agents_md
97
130
 
98
131
  agents:
99
132
  claude: full
100
- cursor: manual
101
- copilot: manual
102
- generic: manual
133
+ cursor: via_agents_md
134
+ copilot: via_agents_md
135
+ gemini: via_agents_md
136
+ codex: via_agents_md
137
+ generic: via_agents_md
103
138
 
104
139
  hooks:
105
140
  claude: full
106
141
  cursor: none
107
142
  copilot: none
143
+ gemini: none
144
+ codex: none
108
145
  generic: none
109
146
 
110
- slash_commands:
111
- claude: native
112
- cursor: via_cursorrules
113
- copilot: via_instructions
114
- generic: via_markdown_guide
147
+ instruction_file:
148
+ claude: .claude/skills + agents
149
+ cursor: AGENTS.md
150
+ copilot: AGENTS.md
151
+ gemini: AGENTS.md
152
+ codex: AGENTS.md
153
+ generic: AGENTS.md
115
154
 
116
155
  context_manifests:
117
156
  claude: auto_load
118
157
  cursor: manual_reference
119
158
  copilot: manual_reference
159
+ gemini: manual_reference
160
+ codex: manual_reference
120
161
  generic: manual_copy_paste
121
162
 
122
163
  # Target market coverage
123
164
  market_coverage:
124
- claude_only: 10%
125
- with_all_adapters: 100%
165
+ claude: 10%
166
+ cursor: 30%
167
+ copilot: 35%
168
+ gemini: 10%
169
+ codex: 20%
170
+ generic: 5%
171
+ total: 110% # Overlapping users
172
+ unique_coverage: 100%
126
173
  goal: "Make SpecWeave accessible to ALL developers"
174
+
175
+ # Universal AGENTS.md
176
+ universal_standard:
177
+ file: AGENTS.md
178
+ purpose: "Single source of truth for all adapters (except Claude which has native support)"
179
+ replaces:
180
+ - .cursorrules (Cursor)
181
+ - .github/copilot/instructions.md (Copilot)
182
+ - Multiple tool-specific files
183
+ benefits:
184
+ - Single file to maintain
185
+ - Works across ALL tools
186
+ - Auto-generated from actual skills/agents
187
+ - Follows agents.md standard