specweave 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/INSTALL.md +848 -0
  2. package/LICENSE +21 -0
  3. package/README.md +675 -0
  4. package/SPECWEAVE.md +665 -0
  5. package/bin/install-agents.sh +57 -0
  6. package/bin/install-all.sh +49 -0
  7. package/bin/install-commands.sh +56 -0
  8. package/bin/install-skills.sh +57 -0
  9. package/bin/specweave.js +81 -0
  10. package/dist/adapters/adapter-base.d.ts +50 -0
  11. package/dist/adapters/adapter-base.d.ts.map +1 -0
  12. package/dist/adapters/adapter-base.js +146 -0
  13. package/dist/adapters/adapter-base.js.map +1 -0
  14. package/dist/adapters/adapter-interface.d.ts +108 -0
  15. package/dist/adapters/adapter-interface.d.ts.map +1 -0
  16. package/dist/adapters/adapter-interface.js +9 -0
  17. package/dist/adapters/adapter-interface.js.map +1 -0
  18. package/dist/adapters/claude/adapter.d.ts +54 -0
  19. package/dist/adapters/claude/adapter.d.ts.map +1 -0
  20. package/dist/adapters/claude/adapter.js +184 -0
  21. package/dist/adapters/claude/adapter.js.map +1 -0
  22. package/dist/adapters/copilot/adapter.d.ts +42 -0
  23. package/dist/adapters/copilot/adapter.d.ts.map +1 -0
  24. package/dist/adapters/copilot/adapter.js +239 -0
  25. package/dist/adapters/copilot/adapter.js.map +1 -0
  26. package/dist/adapters/cursor/adapter.d.ts +42 -0
  27. package/dist/adapters/cursor/adapter.d.ts.map +1 -0
  28. package/dist/adapters/cursor/adapter.js +297 -0
  29. package/dist/adapters/cursor/adapter.js.map +1 -0
  30. package/dist/adapters/generic/adapter.d.ts +40 -0
  31. package/dist/adapters/generic/adapter.d.ts.map +1 -0
  32. package/dist/adapters/generic/adapter.js +155 -0
  33. package/dist/adapters/generic/adapter.js.map +1 -0
  34. package/dist/cli/commands/init.d.ts +6 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +247 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/install.d.ts +7 -0
  39. package/dist/cli/commands/install.d.ts.map +1 -0
  40. package/dist/cli/commands/install.js +160 -0
  41. package/dist/cli/commands/install.js.map +1 -0
  42. package/dist/cli/commands/list.d.ts +6 -0
  43. package/dist/cli/commands/list.d.ts.map +1 -0
  44. package/dist/cli/commands/list.js +154 -0
  45. package/dist/cli/commands/list.js.map +1 -0
  46. package/package.json +90 -0
  47. package/src/adapters/README.md +312 -0
  48. package/src/adapters/adapter-base.ts +146 -0
  49. package/src/adapters/adapter-interface.ts +120 -0
  50. package/src/adapters/claude/README.md +241 -0
  51. package/src/adapters/claude/adapter.ts +157 -0
  52. package/src/adapters/copilot/.github/copilot/instructions.md +376 -0
  53. package/src/adapters/copilot/README.md +200 -0
  54. package/src/adapters/copilot/adapter.ts +210 -0
  55. package/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
  56. package/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
  57. package/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
  58. package/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
  59. package/src/adapters/cursor/.cursorrules +325 -0
  60. package/src/adapters/cursor/README.md +243 -0
  61. package/src/adapters/cursor/adapter.ts +268 -0
  62. package/src/adapters/generic/README.md +277 -0
  63. package/src/adapters/generic/SPECWEAVE-MANUAL.md +676 -0
  64. package/src/adapters/generic/adapter.ts +159 -0
  65. package/src/adapters/registry.yaml +126 -0
  66. package/src/agents/architect/AGENT.md +416 -0
  67. package/src/agents/devops/AGENT.md +1738 -0
  68. package/src/agents/docs-writer/AGENT.md +239 -0
  69. package/src/agents/performance/AGENT.md +228 -0
  70. package/src/agents/pm/AGENT.md +751 -0
  71. package/src/agents/qa-lead/AGENT.md +150 -0
  72. package/src/agents/security/AGENT.md +179 -0
  73. package/src/agents/sre/AGENT.md +582 -0
  74. package/src/agents/sre/modules/backend-diagnostics.md +481 -0
  75. package/src/agents/sre/modules/database-diagnostics.md +509 -0
  76. package/src/agents/sre/modules/infrastructure.md +561 -0
  77. package/src/agents/sre/modules/monitoring.md +439 -0
  78. package/src/agents/sre/modules/security-incidents.md +421 -0
  79. package/src/agents/sre/modules/ui-diagnostics.md +302 -0
  80. package/src/agents/sre/playbooks/01-high-cpu-usage.md +204 -0
  81. package/src/agents/sre/playbooks/02-database-deadlock.md +241 -0
  82. package/src/agents/sre/playbooks/03-memory-leak.md +252 -0
  83. package/src/agents/sre/playbooks/04-slow-api-response.md +269 -0
  84. package/src/agents/sre/playbooks/05-ddos-attack.md +293 -0
  85. package/src/agents/sre/playbooks/06-disk-full.md +314 -0
  86. package/src/agents/sre/playbooks/07-service-down.md +333 -0
  87. package/src/agents/sre/playbooks/08-data-corruption.md +337 -0
  88. package/src/agents/sre/playbooks/09-cascade-failure.md +430 -0
  89. package/src/agents/sre/playbooks/10-rate-limit-exceeded.md +464 -0
  90. package/src/agents/sre/scripts/health-check.sh +230 -0
  91. package/src/agents/sre/scripts/log-analyzer.py +213 -0
  92. package/src/agents/sre/scripts/metrics-collector.sh +294 -0
  93. package/src/agents/sre/scripts/trace-analyzer.js +257 -0
  94. package/src/agents/sre/templates/incident-report.md +249 -0
  95. package/src/agents/sre/templates/mitigation-plan.md +375 -0
  96. package/src/agents/sre/templates/post-mortem.md +418 -0
  97. package/src/agents/sre/templates/runbook-template.md +412 -0
  98. package/src/agents/tech-lead/AGENT.md +263 -0
  99. package/src/commands/add-tasks.md +176 -0
  100. package/src/commands/close-increment.md +347 -0
  101. package/src/commands/create-increment.md +223 -0
  102. package/src/commands/create-project.md +528 -0
  103. package/src/commands/generate-docs.md +623 -0
  104. package/src/commands/list-increments.md +180 -0
  105. package/src/commands/review-docs.md +331 -0
  106. package/src/commands/start-increment.md +139 -0
  107. package/src/commands/sync-github.md +115 -0
  108. package/src/commands/validate-increment.md +800 -0
  109. package/src/hooks/README.md +252 -0
  110. package/src/hooks/docs-changed.sh +59 -0
  111. package/src/hooks/human-input-required.sh +55 -0
  112. package/src/hooks/post-task-completion.sh +57 -0
  113. package/src/hooks/pre-implementation.sh +47 -0
  114. package/src/skills/ado-sync/README.md +449 -0
  115. package/src/skills/ado-sync/SKILL.md +245 -0
  116. package/src/skills/ado-sync/test-cases/test-1.yaml +9 -0
  117. package/src/skills/ado-sync/test-cases/test-2.yaml +8 -0
  118. package/src/skills/ado-sync/test-cases/test-3.yaml +9 -0
  119. package/src/skills/bmad-method-expert/SKILL.md +628 -0
  120. package/src/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
  121. package/src/skills/bmad-method-expert/scripts/check-setup.js +208 -0
  122. package/src/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
  123. package/src/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
  124. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +12 -0
  125. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +12 -0
  126. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +12 -0
  127. package/src/skills/brownfield-analyzer/SKILL.md +523 -0
  128. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +48 -0
  129. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +12 -0
  130. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +12 -0
  131. package/src/skills/brownfield-onboarder/SKILL.md +625 -0
  132. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +12 -0
  133. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +12 -0
  134. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +12 -0
  135. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +12 -0
  136. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +12 -0
  137. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +12 -0
  138. package/src/skills/context-loader/SKILL.md +734 -0
  139. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +39 -0
  140. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +44 -0
  141. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +45 -0
  142. package/src/skills/context-optimizer/SKILL.md +618 -0
  143. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +97 -0
  144. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +109 -0
  145. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +98 -0
  146. package/src/skills/cost-optimizer/SKILL.md +190 -0
  147. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +75 -0
  148. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +52 -0
  149. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +63 -0
  150. package/src/skills/cost-optimizer/test-results/README.md +46 -0
  151. package/src/skills/design-system-architect/SKILL.md +107 -0
  152. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +23 -0
  153. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +24 -0
  154. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +23 -0
  155. package/src/skills/diagrams-architect/SKILL.md +763 -0
  156. package/src/skills/diagrams-generator/SKILL.md +25 -0
  157. package/src/skills/diagrams-generator/test-cases/test-1.yaml +9 -0
  158. package/src/skills/diagrams-generator/test-cases/test-2.yaml +9 -0
  159. package/src/skills/diagrams-generator/test-cases/test-3.yaml +8 -0
  160. package/src/skills/docs-updater/README.md +48 -0
  161. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +12 -0
  162. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +12 -0
  163. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +12 -0
  164. package/src/skills/dotnet-backend/SKILL.md +250 -0
  165. package/src/skills/e2e-playwright/README.md +506 -0
  166. package/src/skills/e2e-playwright/SKILL.md +457 -0
  167. package/src/skills/e2e-playwright/execute.js +373 -0
  168. package/src/skills/e2e-playwright/lib/utils.js +514 -0
  169. package/src/skills/e2e-playwright/package.json +33 -0
  170. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +54 -0
  171. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +64 -0
  172. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +74 -0
  173. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +98 -0
  174. package/src/skills/figma-designer/SKILL.md +149 -0
  175. package/src/skills/figma-implementer/SKILL.md +148 -0
  176. package/src/skills/figma-mcp-connector/SKILL.md +136 -0
  177. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +22 -0
  178. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +21 -0
  179. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +18 -0
  180. package/src/skills/figma-to-code/SKILL.md +128 -0
  181. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +29 -0
  182. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +27 -0
  183. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +28 -0
  184. package/src/skills/frontend/SKILL.md +177 -0
  185. package/src/skills/github-sync/SKILL.md +252 -0
  186. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +12 -0
  187. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +12 -0
  188. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +12 -0
  189. package/src/skills/hetzner-provisioner/README.md +308 -0
  190. package/src/skills/hetzner-provisioner/SKILL.md +251 -0
  191. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +71 -0
  192. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +85 -0
  193. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +126 -0
  194. package/src/skills/hetzner-provisioner/test-results/README.md +259 -0
  195. package/src/skills/increment-planner/SKILL.md +889 -0
  196. package/src/skills/increment-planner/scripts/feature-utils.js +250 -0
  197. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +27 -0
  198. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +30 -0
  199. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +24 -0
  200. package/src/skills/increment-quality-judge/SKILL.md +566 -0
  201. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +95 -0
  202. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +108 -0
  203. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +87 -0
  204. package/src/skills/jira-sync/README.md +328 -0
  205. package/src/skills/jira-sync/SKILL.md +209 -0
  206. package/src/skills/jira-sync/test-cases/test-1.yaml +9 -0
  207. package/src/skills/jira-sync/test-cases/test-2.yaml +9 -0
  208. package/src/skills/jira-sync/test-cases/test-3.yaml +10 -0
  209. package/src/skills/nextjs/SKILL.md +176 -0
  210. package/src/skills/nodejs-backend/SKILL.md +181 -0
  211. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +12 -0
  212. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +12 -0
  213. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +12 -0
  214. package/src/skills/python-backend/SKILL.md +226 -0
  215. package/src/skills/role-orchestrator/README.md +197 -0
  216. package/src/skills/role-orchestrator/SKILL.md +1184 -0
  217. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +98 -0
  218. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +73 -0
  219. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +121 -0
  220. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +145 -0
  221. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +149 -0
  222. package/src/skills/skill-creator/LICENSE.txt +202 -0
  223. package/src/skills/skill-creator/SKILL.md +209 -0
  224. package/src/skills/skill-creator/scripts/init_skill.py +303 -0
  225. package/src/skills/skill-creator/scripts/package_skill.py +110 -0
  226. package/src/skills/skill-creator/scripts/quick_validate.py +65 -0
  227. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +12 -0
  228. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +12 -0
  229. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +12 -0
  230. package/src/skills/skill-router/SKILL.md +497 -0
  231. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +33 -0
  232. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +42 -0
  233. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +50 -0
  234. package/src/skills/spec-driven-brainstorming/README.md +264 -0
  235. package/src/skills/spec-driven-brainstorming/SKILL.md +439 -0
  236. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +148 -0
  237. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +190 -0
  238. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +233 -0
  239. package/src/skills/spec-driven-debugging/README.md +479 -0
  240. package/src/skills/spec-driven-debugging/SKILL.md +652 -0
  241. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +212 -0
  242. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +461 -0
  243. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +366 -0
  244. package/src/skills/spec-kit-expert/SKILL.md +1012 -0
  245. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +12 -0
  246. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +12 -0
  247. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +12 -0
  248. package/src/skills/specweave-ado-mapper/SKILL.md +501 -0
  249. package/src/skills/specweave-detector/SKILL.md +420 -0
  250. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +37 -0
  251. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +37 -0
  252. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +34 -0
  253. package/src/skills/specweave-jira-mapper/SKILL.md +500 -0
  254. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +12 -0
  255. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +12 -0
  256. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +12 -0
  257. package/src/skills/task-builder/README.md +90 -0
  258. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +12 -0
  259. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +12 -0
  260. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +12 -0
  261. package/src/templates/.env.example +144 -0
  262. package/src/templates/.gitignore.template +81 -0
  263. package/src/templates/CLAUDE.md.template +383 -0
  264. package/src/templates/README.md.template +240 -0
  265. package/src/templates/config.yaml +333 -0
  266. package/src/templates/docs/README.md +124 -0
  267. package/src/templates/docs/adr-template.md +118 -0
  268. package/src/templates/docs/hld-template.md +220 -0
  269. package/src/templates/docs/lld-template.md +580 -0
  270. package/src/templates/docs/prd-template.md +132 -0
  271. package/src/templates/docs/rfc-template.md +229 -0
  272. package/src/templates/docs/runbook-template.md +298 -0
  273. package/src/templates/environments/minimal/.env.production +16 -0
  274. package/src/templates/environments/minimal/README.md +54 -0
  275. package/src/templates/environments/minimal/deploy-production.yml +52 -0
  276. package/src/templates/environments/progressive/.env.qa +28 -0
  277. package/src/templates/environments/progressive/README.md +129 -0
  278. package/src/templates/environments/progressive/deploy-production.yml +93 -0
  279. package/src/templates/environments/progressive/deploy-qa.yml +62 -0
  280. package/src/templates/environments/progressive/deploy-staging.yml +67 -0
  281. package/src/templates/environments/standard/.env.development +20 -0
  282. package/src/templates/environments/standard/.env.production +30 -0
  283. package/src/templates/environments/standard/.env.staging +23 -0
  284. package/src/templates/environments/standard/README.md +97 -0
  285. package/src/templates/environments/standard/deploy-production.yml +68 -0
  286. package/src/templates/environments/standard/deploy-staging.yml +61 -0
  287. package/src/templates/environments/standard/docker-compose.yml +43 -0
  288. package/src/templates/increment-metadata-template.yaml +138 -0
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ /**
3
+ * Cursor Adapter
4
+ *
5
+ * Semi-automation adapter for Cursor editor.
6
+ * Provides workflow instructions via .cursorrules and @ context shortcuts.
7
+ *
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.
10
+ */
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 {
50
+ constructor() {
51
+ super(...arguments);
52
+ this.name = 'cursor';
53
+ this.description = 'Cursor adapter - Semi-automation with .cursorrules and @ context shortcuts';
54
+ this.automationLevel = 'semi';
55
+ }
56
+ /**
57
+ * Detect if Cursor is available
58
+ *
59
+ * Checks for:
60
+ * - cursor command in PATH
61
+ * - .cursor/ directory exists
62
+ * - .cursorrules file exists
63
+ */
64
+ async detect() {
65
+ const hasCursorCLI = await this.commandExists('cursor');
66
+ const hasCursorDir = await this.fileExists('.cursor');
67
+ const hasCursorRules = await this.fileExists('.cursorrules');
68
+ return hasCursorCLI || hasCursorDir || hasCursorRules;
69
+ }
70
+ /**
71
+ * Get files to install for Cursor adapter
72
+ */
73
+ getFiles() {
74
+ return [
75
+ {
76
+ sourcePath: '.cursorrules',
77
+ targetPath: '.cursorrules',
78
+ description: 'Cursor workflow instructions (how to act like skills/agents)'
79
+ },
80
+ {
81
+ sourcePath: '.cursor/context/increments-context.md',
82
+ targetPath: '.cursor/context/increments-context.md',
83
+ description: '@increments context shortcut'
84
+ },
85
+ {
86
+ sourcePath: '.cursor/context/docs-context.md',
87
+ targetPath: '.cursor/context/docs-context.md',
88
+ description: '@docs context shortcut'
89
+ },
90
+ {
91
+ sourcePath: '.cursor/context/strategy-context.md',
92
+ targetPath: '.cursor/context/strategy-context.md',
93
+ description: '@strategy context shortcut'
94
+ },
95
+ {
96
+ sourcePath: '.cursor/context/tests-context.md',
97
+ targetPath: '.cursor/context/tests-context.md',
98
+ description: '@tests context shortcut'
99
+ },
100
+ {
101
+ sourcePath: 'README.md',
102
+ targetPath: '.cursor/README.md',
103
+ description: 'Cursor adapter documentation'
104
+ }
105
+ ];
106
+ }
107
+ /**
108
+ * Install Cursor adapter
109
+ */
110
+ async install(options) {
111
+ console.log('\n📦 Installing Cursor Adapter (Semi-Automation)\n');
112
+ // Ensure .cursor directory exists
113
+ const cursorDir = path.join(options.projectPath, '.cursor');
114
+ await fs.ensureDir(cursorDir);
115
+ await fs.ensureDir(path.join(cursorDir, 'context'));
116
+ // Copy files
117
+ await super.install(options);
118
+ console.log('\n✨ Cursor adapter installed!');
119
+ console.log('\n📋 Files created:');
120
+ console.log(' - .cursorrules (workflow instructions)');
121
+ console.log(' - .cursor/context/ (@ shortcuts)');
122
+ }
123
+ /**
124
+ * Post-installation instructions
125
+ */
126
+ async postInstall(options) {
127
+ console.log(this.getInstructions());
128
+ }
129
+ /**
130
+ * Get usage instructions for Cursor adapter
131
+ */
132
+ getInstructions() {
133
+ return `
134
+ ================================================================
135
+ Cursor Adapter - Semi-Automation
136
+ ================================================================
137
+
138
+ Your project is now configured for Cursor with SEMI-automation!
139
+
140
+ WHAT THIS PROVIDES:
141
+
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
147
+
148
+ - @ Context Shortcuts (Quick Access)
149
+ - @increments - Load current increment files
150
+ - @docs - Load architecture documentation
151
+ - @strategy - Load business specifications
152
+ - @tests - Load test strategy and cases
153
+
154
+ - Composer Multi-File Editing
155
+ - Create multiple files simultaneously
156
+ - Edit across spec.md, plan.md, tasks.md
157
+
158
+ UNDERSTANDING THE DIFFERENCE:
159
+
160
+ Claude Code (Full Automation):
161
+ - Native skills (auto-activate)
162
+ - Native agents (separate context windows)
163
+ - Native hooks (auto-update docs)
164
+ - Slash commands (/create-increment)
165
+
166
+ Cursor (Semi-Automation - This Adapter):
167
+ - Simulated skills (via .cursorrules instructions)
168
+ - Simulated agents (manual role invocation)
169
+ - 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
216
+
217
+ Claude Code (automatic):
218
+ Task({ subagent_type: "pm", prompt: "create spec" })
219
+ → PM agent with separate context window
220
+
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
228
+
229
+ Pro Tip: .cursorrules defines each role's responsibilities
230
+
231
+ QUICK START:
232
+
233
+ 1. Open project in Cursor
234
+
235
+ 2. Create your first feature:
236
+ "Create increment for user authentication"
237
+
238
+ Cursor will:
239
+ - Read .cursorrules for workflow
240
+ - Ask clarifying questions
241
+ - Create spec.md (acting as PM)
242
+ - Create plan.md (acting as Architect)
243
+ - Create tasks.md
244
+
245
+ 3. Use @ shortcuts for context:
246
+ "@increments show me the current increment"
247
+ "@docs show me the architecture"
248
+ "@strategy show me the business requirements"
249
+
250
+ 4. Use Composer for multi-file edits:
251
+ Cmd+I → "Update spec.md and plan.md to add OAuth2"
252
+
253
+ CONTEXT LOADING (70%+ Token Savings):
254
+
255
+ CRITICAL: Always read context-manifest.yaml first!
256
+
257
+ .cursorrules teaches Cursor:
258
+ 1. Look for .specweave/increments/####/context-manifest.yaml
259
+ 2. ONLY load files listed in manifest
260
+ 3. Don't load all specs (wastes tokens)
261
+
262
+ Example manifest (YAML):
263
+
264
+ spec_sections:
265
+ - .specweave/docs/internal/strategy/auth/spec.md
266
+ documentation:
267
+ - .specweave/docs/internal/architecture/auth-design.md
268
+
269
+ Cursor: "Only load these 2 files, not entire docs/ folder"
270
+
271
+ LIMITATIONS (vs Claude Code):
272
+
273
+ - No auto-activation (must explicitly request workflows)
274
+ - No separate context windows (all context shared)
275
+ - No hooks (can't auto-update docs on events)
276
+ - Requires manual role adoption (say "act as PM")
277
+
278
+ But still VERY good experience with Composer + @ shortcuts!
279
+
280
+ DOCUMENTATION:
281
+
282
+ - SPECWEAVE.md: Complete development guide
283
+ - .cursorrules: Workflow instructions (READ THIS!)
284
+ - .cursor/README.md: Cursor-specific documentation
285
+ - .specweave/docs/: Project documentation
286
+
287
+ You're ready to build with SpecWeave on Cursor!
288
+
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"
293
+ `;
294
+ }
295
+ }
296
+ exports.CursorAdapter = CursorAdapter;
297
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Generic Adapter
3
+ *
4
+ * Manual workflow adapter that works with ANY AI tool.
5
+ * Provides step-by-step instructions for using SpecWeave without tool-specific features.
6
+ *
7
+ * This adapter ensures 100% compatibility - works with ChatGPT web, Claude web,
8
+ * Gemini, or literally ANY AI that can read markdown and follow instructions.
9
+ */
10
+ import { AdapterBase } from '../adapter-base';
11
+ import { AdapterOptions, AdapterFile } from '../adapter-interface';
12
+ export declare class GenericAdapter extends AdapterBase {
13
+ name: string;
14
+ description: string;
15
+ automationLevel: "manual";
16
+ /**
17
+ * Detect if generic adapter should be used
18
+ *
19
+ * This adapter is the universal fallback - always returns true
20
+ * since it works with literally any AI tool.
21
+ */
22
+ detect(): Promise<boolean>;
23
+ /**
24
+ * Get files to install for Generic adapter
25
+ */
26
+ getFiles(): AdapterFile[];
27
+ /**
28
+ * Install Generic adapter
29
+ */
30
+ install(options: AdapterOptions): Promise<void>;
31
+ /**
32
+ * Post-installation instructions
33
+ */
34
+ postInstall(options: AdapterOptions): Promise<void>;
35
+ /**
36
+ * Get usage instructions for Generic adapter
37
+ */
38
+ getInstructions(): string;
39
+ }
40
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/generic/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,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAA+E;IAC1F,eAAe,EAAG,QAAQ,CAAU;IAEpC;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhC;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAezB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CAqF1B"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /**
3
+ * Generic Adapter
4
+ *
5
+ * Manual workflow adapter that works with ANY AI tool.
6
+ * Provides step-by-step instructions for using SpecWeave without tool-specific features.
7
+ *
8
+ * This adapter ensures 100% compatibility - works with ChatGPT web, Claude web,
9
+ * Gemini, or literally ANY AI that can read markdown and follow instructions.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GenericAdapter = void 0;
13
+ const adapter_base_1 = require("../adapter-base");
14
+ class GenericAdapter extends adapter_base_1.AdapterBase {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.name = 'generic';
18
+ this.description = 'Generic adapter - Manual workflow for ANY AI tool (ChatGPT, Gemini, etc.)';
19
+ this.automationLevel = 'manual';
20
+ }
21
+ /**
22
+ * Detect if generic adapter should be used
23
+ *
24
+ * This adapter is the universal fallback - always returns true
25
+ * since it works with literally any AI tool.
26
+ */
27
+ async detect() {
28
+ // Generic adapter works with ANY tool - always available
29
+ return true;
30
+ }
31
+ /**
32
+ * Get files to install for Generic adapter
33
+ */
34
+ getFiles() {
35
+ return [
36
+ {
37
+ sourcePath: 'SPECWEAVE-MANUAL.md',
38
+ targetPath: 'SPECWEAVE-MANUAL.md',
39
+ description: 'Complete manual workflow guide for ANY AI tool'
40
+ },
41
+ {
42
+ sourcePath: 'README.md',
43
+ targetPath: '.specweave/adapters/generic/README.md',
44
+ description: 'Generic adapter documentation'
45
+ }
46
+ ];
47
+ }
48
+ /**
49
+ * Install Generic adapter
50
+ */
51
+ async install(options) {
52
+ console.log('\n📦 Installing Generic Adapter (Manual Workflow)\n');
53
+ // Generic adapter is simple - just copy manual guide
54
+ await super.install(options);
55
+ console.log('\n✨ Generic adapter installed!');
56
+ console.log('\n📋 Files created:');
57
+ console.log(' - SPECWEAVE-MANUAL.md (complete manual workflow guide)');
58
+ }
59
+ /**
60
+ * Post-installation instructions
61
+ */
62
+ async postInstall(options) {
63
+ console.log(this.getInstructions());
64
+ }
65
+ /**
66
+ * Get usage instructions for Generic adapter
67
+ */
68
+ getInstructions() {
69
+ return `
70
+ ================================================================
71
+ Generic Adapter - Manual Workflow
72
+ ================================================================
73
+
74
+ Your project is now configured for ANY AI tool!
75
+
76
+ WHAT THIS PROVIDES:
77
+
78
+ - SPECWEAVE-MANUAL.md (Complete Manual Guide)
79
+ - Step-by-step instructions for creating increments
80
+ - Templates you can copy-paste to any AI
81
+ - Workflow guidance (no tool dependencies)
82
+ - Works with LITERALLY any AI
83
+
84
+ - 100% Compatibility
85
+ - ChatGPT (web), Claude (web), Gemini
86
+ - Any AI that can read text
87
+
88
+ UNDERSTANDING "MANUAL":
89
+
90
+ Manual = You Orchestrate, AI Executes
91
+
92
+ Example workflow:
93
+ 1. You read SPECWEAVE-MANUAL.md (Step 1: Create Folder)
94
+ 2. You run: mkdir -p .specweave/increments/0001-auth
95
+ 3. You read Step 2: Create spec.md
96
+ 4. You copy template from manual, paste to AI (ChatGPT)
97
+ 5. AI generates spec.md content
98
+ 6. You copy AI's response, save to spec.md file
99
+ 7. Repeat for plan.md, tasks.md, etc.
100
+
101
+ Manual does not mean harder - just means YOU control each step (no automation).
102
+ Benefit: Works with ANY AI tool!
103
+
104
+ COMPARISON:
105
+
106
+ Claude Code (Full): "create increment" -> Done in 30 seconds (auto)
107
+ Cursor (Semi): "create increment" -> Done in 5 minutes (.cursorrules)
108
+ Copilot (Basic): Create files manually, Copilot suggests content
109
+ Generic (Manual): Follow SPECWEAVE-MANUAL.md step-by-step (30-60 min)
110
+
111
+ Trade-off: Speed vs Compatibility
112
+ - Claude Code: Fast, but only works with Claude Code
113
+ - Generic: Slower, but works with EVERY AI tool!
114
+
115
+ WHEN TO USE:
116
+
117
+ Use Generic adapter if:
118
+ - You use ChatGPT web, Claude web, Gemini, or other AI
119
+ - You don't have access to Claude Code or Cursor
120
+ - You want maximum compatibility (works with ANYTHING)
121
+ - Simple projects where automation isn't critical
122
+
123
+ Consider alternatives if:
124
+ - You want automation -> Use Claude Code (full) or Cursor (semi)
125
+ - You have file system access -> Use Copilot at minimum
126
+ - Large projects -> Manual workflow becomes tedious
127
+
128
+ QUICK START:
129
+
130
+ 1. Open SPECWEAVE-MANUAL.md
131
+ Read the complete manual workflow guide
132
+
133
+ 2. Follow step-by-step for your first feature
134
+ - Step 1: Create increment folder
135
+ - Step 2: Create spec.md (copy template, paste to AI, save)
136
+ - Step 3: Create plan.md (copy template, paste to AI, save)
137
+ - Step 4: Create tasks.md (copy template, paste to AI, save)
138
+
139
+ 3. Use any AI tool you prefer
140
+ ChatGPT, Claude web, Gemini, Perplexity, etc.
141
+
142
+ DOCUMENTATION:
143
+
144
+ - SPECWEAVE-MANUAL.md: Complete step-by-step guide (READ THIS FIRST!)
145
+ - SPECWEAVE.md: Complete technical documentation
146
+ - .specweave/docs/: Project documentation
147
+
148
+ You're ready to build with SpecWeave using ANY AI tool!
149
+
150
+ Remember: Generic = Manual = Copy-paste workflow, but 100% compatible!
151
+ `;
152
+ }
153
+ }
154
+ exports.GenericAdapter = GenericAdapter;
155
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/generic/adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAIH,kDAA8C;AAG9C,MAAa,cAAe,SAAQ,0BAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,2EAA2E,CAAC;QAC1F,oBAAe,GAAG,QAAiB,CAAC;IA4ItC,CAAC;IA1IC;;;;;OAKG;IACH,KAAK,CAAC,MAAM;QACV,yDAAyD;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE,qBAAqB;gBACjC,UAAU,EAAE,qBAAqB;gBACjC,WAAW,EAAE,gDAAgD;aAC9D;YACD;gBACE,UAAU,EAAE,WAAW;gBACvB,UAAU,EAAE,uCAAuC;gBACnD,WAAW,EAAE,+BAA+B;aAC7C;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAEnE,qDAAqD;QACrD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkFN,CAAC;IACJ,CAAC;CACF;AA/ID,wCA+IC"}
@@ -0,0 +1,6 @@
1
+ interface InitOptions {
2
+ template: string;
3
+ }
4
+ export declare function initCommand(projectName?: string, options?: InitOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAgGf"}