@specverse/engine-realize 3.5.3

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 (420) hide show
  1. package/assets/examples/09-api/ai-spec.yaml +194 -0
  2. package/assets/examples/09-api/converted.yaml +95 -0
  3. package/assets/examples/09-api/diagram-architecture.mmd +10 -0
  4. package/assets/examples/09-api/diagram-er.mmd +10 -0
  5. package/assets/examples/09-api/documentation.html +104 -0
  6. package/assets/examples/09-api/documentation.md +95 -0
  7. package/assets/examples/09-api/inferred-spec.yaml +420 -0
  8. package/assets/examples/09-api/openapi.json +61 -0
  9. package/assets/examples/10-api/README.md +216 -0
  10. package/assets/examples/10-api/ai-spec.yaml +194 -0
  11. package/assets/examples/10-api/converted.yaml +96 -0
  12. package/assets/examples/10-api/diagram-architecture.mmd +10 -0
  13. package/assets/examples/10-api/diagram-er.mmd +10 -0
  14. package/assets/examples/10-api/documentation.html +104 -0
  15. package/assets/examples/10-api/documentation.md +95 -0
  16. package/assets/examples/10-api/inferred-spec.yaml +7 -0
  17. package/assets/examples/10-api/metadata.yaml +89 -0
  18. package/assets/examples/10-api/openapi.json +61 -0
  19. package/assets/examples/10-api/package-integration-test.js +177 -0
  20. package/assets/examples/10-api/usage-example.js +323 -0
  21. package/assets/examples/10-api/usage-example.ts +363 -0
  22. package/assets/examples/10-api/workflow-test.js +113 -0
  23. package/assets/examples/manifests/01-simple-default-mappings.yaml +36 -0
  24. package/assets/examples/manifests/02-capability-mappings.yaml +55 -0
  25. package/assets/examples/manifests/03-hybrid-mappings.yaml +109 -0
  26. package/assets/examples/manifests/README.md +245 -0
  27. package/assets/examples/manifests/backend-only.yaml +43 -0
  28. package/assets/examples/manifests/blog-api.md +78 -0
  29. package/assets/examples/manifests/blog-api.specly +79 -0
  30. package/assets/examples/manifests/frontend-only.yaml +27 -0
  31. package/assets/examples/manifests/fullstack-app.yaml +44 -0
  32. package/assets/examples/manifests/fullstack-monorepo.yaml +62 -0
  33. package/assets/examples/validate-examples-with-expected-failures.cjs +328 -0
  34. package/assets/examples/validate-examples.cjs +225 -0
  35. package/assets/examples-decomposed/cloud-native-manifest.example.yaml +8 -0
  36. package/assets/examples-decomposed/cloud-native-manifest.md +379 -0
  37. package/assets/examples-decomposed/cloud-native-manifest.specly +60 -0
  38. package/assets/examples-decomposed/docker-compose-manifest.example.yaml +8 -0
  39. package/assets/examples-decomposed/docker-compose-manifest.md +326 -0
  40. package/assets/examples-decomposed/docker-compose-manifest.specly +40 -0
  41. package/assets/examples-decomposed/kubernetes-deployment-manifest.example.yaml +8 -0
  42. package/assets/examples-decomposed/kubernetes-deployment-manifest.md +237 -0
  43. package/assets/examples-decomposed/kubernetes-deployment-manifest.specly +41 -0
  44. package/assets/templates/README.md +559 -0
  45. package/assets/templates/TEMPLATE-ENHANCEMENTS-V33.md +462 -0
  46. package/assets/templates/backend-only/CLAUDE.md +73 -0
  47. package/assets/templates/backend-only/README.md +197 -0
  48. package/assets/templates/backend-only/deployments/README.md +149 -0
  49. package/assets/templates/backend-only/deployments/development.specly +53 -0
  50. package/assets/templates/backend-only/deployments/production.specly +87 -0
  51. package/assets/templates/backend-only/docs/README.md +50 -0
  52. package/assets/templates/backend-only/docs/api/README.md +7 -0
  53. package/assets/templates/backend-only/docs/diagrams/README.md +85 -0
  54. package/assets/templates/backend-only/docs/example-documentation-template.md +269 -0
  55. package/assets/templates/backend-only/docs/guides/README.md +15 -0
  56. package/assets/templates/backend-only/dot.env.example +18 -0
  57. package/assets/templates/backend-only/generated/README.md +56 -0
  58. package/assets/templates/backend-only/generated/code/integration-test.template.js +320 -0
  59. package/assets/templates/backend-only/generated/code/package.json.template +34 -0
  60. package/assets/templates/backend-only/generated/docs/README.md +49 -0
  61. package/assets/templates/backend-only/gitignore +54 -0
  62. package/assets/templates/backend-only/manifests/README.md +72 -0
  63. package/assets/templates/backend-only/manifests/docker-compose.specly +91 -0
  64. package/assets/templates/backend-only/manifests/implementation.yaml +100 -0
  65. package/assets/templates/backend-only/manifests/kubernetes.specly +140 -0
  66. package/assets/templates/backend-only/package.json +59 -0
  67. package/assets/templates/backend-only/scripts/test-all.sh +160 -0
  68. package/assets/templates/backend-only/scripts/test-generated-code.sh +165 -0
  69. package/assets/templates/backend-only/specs/main.specly +67 -0
  70. package/assets/templates/default/CLAUDE.md +141 -0
  71. package/assets/templates/default/README.md +404 -0
  72. package/assets/templates/default/deployments/README.md +149 -0
  73. package/assets/templates/default/deployments/development.specly +53 -0
  74. package/assets/templates/default/deployments/production.specly +87 -0
  75. package/assets/templates/default/docs/README.md +50 -0
  76. package/assets/templates/default/docs/api/README.md +7 -0
  77. package/assets/templates/default/docs/diagrams/README.md +85 -0
  78. package/assets/templates/default/docs/example-documentation-template.md +269 -0
  79. package/assets/templates/default/docs/guides/README.md +15 -0
  80. package/assets/templates/default/dot.env.example +18 -0
  81. package/assets/templates/default/generated/README.md +56 -0
  82. package/assets/templates/default/generated/code/integration-test.template.js +320 -0
  83. package/assets/templates/default/generated/code/package.json.template +34 -0
  84. package/assets/templates/default/generated/docs/README.md +49 -0
  85. package/assets/templates/default/gitignore +54 -0
  86. package/assets/templates/default/manifests/README.md +72 -0
  87. package/assets/templates/default/manifests/docker-compose.specly +91 -0
  88. package/assets/templates/default/manifests/implementation.yaml +176 -0
  89. package/assets/templates/default/manifests/kubernetes.specly +140 -0
  90. package/assets/templates/default/package.json +61 -0
  91. package/assets/templates/default/scripts/test-all.sh +160 -0
  92. package/assets/templates/default/scripts/test-generated-code.sh +165 -0
  93. package/assets/templates/default/specs/main.specly +67 -0
  94. package/assets/templates/frontend-only/CLAUDE.md +75 -0
  95. package/assets/templates/frontend-only/README.md +231 -0
  96. package/assets/templates/frontend-only/deployments/README.md +149 -0
  97. package/assets/templates/frontend-only/deployments/development.specly +53 -0
  98. package/assets/templates/frontend-only/deployments/production.specly +87 -0
  99. package/assets/templates/frontend-only/docs/README.md +50 -0
  100. package/assets/templates/frontend-only/docs/api/README.md +7 -0
  101. package/assets/templates/frontend-only/docs/diagrams/README.md +85 -0
  102. package/assets/templates/frontend-only/docs/example-documentation-template.md +269 -0
  103. package/assets/templates/frontend-only/docs/guides/README.md +15 -0
  104. package/assets/templates/frontend-only/dot.env.example +18 -0
  105. package/assets/templates/frontend-only/generated/README.md +56 -0
  106. package/assets/templates/frontend-only/generated/code/integration-test.template.js +320 -0
  107. package/assets/templates/frontend-only/generated/code/package.json.template +34 -0
  108. package/assets/templates/frontend-only/generated/docs/README.md +49 -0
  109. package/assets/templates/frontend-only/gitignore +54 -0
  110. package/assets/templates/frontend-only/manifests/README.md +72 -0
  111. package/assets/templates/frontend-only/manifests/docker-compose.specly +91 -0
  112. package/assets/templates/frontend-only/manifests/implementation.yaml +58 -0
  113. package/assets/templates/frontend-only/manifests/kubernetes.specly +140 -0
  114. package/assets/templates/frontend-only/package.json +59 -0
  115. package/assets/templates/frontend-only/scripts/test-all.sh +160 -0
  116. package/assets/templates/frontend-only/scripts/test-generated-code.sh +165 -0
  117. package/assets/templates/frontend-only/specs/main.specly +57 -0
  118. package/assets/templates/full-stack/AI-GUIDE.md +60 -0
  119. package/assets/templates/full-stack/CLAUDE.md +141 -0
  120. package/assets/templates/full-stack/README.md +382 -0
  121. package/assets/templates/full-stack/archive/AI-GUIDE-legacy.md +392 -0
  122. package/assets/templates/full-stack/deployments/README.md +149 -0
  123. package/assets/templates/full-stack/deployments/development.specly +53 -0
  124. package/assets/templates/full-stack/deployments/production.specly +87 -0
  125. package/assets/templates/full-stack/docs/README.md +51 -0
  126. package/assets/templates/full-stack/docs/api/README.md +7 -0
  127. package/assets/templates/full-stack/docs/diagrams/README.md +85 -0
  128. package/assets/templates/full-stack/docs/example-documentation-template.md +269 -0
  129. package/assets/templates/full-stack/docs/guides/README.md +15 -0
  130. package/assets/templates/full-stack/generated/README.md +56 -0
  131. package/assets/templates/full-stack/generated/code/integration-test.template.js +320 -0
  132. package/assets/templates/full-stack/generated/code/package.json.template +34 -0
  133. package/assets/templates/full-stack/generated/docs/README.md +49 -0
  134. package/assets/templates/full-stack/gitignore +54 -0
  135. package/assets/templates/full-stack/manifests/README.md +72 -0
  136. package/assets/templates/full-stack/manifests/docker-compose.specly +91 -0
  137. package/assets/templates/full-stack/manifests/implementation.yaml +155 -0
  138. package/assets/templates/full-stack/manifests/kubernetes.specly +140 -0
  139. package/assets/templates/full-stack/package.json +45 -0
  140. package/assets/templates/full-stack/scripts/test-all.sh +160 -0
  141. package/assets/templates/full-stack/scripts/test-generated-code.sh +165 -0
  142. package/assets/templates/full-stack/specs/example-v33.specly +297 -0
  143. package/assets/templates/full-stack/specs/main-simple.specly +73 -0
  144. package/assets/templates/full-stack/specs/main.specly +408 -0
  145. package/dist/engines/code-generator.d.ts +86 -0
  146. package/dist/engines/code-generator.d.ts.map +1 -0
  147. package/dist/engines/code-generator.js +159 -0
  148. package/dist/engines/code-generator.js.map +1 -0
  149. package/dist/engines/engine-registry.d.ts +94 -0
  150. package/dist/engines/engine-registry.d.ts.map +1 -0
  151. package/dist/engines/engine-registry.js +163 -0
  152. package/dist/engines/engine-registry.js.map +1 -0
  153. package/dist/engines/index.d.ts +10 -0
  154. package/dist/engines/index.d.ts.map +1 -0
  155. package/dist/engines/index.js +12 -0
  156. package/dist/engines/index.js.map +1 -0
  157. package/dist/engines/typescript-engine.d.ts +74 -0
  158. package/dist/engines/typescript-engine.d.ts.map +1 -0
  159. package/dist/engines/typescript-engine.js +288 -0
  160. package/dist/engines/typescript-engine.js.map +1 -0
  161. package/dist/generators/index.d.ts +11 -0
  162. package/dist/generators/index.d.ts.map +1 -0
  163. package/dist/generators/index.js +11 -0
  164. package/dist/generators/index.js.map +1 -0
  165. package/dist/index.d.ts +48 -0
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +434 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/library/index.d.ts +12 -0
  170. package/dist/library/index.d.ts.map +1 -0
  171. package/dist/library/index.js +15 -0
  172. package/dist/library/index.js.map +1 -0
  173. package/dist/library/library.d.ts +132 -0
  174. package/dist/library/library.d.ts.map +1 -0
  175. package/dist/library/library.js +343 -0
  176. package/dist/library/library.js.map +1 -0
  177. package/dist/library/loader.d.ts +73 -0
  178. package/dist/library/loader.d.ts.map +1 -0
  179. package/dist/library/loader.js +150 -0
  180. package/dist/library/loader.js.map +1 -0
  181. package/dist/library/resolver.d.ts +104 -0
  182. package/dist/library/resolver.d.ts.map +1 -0
  183. package/dist/library/resolver.js +299 -0
  184. package/dist/library/resolver.js.map +1 -0
  185. package/dist/library/validator.d.ts +65 -0
  186. package/dist/library/validator.d.ts.map +1 -0
  187. package/dist/library/validator.js +203 -0
  188. package/dist/library/validator.js.map +1 -0
  189. package/dist/types/index.d.ts +7 -0
  190. package/dist/types/index.d.ts.map +1 -0
  191. package/dist/types/index.js +7 -0
  192. package/dist/types/index.js.map +1 -0
  193. package/dist/types/instance-factory.d.ts +289 -0
  194. package/dist/types/instance-factory.d.ts.map +1 -0
  195. package/dist/types/instance-factory.js +8 -0
  196. package/dist/types/instance-factory.js.map +1 -0
  197. package/dist/types/unified-mappings.d.ts +163 -0
  198. package/dist/types/unified-mappings.d.ts.map +1 -0
  199. package/dist/types/unified-mappings.js +110 -0
  200. package/dist/types/unified-mappings.js.map +1 -0
  201. package/dist/utils/ai-spec-loader.d.ts +77 -0
  202. package/dist/utils/ai-spec-loader.d.ts.map +1 -0
  203. package/dist/utils/ai-spec-loader.js +138 -0
  204. package/dist/utils/ai-spec-loader.js.map +1 -0
  205. package/dist/utils/index.d.ts +9 -0
  206. package/dist/utils/index.d.ts.map +1 -0
  207. package/dist/utils/index.js +9 -0
  208. package/dist/utils/index.js.map +1 -0
  209. package/dist/utils/manifest-loader.d.ts +107 -0
  210. package/dist/utils/manifest-loader.d.ts.map +1 -0
  211. package/dist/utils/manifest-loader.js +168 -0
  212. package/dist/utils/manifest-loader.js.map +1 -0
  213. package/dist/utils/mapping-migration.d.ts +53 -0
  214. package/dist/utils/mapping-migration.d.ts.map +1 -0
  215. package/dist/utils/mapping-migration.js +194 -0
  216. package/dist/utils/mapping-migration.js.map +1 -0
  217. package/libs/instance-factories/CURVED-INTERFACE.md +278 -0
  218. package/libs/instance-factories/README.md +433 -0
  219. package/libs/instance-factories/applications/generic-app.yaml +52 -0
  220. package/libs/instance-factories/applications/react-app.yaml +186 -0
  221. package/libs/instance-factories/applications/templates/generic/backend-env-generator.ts +31 -0
  222. package/libs/instance-factories/applications/templates/generic/backend-package-json-generator.ts +80 -0
  223. package/libs/instance-factories/applications/templates/generic/backend-tsconfig-generator.ts +69 -0
  224. package/libs/instance-factories/applications/templates/generic/main-generator.ts +308 -0
  225. package/libs/instance-factories/applications/templates/react/_view-components-source.ts +555 -0
  226. package/libs/instance-factories/applications/templates/react/api-client-generator.ts +436 -0
  227. package/libs/instance-factories/applications/templates/react/api-types-generator.ts +153 -0
  228. package/libs/instance-factories/applications/templates/react/app-tsx-generator.ts +94 -0
  229. package/libs/instance-factories/applications/templates/react/env-example-generator.ts +24 -0
  230. package/libs/instance-factories/applications/templates/react/field-helpers-generator.ts +106 -0
  231. package/libs/instance-factories/applications/templates/react/gitignore-generator.ts +38 -0
  232. package/libs/instance-factories/applications/templates/react/index-css-generator.ts +85 -0
  233. package/libs/instance-factories/applications/templates/react/index-html-generator.ts +30 -0
  234. package/libs/instance-factories/applications/templates/react/main-tsx-generator.ts +34 -0
  235. package/libs/instance-factories/applications/templates/react/package-json-generator.ts +54 -0
  236. package/libs/instance-factories/applications/templates/react/pattern-adapter-generator.ts +179 -0
  237. package/libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx +1347 -0
  238. package/libs/instance-factories/applications/templates/react/relationship-field-generator.ts +150 -0
  239. package/libs/instance-factories/applications/templates/react/tailwind-adapter-generator.ts +704 -0
  240. package/libs/instance-factories/applications/templates/react/tailwind-adapter-wrapper-generator.ts +84 -0
  241. package/libs/instance-factories/applications/templates/react/tsconfig-generator.ts +35 -0
  242. package/libs/instance-factories/applications/templates/react/use-api-hooks-generator.ts +121 -0
  243. package/libs/instance-factories/applications/templates/react/view-dashboard-generator.ts +150 -0
  244. package/libs/instance-factories/applications/templates/react/view-detail-generator.ts +150 -0
  245. package/libs/instance-factories/applications/templates/react/view-form-generator.ts +362 -0
  246. package/libs/instance-factories/applications/templates/react/view-list-generator.ts +98 -0
  247. package/libs/instance-factories/applications/templates/react/view-router-generator.ts +89 -0
  248. package/libs/instance-factories/applications/templates/react/vite-config-generator.ts +49 -0
  249. package/libs/instance-factories/archived/fastify-prisma.yaml +104 -0
  250. package/libs/instance-factories/cli/commander-js.yaml +55 -0
  251. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.d.ts +12 -0
  252. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.d.ts.map +1 -0
  253. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.js +115 -0
  254. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.js.map +1 -0
  255. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.ts +145 -0
  256. package/libs/instance-factories/cli/templates/commander/command-generator.d.ts +14 -0
  257. package/libs/instance-factories/cli/templates/commander/command-generator.d.ts.map +1 -0
  258. package/libs/instance-factories/cli/templates/commander/command-generator.js +182 -0
  259. package/libs/instance-factories/cli/templates/commander/command-generator.js.map +1 -0
  260. package/libs/instance-factories/cli/templates/commander/command-generator.ts +992 -0
  261. package/libs/instance-factories/communication/event-emitter.yaml +56 -0
  262. package/libs/instance-factories/communication/rabbitmq-events.yaml +87 -0
  263. package/libs/instance-factories/communication/templates/eventemitter/bus-generator.ts +93 -0
  264. package/libs/instance-factories/communication/templates/eventemitter/publisher-generator.ts +117 -0
  265. package/libs/instance-factories/communication/templates/eventemitter/subscriber-generator.ts +101 -0
  266. package/libs/instance-factories/controllers/fastify.yaml +127 -0
  267. package/libs/instance-factories/controllers/templates/fastify/meta-routes-generator.ts +103 -0
  268. package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +389 -0
  269. package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +76 -0
  270. package/libs/instance-factories/infrastructure/docker-k8s.yaml +61 -0
  271. package/libs/instance-factories/infrastructure/templates/docker-k8s/infrastructure-generator.ts +46 -0
  272. package/libs/instance-factories/orms/prisma.yaml +89 -0
  273. package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +563 -0
  274. package/libs/instance-factories/orms/templates/prisma/services-generator.ts +408 -0
  275. package/libs/instance-factories/scaffolding/generic-scaffold.yaml +65 -0
  276. package/libs/instance-factories/scaffolding/templates/generic/env-example-generator.ts +73 -0
  277. package/libs/instance-factories/scaffolding/templates/generic/env-generator.ts +85 -0
  278. package/libs/instance-factories/scaffolding/templates/generic/gitignore-generator.ts +69 -0
  279. package/libs/instance-factories/scaffolding/templates/generic/package-json-generator.ts +176 -0
  280. package/libs/instance-factories/scaffolding/templates/generic/readme-generator.ts +207 -0
  281. package/libs/instance-factories/scaffolding/templates/generic/tsconfig-generator.ts +78 -0
  282. package/libs/instance-factories/scaffolding/templates/generic/tsconfig-react-generator.ts +41 -0
  283. package/libs/instance-factories/sdks/python-sdk.yaml +66 -0
  284. package/libs/instance-factories/sdks/templates/python/sdk-generator.ts +50 -0
  285. package/libs/instance-factories/sdks/templates/typescript/sdk-generator.ts +49 -0
  286. package/libs/instance-factories/sdks/typescript-sdk.yaml +59 -0
  287. package/libs/instance-factories/services/prisma-services.yaml +71 -0
  288. package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +303 -0
  289. package/libs/instance-factories/services/templates/prisma/controller-generator.ts +532 -0
  290. package/libs/instance-factories/services/templates/prisma/service-generator.ts +315 -0
  291. package/libs/instance-factories/shared/path-resolver.ts +111 -0
  292. package/libs/instance-factories/storage/mongodb.yaml +79 -0
  293. package/libs/instance-factories/storage/postgresql.yaml +75 -0
  294. package/libs/instance-factories/storage/redis.yaml +79 -0
  295. package/libs/instance-factories/storage/templates/mongodb/config-generator.ts +15 -0
  296. package/libs/instance-factories/storage/templates/mongodb/docker-generator.ts +18 -0
  297. package/libs/instance-factories/storage/templates/postgresql/config-generator.ts +54 -0
  298. package/libs/instance-factories/storage/templates/postgresql/docker-generator.ts +55 -0
  299. package/libs/instance-factories/storage/templates/redis/config-generator.ts +16 -0
  300. package/libs/instance-factories/storage/templates/redis/docker-generator.ts +18 -0
  301. package/libs/instance-factories/test-generation.ts +192 -0
  302. package/libs/instance-factories/testing/templates/vitest/tests-generator.ts +51 -0
  303. package/libs/instance-factories/testing/vitest-tests.yaml +63 -0
  304. package/libs/instance-factories/tools/templates/mcp/mcp-server-generator.ts +136 -0
  305. package/libs/instance-factories/tools/templates/mcp/static/docs/DEPLOYMENT_GUIDE.md +630 -0
  306. package/libs/instance-factories/tools/templates/mcp/static/docs/HYBRID_RESOURCE_SYSTEM.md +330 -0
  307. package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/EXTENSION_DEPLOYMENT.md +552 -0
  308. package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/LOCAL_DEPLOYMENT.md +164 -0
  309. package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/WEB_DEPLOYMENT.md +247 -0
  310. package/libs/instance-factories/tools/templates/mcp/static/package.json +92 -0
  311. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-enterprise.js +284 -0
  312. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-extension.js +139 -0
  313. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-local.js +74 -0
  314. package/libs/instance-factories/tools/templates/mcp/static/scripts/build-web.js +156 -0
  315. package/libs/instance-factories/tools/templates/mcp/static/scripts/copy-canonical-files.js +41 -0
  316. package/libs/instance-factories/tools/templates/mcp/static/scripts/test-deployments.js +259 -0
  317. package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-resources.js +231 -0
  318. package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-simple.js +196 -0
  319. package/libs/instance-factories/tools/templates/mcp/static/src/controllers/MCPServerController.ts +293 -0
  320. package/libs/instance-factories/tools/templates/mcp/static/src/events/EventEmitter.ts +90 -0
  321. package/libs/instance-factories/tools/templates/mcp/static/src/index.ts +24 -0
  322. package/libs/instance-factories/tools/templates/mcp/static/src/interfaces/ResourceProvider.ts +15 -0
  323. package/libs/instance-factories/tools/templates/mcp/static/src/models/LibrarySuggestion.ts +106 -0
  324. package/libs/instance-factories/tools/templates/mcp/static/src/models/SpecVerseResource.ts +75 -0
  325. package/libs/instance-factories/tools/templates/mcp/static/src/server/mcp-server.ts +239 -0
  326. package/libs/instance-factories/tools/templates/mcp/static/src/services/CLIProxyService.ts +1501 -0
  327. package/libs/instance-factories/tools/templates/mcp/static/src/services/EmbeddedResourcesAdapter.ts +211 -0
  328. package/libs/instance-factories/tools/templates/mcp/static/src/services/EntityModuleService.ts +308 -0
  329. package/libs/instance-factories/tools/templates/mcp/static/src/services/HybridResourcesProvider.ts +210 -0
  330. package/libs/instance-factories/tools/templates/mcp/static/src/services/LibraryToolsService.ts +356 -0
  331. package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorBridge.ts +524 -0
  332. package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorToolsService.ts +530 -0
  333. package/libs/instance-factories/tools/templates/mcp/static/src/services/PromptToolsService.ts +594 -0
  334. package/libs/instance-factories/tools/templates/mcp/static/src/services/ResourcesProviderService.ts +170 -0
  335. package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.init.test.ts +544 -0
  336. package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.test.ts +189 -0
  337. package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/ResourcesProviderService.test.ts +89 -0
  338. package/libs/instance-factories/tools/templates/mcp/static/src/types/index.ts +110 -0
  339. package/libs/instance-factories/tools/templates/mcp/static/tsconfig.json +28 -0
  340. package/libs/instance-factories/tools/templates/vscode/static/extension.ts +1195 -0
  341. package/libs/instance-factories/tools/templates/vscode/static/language-configuration.json +34 -0
  342. package/libs/instance-factories/tools/templates/vscode/static/schemas/specverse-v3-schema.json +4279 -0
  343. package/libs/instance-factories/tools/templates/vscode/static/syntaxes/specverse.tmLanguage.json +138 -0
  344. package/libs/instance-factories/tools/templates/vscode/static/themes/README.md +74 -0
  345. package/libs/instance-factories/tools/templates/vscode/static/themes/complete-specverse-colors.json +122 -0
  346. package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-basic-theme.json +65 -0
  347. package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-complete-theme.json +123 -0
  348. package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-theme-colors.json +64 -0
  349. package/libs/instance-factories/tools/templates/vscode/vscode-extension-generator.ts +214 -0
  350. package/libs/instance-factories/validation/templates/zod/validation-generator.ts +46 -0
  351. package/libs/instance-factories/validation/zod.yaml +56 -0
  352. package/libs/instance-factories/views/index.d.ts +13 -0
  353. package/libs/instance-factories/views/index.d.ts.map +1 -0
  354. package/libs/instance-factories/views/index.js +18 -0
  355. package/libs/instance-factories/views/index.js.map +1 -0
  356. package/libs/instance-factories/views/index.ts +45 -0
  357. package/libs/instance-factories/views/react-components.yaml +129 -0
  358. package/libs/instance-factories/views/templates/ARCHITECTURE.md +198 -0
  359. package/libs/instance-factories/views/templates/react/adapters/antd-adapter.ts +869 -0
  360. package/libs/instance-factories/views/templates/react/adapters/mui-adapter.ts +953 -0
  361. package/libs/instance-factories/views/templates/react/adapters/shadcn-adapter.ts +806 -0
  362. package/libs/instance-factories/views/templates/react/app-generator.ts +55 -0
  363. package/libs/instance-factories/views/templates/react/components-generator.ts +391 -0
  364. package/libs/instance-factories/views/templates/react/forms-generator.ts +343 -0
  365. package/libs/instance-factories/views/templates/react/frontend-package-json-generator.ts +54 -0
  366. package/libs/instance-factories/views/templates/react/hooks-generator.ts +122 -0
  367. package/libs/instance-factories/views/templates/react/index-css-generator.ts +209 -0
  368. package/libs/instance-factories/views/templates/react/index-html-generator.ts +34 -0
  369. package/libs/instance-factories/views/templates/react/main-tsx-generator.ts +29 -0
  370. package/libs/instance-factories/views/templates/react/react-component-generator.d.ts +152 -0
  371. package/libs/instance-factories/views/templates/react/react-component-generator.d.ts.map +1 -0
  372. package/libs/instance-factories/views/templates/react/react-component-generator.js +398 -0
  373. package/libs/instance-factories/views/templates/react/react-component-generator.js.map +1 -0
  374. package/libs/instance-factories/views/templates/react/react-component-generator.ts +533 -0
  375. package/libs/instance-factories/views/templates/react/router-generator.ts +197 -0
  376. package/libs/instance-factories/views/templates/react/router-generic-generator.ts +103 -0
  377. package/libs/instance-factories/views/templates/react/spec-json-generator.ts +17 -0
  378. package/libs/instance-factories/views/templates/react/types-generator.ts +76 -0
  379. package/libs/instance-factories/views/templates/react/views-metadata-generator.ts +42 -0
  380. package/libs/instance-factories/views/templates/react/vite-config-generator.ts +38 -0
  381. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.d.ts.map +1 -0
  382. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.js.map +1 -0
  383. package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.ts +474 -0
  384. package/libs/instance-factories/views/templates/shared/__tests__/composite-patterns.test.ts +242 -0
  385. package/libs/instance-factories/views/templates/shared/adapter-types.d.ts +77 -0
  386. package/libs/instance-factories/views/templates/shared/adapter-types.d.ts.map +1 -0
  387. package/libs/instance-factories/views/templates/shared/adapter-types.js +47 -0
  388. package/libs/instance-factories/views/templates/shared/adapter-types.js.map +1 -0
  389. package/libs/instance-factories/views/templates/shared/adapter-types.ts +142 -0
  390. package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts +63 -0
  391. package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts.map +1 -0
  392. package/libs/instance-factories/views/templates/shared/atomic-components-registry.js +822 -0
  393. package/libs/instance-factories/views/templates/shared/atomic-components-registry.js.map +1 -0
  394. package/libs/instance-factories/views/templates/shared/atomic-components-registry.ts +908 -0
  395. package/libs/instance-factories/views/templates/shared/base-generator.d.ts +247 -0
  396. package/libs/instance-factories/views/templates/shared/base-generator.d.ts.map +1 -0
  397. package/libs/instance-factories/views/templates/shared/base-generator.js +363 -0
  398. package/libs/instance-factories/views/templates/shared/base-generator.js.map +1 -0
  399. package/libs/instance-factories/views/templates/shared/base-generator.ts +608 -0
  400. package/libs/instance-factories/views/templates/shared/component-metadata.d.ts +254 -0
  401. package/libs/instance-factories/views/templates/shared/component-metadata.d.ts.map +1 -0
  402. package/libs/instance-factories/views/templates/shared/component-metadata.js +602 -0
  403. package/libs/instance-factories/views/templates/shared/component-metadata.js.map +1 -0
  404. package/libs/instance-factories/views/templates/shared/component-metadata.ts +803 -0
  405. package/libs/instance-factories/views/templates/shared/composite-pattern-types.ts +250 -0
  406. package/libs/instance-factories/views/templates/shared/composite-patterns.ts +535 -0
  407. package/libs/instance-factories/views/templates/shared/index.ts +68 -0
  408. package/libs/instance-factories/views/templates/shared/pattern-validator.ts +279 -0
  409. package/libs/instance-factories/views/templates/shared/property-mapper.d.ts +149 -0
  410. package/libs/instance-factories/views/templates/shared/property-mapper.d.ts.map +1 -0
  411. package/libs/instance-factories/views/templates/shared/property-mapper.js +580 -0
  412. package/libs/instance-factories/views/templates/shared/property-mapper.js.map +1 -0
  413. package/libs/instance-factories/views/templates/shared/property-mapper.ts +700 -0
  414. package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts +143 -0
  415. package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts.map +1 -0
  416. package/libs/instance-factories/views/templates/shared/syntax-mapper.js +420 -0
  417. package/libs/instance-factories/views/templates/shared/syntax-mapper.js.map +1 -0
  418. package/libs/instance-factories/views/templates/shared/syntax-mapper.ts +539 -0
  419. package/package.json +42 -0
  420. package/schema/SPECVERSE-SCHEMA.json +4274 -0
@@ -0,0 +1,552 @@
1
+ # VSCode Extension Deployment Guide
2
+
3
+ ## Overview
4
+
5
+ Extension deployment provides hybrid capabilities for VSCode users, combining the convenience of embedded resources with the power of local orchestrator integration when available.
6
+
7
+ ## Features (Phase 3 Updated)
8
+
9
+ - ✅ **AI API Integration**: All tools powered by @specverse/lang AI API
10
+ - ✅ **Hybrid Mode**: Embedded resources + filesystem fallback
11
+ - ✅ **Orchestrator Detection**: Automatically detects local SpecVerse installation
12
+ - ✅ **VSCode Integration**: Native extension wrapper
13
+ - ✅ **Development Friendly**: Works in both dev and production environments
14
+ - ✅ **Flexible Deployment**: Supports multiple orchestrator configurations
15
+ - ✅ **IDE Native**: Deep integration with VSCode workflows
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ # Build extension deployment
21
+ npm run build:extension
22
+
23
+ # The extension package is created at:
24
+ # dist/extension/package.json
25
+ # dist/extension/extension-wrapper.js
26
+ ```
27
+
28
+ ## Architecture
29
+
30
+ ```
31
+ VSCode Extension Environment
32
+
33
+ Extension Wrapper (Orchestrator Detection)
34
+
35
+ ┌─ Local Orchestrator Available ─┐ ┌─ No Local Orchestrator ─┐
36
+ │ Full SpecVerse Integration │ │ Embedded Resources Only │
37
+ │ File System Resources │ │ Limited but Functional │
38
+ └─────────────────────────────────┘ └───────────────────────────┘
39
+ ```
40
+
41
+ ## Directory Structure
42
+
43
+ ```
44
+ dist/extension/
45
+ ├── extension-wrapper.js # Main VSCode integration
46
+ ├── package.json # Extension manifest
47
+ ├── config.json # Extension configuration
48
+ ├── server/ # MCP server components
49
+ │ └── mcp-server.js # Server runtime
50
+ ├── controllers/ # Request handlers
51
+ ├── services/ # AI-powered services
52
+ ├── resources/ # Essential examples only (~71KB)
53
+ │ └── examples/ # Terminal/chat examples
54
+ └── types/ # TypeScript definitions
55
+ ```
56
+
57
+ **Note**: Schemas, prompts, and library catalogs are now provided through AI tools for better contextual responses.
58
+
59
+ ## Configuration
60
+
61
+ **File**: `dist/extension/config.json`
62
+
63
+ ```json
64
+ {
65
+ "mode": "extension",
66
+ "features": {
67
+ "orchestrator": "conditional",
68
+ "fileSystemResources": true,
69
+ "embeddedResources": true,
70
+ "hybridMode": true
71
+ },
72
+ "resourcesPath": "./resources",
73
+ "vscode": {
74
+ "activationEvents": [
75
+ "onLanguage:specverse",
76
+ "workspaceContains:**/*.specly"
77
+ ],
78
+ "capabilities": [
79
+ "mcp-server",
80
+ "resource-provider",
81
+ "tool-provider"
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ ## Extension Wrapper
88
+
89
+ The `extension-wrapper.js` provides seamless integration with VSCode:
90
+
91
+ ```typescript
92
+ /**
93
+ * VSCode Extension Wrapper for SpecVerse MCP Server
94
+ * Provides hybrid capabilities for extension environment
95
+ */
96
+
97
+ class VSCodeExtensionMCPServer {
98
+ constructor(extensionPath) {
99
+ this.extensionPath = extensionPath;
100
+ this.config = {
101
+ mode: 'extension',
102
+ logging: true,
103
+ resources_path: path.join(extensionPath, 'resources'),
104
+ features: {
105
+ orchestrator: this.detectOrchestrator(),
106
+ fileSystemResources: true,
107
+ embeddedResources: true
108
+ }
109
+ };
110
+
111
+ this.server = new SpecVerseCleanMCPServer(this.config);
112
+ }
113
+
114
+ detectOrchestrator() {
115
+ // Check if orchestrator is available in parent SpecVerse installation
116
+ try {
117
+ const orchestratorPath = path.resolve(
118
+ this.extensionPath,
119
+ '../../../src/orchestrator'
120
+ );
121
+ require.resolve(orchestratorPath);
122
+ return true;
123
+ } catch (error) {
124
+ console.log('Orchestrator not detected, using embedded resources only');
125
+ return false;
126
+ }
127
+ }
128
+
129
+ async start() {
130
+ return this.server.start();
131
+ }
132
+
133
+ getController() {
134
+ return this.server.getController();
135
+ }
136
+ }
137
+ ```
138
+
139
+ ## VSCode Extension Integration
140
+
141
+ ### Extension Manifest
142
+
143
+ **File**: `dist/extension/package.json`
144
+
145
+ ```json
146
+ {
147
+ "name": "specverse-mcp-extension",
148
+ "version": "1.0.0",
149
+ "description": "SpecVerse MCP Server for VSCode Extension",
150
+ "main": "extension-wrapper.js",
151
+ "engines": {
152
+ "node": ">=16.0.0",
153
+ "vscode": "^1.80.0"
154
+ },
155
+ "activationEvents": [
156
+ "onLanguage:specverse",
157
+ "workspaceContains:**/*.specly"
158
+ ],
159
+ "contributes": {
160
+ "languages": [
161
+ {
162
+ "id": "specverse",
163
+ "aliases": ["SpecVerse", "specverse"],
164
+ "extensions": [".specly"]
165
+ }
166
+ ],
167
+ "commands": [
168
+ {
169
+ "command": "specverse.startMCPServer",
170
+ "title": "Start SpecVerse MCP Server"
171
+ },
172
+ {
173
+ "command": "specverse.stopMCPServer",
174
+ "title": "Stop SpecVerse MCP Server"
175
+ },
176
+ {
177
+ "command": "specverse.getCreationPrompt",
178
+ "title": "Get SpecVerse Creation Prompt"
179
+ }
180
+ ]
181
+ },
182
+ "dependencies": {
183
+ "@modelcontextprotocol/sdk": "^1.17.4",
184
+ "@specverse/lang": "file:../../../../",
185
+ "yaml": "^2.8.1",
186
+ "zod": "^3.25.76"
187
+ }
188
+ }
189
+ ```
190
+
191
+ ### Extension Code Integration
192
+
193
+ ```typescript
194
+ // In your VSCode extension (extension.ts)
195
+ import * as vscode from 'vscode';
196
+ import { VSCodeExtensionMCPServer } from './extension-wrapper';
197
+
198
+ let mcpServer: VSCodeExtensionMCPServer | undefined;
199
+
200
+ export async function activate(context: vscode.ExtensionContext) {
201
+ // Initialize MCP server
202
+ mcpServer = new VSCodeExtensionMCPServer(context.extensionPath);
203
+
204
+ // Register commands
205
+ const startCommand = vscode.commands.registerCommand(
206
+ 'specverse.startMCPServer',
207
+ async () => {
208
+ try {
209
+ await mcpServer?.start();
210
+ vscode.window.showInformationMessage('SpecVerse MCP Server started');
211
+ } catch (error) {
212
+ vscode.window.showErrorMessage(`Failed to start MCP server: ${error}`);
213
+ }
214
+ }
215
+ );
216
+
217
+ const getCreationPrompt = vscode.commands.registerCommand(
218
+ 'specverse.getCreationPrompt',
219
+ async () => {
220
+ const requirements = await vscode.window.showInputBox({
221
+ prompt: 'Describe your application requirements',
222
+ placeHolder: 'e.g., Build a blog with user authentication'
223
+ });
224
+
225
+ if (requirements) {
226
+ try {
227
+ const controller = mcpServer?.getController();
228
+ const result = await controller?.callTool('get_creation_prompt', {
229
+ requirements,
230
+ scale: 'business'
231
+ });
232
+
233
+ // Show result in new document
234
+ const doc = await vscode.workspace.openTextDocument({
235
+ content: result?.content[0]?.text || 'No content',
236
+ language: 'markdown'
237
+ });
238
+ await vscode.window.showTextDocument(doc);
239
+ } catch (error) {
240
+ vscode.window.showErrorMessage(`Error: ${error}`);
241
+ }
242
+ }
243
+ }
244
+ );
245
+
246
+ context.subscriptions.push(startCommand, getCreationPrompt);
247
+ }
248
+
249
+ export function deactivate() {
250
+ // Cleanup MCP server
251
+ mcpServer = undefined;
252
+ }
253
+ ```
254
+
255
+ ## Orchestrator Detection Logic
256
+
257
+ The extension automatically detects orchestrator availability:
258
+
259
+ ### Detection Methods
260
+
261
+ 1. **Local Installation Check**:
262
+ ```typescript
263
+ // Check for orchestrator in parent SpecVerse installation
264
+ const orchestratorPath = path.resolve(extensionPath, '../../../src/orchestrator');
265
+ ```
266
+
267
+ 2. **Global Installation Check**:
268
+ ```typescript
269
+ // Check for global SpecVerse CLI
270
+ try {
271
+ execSync('specverse --version');
272
+ return true;
273
+ } catch {
274
+ return false;
275
+ }
276
+ ```
277
+
278
+ 3. **Workspace Check**:
279
+ ```typescript
280
+ // Check if workspace contains SpecVerse project
281
+ const workspaceHasSpecVerse = vscode.workspace.workspaceFolders?.some(folder => {
282
+ return fs.existsSync(path.join(folder.uri.fsPath, 'specverse.config.json'));
283
+ });
284
+ ```
285
+
286
+ ### Capability Modes
287
+
288
+ **Full Mode** (Orchestrator Available):
289
+ - Complete workflow orchestration
290
+ - Full library analysis
291
+ - Advanced code generation
292
+ - Real-time specification processing
293
+
294
+ **Limited Mode** (No Orchestrator):
295
+ - Basic prompt expansion
296
+ - Resource serving
297
+ - Library recommendations
298
+ - Template generation
299
+
300
+ ## Usage Scenarios
301
+
302
+ ### 1. Development with Full SpecVerse
303
+
304
+ **Setup**: VSCode in a project with full SpecVerse installation
305
+
306
+ **Capabilities**:
307
+ - Right-click `.specly` files → "Analyze with SpecVerse"
308
+ - Command palette → "SpecVerse: Create Specification"
309
+ - Hover over SpecVerse keywords for documentation
310
+ - IntelliSense for library imports
311
+
312
+ ```typescript
313
+ // Extension activation in full mode
314
+ if (orchestratorDetected) {
315
+ // Register enhanced commands
316
+ registerCommand('specverse.analyzeProject', analyzeEntireProject);
317
+ registerCommand('specverse.generateCode', generateImplementation);
318
+ registerCommand('specverse.validateSpec', validateSpecification);
319
+ }
320
+ ```
321
+
322
+ ### 2. Lightweight Usage
323
+
324
+ **Setup**: VSCode with extension only (no local SpecVerse)
325
+
326
+ **Capabilities**:
327
+ - Basic prompt generation
328
+ - Resource access (schemas, examples)
329
+ - Library suggestions
330
+ - Template expansion
331
+
332
+ ```typescript
333
+ // Extension activation in limited mode
334
+ if (!orchestratorDetected) {
335
+ // Register basic commands only
336
+ registerCommand('specverse.getPrompt', getCreationPrompt);
337
+ registerCommand('specverse.showResources', listResources);
338
+ registerCommand('specverse.suggestLibraries', getLibrarySuggestions);
339
+ }
340
+ ```
341
+
342
+ ## Command Palette Integration
343
+
344
+ The extension adds commands to VSCode's command palette:
345
+
346
+ ### Available Commands
347
+
348
+ - `SpecVerse: Start MCP Server`
349
+ - `SpecVerse: Stop MCP Server`
350
+ - `SpecVerse: Get Creation Prompt`
351
+ - `SpecVerse: Get Analysis Prompt`
352
+ - `SpecVerse: Show Library Suggestions`
353
+ - `SpecVerse: Validate Specification` (if orchestrator available)
354
+ - `SpecVerse: Generate Implementation` (if orchestrator available)
355
+
356
+ ### Context Menu Integration
357
+
358
+ ```json
359
+ {
360
+ "menus": {
361
+ "explorer/context": [
362
+ {
363
+ "when": "resourceExtname == .specly",
364
+ "command": "specverse.analyzeFile",
365
+ "group": "specverse"
366
+ }
367
+ ],
368
+ "editor/context": [
369
+ {
370
+ "when": "resourceExtname == .specly",
371
+ "command": "specverse.getCreationPrompt",
372
+ "group": "specverse"
373
+ }
374
+ ]
375
+ }
376
+ }
377
+ ```
378
+
379
+ ## Settings and Configuration
380
+
381
+ ### Extension Settings
382
+
383
+ ```json
384
+ {
385
+ "specverse.mcpServer.autoStart": {
386
+ "type": "boolean",
387
+ "default": true,
388
+ "description": "Automatically start MCP server when extension activates"
389
+ },
390
+ "specverse.orchestrator.detectPath": {
391
+ "type": "string",
392
+ "default": "",
393
+ "description": "Custom path to SpecVerse orchestrator"
394
+ },
395
+ "specverse.resources.preferEmbedded": {
396
+ "type": "boolean",
397
+ "default": false,
398
+ "description": "Prefer embedded resources over file system"
399
+ },
400
+ "specverse.logging.enabled": {
401
+ "type": "boolean",
402
+ "default": false,
403
+ "description": "Enable debug logging"
404
+ }
405
+ }
406
+ ```
407
+
408
+ ### User Configuration
409
+
410
+ Users can configure the extension in their VSCode settings:
411
+
412
+ ```json
413
+ {
414
+ "specverse.mcpServer.autoStart": true,
415
+ "specverse.orchestrator.detectPath": "/custom/path/to/specverse",
416
+ "specverse.logging.enabled": true
417
+ }
418
+ ```
419
+
420
+ ## Development and Testing
421
+
422
+ ### Local Development
423
+
424
+ ```bash
425
+ # Build extension
426
+ npm run build:extension
427
+
428
+ # Test in VSCode Extension Host
429
+ code --extensionDevelopmentPath=/path/to/dist/extension
430
+
431
+ # Or package for distribution
432
+ cd dist/extension
433
+ vsce package
434
+ ```
435
+
436
+ ### Extension Testing
437
+
438
+ ```typescript
439
+ // Test suite for extension
440
+ import * as assert from 'assert';
441
+ import * as vscode from 'vscode';
442
+ import { VSCodeExtensionMCPServer } from '../extension-wrapper';
443
+
444
+ suite('Extension Test Suite', () => {
445
+ test('MCP Server initializes', async () => {
446
+ const server = new VSCodeExtensionMCPServer('/test/path');
447
+ assert.ok(server);
448
+ });
449
+
450
+ test('Orchestrator detection works', async () => {
451
+ const server = new VSCodeExtensionMCPServer('/test/path');
452
+ const hasOrchestrator = server.detectOrchestrator();
453
+ assert.ok(typeof hasOrchestrator === 'boolean');
454
+ });
455
+ });
456
+ ```
457
+
458
+ ## Performance Considerations
459
+
460
+ ### Memory Usage
461
+ - **With Orchestrator**: ~30MB
462
+ - **Without Orchestrator**: ~15MB
463
+ - **Lazy Loading**: Resources loaded on-demand
464
+
465
+ ### Startup Performance
466
+ - **Extension Activation**: ~200ms
467
+ - **MCP Server Start**: ~100ms
468
+ - **Resource Loading**: ~50ms
469
+
470
+ ### Resource Optimization
471
+ - Embedded resources for offline usage
472
+ - File system fallback for development
473
+ - Intelligent caching for repeated access
474
+
475
+ ## Troubleshooting
476
+
477
+ ### Common Issues
478
+
479
+ **Extension Won't Activate**:
480
+ ```bash
481
+ # Check extension logs
482
+ code --log-level trace
483
+
484
+ # Look for SpecVerse extension errors in Output panel
485
+ ```
486
+
487
+ **MCP Server Fails to Start**:
488
+ ```typescript
489
+ // Enable logging in extension settings
490
+ "specverse.logging.enabled": true
491
+
492
+ // Check VSCode Developer Tools Console
493
+ // Help -> Toggle Developer Tools
494
+ ```
495
+
496
+ **Orchestrator Not Detected**:
497
+ ```bash
498
+ # Verify SpecVerse installation
499
+ specverse --version
500
+
501
+ # Check custom path setting
502
+ "specverse.orchestrator.detectPath": "/custom/path"
503
+ ```
504
+
505
+ **Resource Access Issues**:
506
+ ```typescript
507
+ // Test resource loading
508
+ const server = new VSCodeExtensionMCPServer(extensionPath);
509
+ const resources = await server.getController().listResources();
510
+ console.log('Available resources:', resources.length);
511
+ ```
512
+
513
+ ### Debugging
514
+
515
+ **Enable Extension Logging**:
516
+ 1. Open VSCode settings
517
+ 2. Search for "specverse.logging"
518
+ 3. Enable logging
519
+ 4. Restart VSCode
520
+ 5. Check Output panel → "SpecVerse"
521
+
522
+ **Manual Testing**:
523
+ ```typescript
524
+ // Test MCP server directly
525
+ const server = new VSCodeExtensionMCPServer(__dirname);
526
+ await server.start();
527
+
528
+ const controller = server.getController();
529
+ const result = await controller.callTool('get_creation_prompt', {
530
+ requirements: 'Test application'
531
+ });
532
+ console.log(result);
533
+ ```
534
+
535
+ ## Future Enhancements
536
+
537
+ ### Planned Features
538
+ - **Workspace Integration**: Multi-root workspace support
539
+ - **Git Integration**: Version control aware prompts
540
+ - **Code Lens**: Inline SpecVerse hints
541
+ - **Auto-completion**: Smart completion for `.specly` files
542
+ - **Diagnostics**: Real-time validation and errors
543
+ - **Refactoring**: Automated specification updates
544
+
545
+ ### IDE Features
546
+ - **Syntax Highlighting**: Enhanced `.specly` syntax
547
+ - **Outline View**: Specification structure view
548
+ - **Go to Definition**: Navigate to library definitions
549
+ - **Find References**: Find all usages
550
+ - **Rename Symbol**: Refactor across files
551
+
552
+ The extension deployment bridges the gap between full local development and lightweight resource access, providing the best experience for VSCode users regardless of their SpecVerse installation.
@@ -0,0 +1,164 @@
1
+ # Local Deployment Guide
2
+
3
+ ## Overview
4
+
5
+ Local deployment is optimized for developers working on their local machines, providing direct access to the SpecVerse AI API and integration with development tools.
6
+
7
+ ## Features (Phase 3 Updated)
8
+
9
+ - ✅ **AI API Integration**: Direct access to @specverse/lang AI API
10
+ - ✅ **Intelligent Tools**: 8 AI-powered MCP tools for contextual guidance
11
+ - ✅ **Development Integration**: Works with local development tools
12
+ - ✅ **Orchestrator Support**: Optional full workflow capabilities
13
+ - ✅ **Fast Startup**: ~100ms startup time
14
+ - ✅ **Stdio Transport**: Compatible with MCP clients
15
+
16
+ ## Quick Start
17
+
18
+ ```bash
19
+ # Install globally
20
+ npm install -g @specverse/mcp
21
+
22
+ # Basic usage
23
+ specverse-mcp --mode local --silent
24
+
25
+ # With orchestrator (advanced)
26
+ specverse-mcp --mode local --enable-orchestrator --silent
27
+
28
+ # Or build from source
29
+ npm run build:local
30
+ node dist/local/server/mcp-server.js --mode local
31
+ ```
32
+
33
+ ## Directory Structure (Phase 3 Optimized)
34
+
35
+ ```
36
+ dist/local/
37
+ ├── server/
38
+ │ └── mcp-server.js # Main executable (chmod +x)
39
+ ├── controllers/
40
+ │ └── MCPServerController.js # Request handling
41
+ ├── services/
42
+ │ ├── HybridResourcesProvider.js # Resource management
43
+ │ ├── LibraryToolsService.js # AI-powered library tools
44
+ │ └── PromptToolsService.js # AI-powered prompt tools
45
+ ├── resources/ # Essential examples only (71KB total)
46
+ │ └── examples/
47
+ │ ├── chat-prompts/ # Terminal/chat examples
48
+ │ └── api-calls/ # API integration examples
49
+ ├── config.json # Local configuration
50
+ └── package.json # Dependencies
51
+ ```
52
+
53
+ **Note**: Schemas, prompts, and library catalogs are now provided through AI tools for better contextual responses.
54
+
55
+ ## Available Tools
56
+
57
+ ### Core AI Tools (8 total)
58
+ 1. `get_creation_prompt` - AI-powered creation prompts
59
+ 2. `get_analysis_prompt` - AI-powered analysis prompts
60
+ 3. `get_implementation_prompt` - AI-powered implementation prompts
61
+ 4. `get_realization_prompt` - AI-powered realization prompts
62
+ 5. `create_spec_prompt` - Alternative creation prompt name
63
+ 6. `mcp_ai_enhance` - Enhanced prompts with library context ⭐ NEW
64
+ 7. `mcp_library_suggest` - Intelligent library suggestions ⭐ NEW
65
+ 8. `mcp_cost_estimate` - Cost estimates for operations ⭐ NEW
66
+
67
+ ### Orchestrator Tools (Optional with --enable-orchestrator)
68
+ - `analyse_codebase` - Full codebase analysis
69
+ - `create_specification` - End-to-end spec creation
70
+ - `infer_specification` - AI-powered inference
71
+ - `materialise_implementation` - Implementation planning
72
+ - `realize_application` - Code generation
73
+ - `get_workflow_status` - Workflow status tracking
74
+
75
+ ### Resources (2 total)
76
+ - `specverse://examples/chat-prompts` - Chat integration examples
77
+ - `specverse://examples/api-calls` - API integration examples
78
+
79
+ ## Configuration
80
+
81
+ ### Basic Configuration
82
+ ```json
83
+ {
84
+ "mode": "local",
85
+ "features": {
86
+ "orchestrator": false,
87
+ "fileSystemResources": true,
88
+ "embeddedResources": false
89
+ },
90
+ "logging": true
91
+ }
92
+ ```
93
+
94
+ ### With Orchestrator
95
+ ```json
96
+ {
97
+ "mode": "local",
98
+ "features": {
99
+ "orchestrator": true,
100
+ "fileSystemResources": true,
101
+ "embeddedResources": false
102
+ },
103
+ "logging": true
104
+ }
105
+ ```
106
+
107
+ ## Claude Desktop Integration
108
+
109
+ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
110
+
111
+ ### Basic
112
+ ```json
113
+ {
114
+ "mcpServers": {
115
+ "specverse": {
116
+ "command": "specverse-mcp",
117
+ "args": ["--mode", "local", "--silent"]
118
+ }
119
+ }
120
+ }
121
+ ```
122
+
123
+ ### With Orchestrator
124
+ ```json
125
+ {
126
+ "mcpServers": {
127
+ "specverse": {
128
+ "command": "specverse-mcp",
129
+ "args": ["--mode", "local", "--enable-orchestrator", "--silent"]
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ ## Phase 3 Improvements
136
+
137
+ ✅ **AI API Integration**: All tools use @specverse/lang for consistency
138
+ ✅ **Contextual Responses**: Intelligent guidance vs raw data dumps
139
+ ✅ **Smaller Package**: 96KB reduction from removing redundant files
140
+ ✅ **Better Performance**: AI-generated responses are more accurate
141
+
142
+ ## Performance
143
+
144
+ - **Startup Time**: ~100ms
145
+ - **Resource Loading**: Sub-millisecond for examples
146
+ - **Tool Execution**: AI API response times (typically 200-2000ms)
147
+ - **Memory Usage**: ~50MB base, +20MB with orchestrator
148
+
149
+ ## Troubleshooting
150
+
151
+ ### Common Issues
152
+
153
+ 1. **Command not found**: Run `npm install -g @specverse/mcp`
154
+ 2. **Permission denied**: Ensure executable permissions on mcp-server.js
155
+ 3. **Claude Desktop not connecting**: Restart after config changes
156
+ 4. **AI tools slow**: Check internet connection for @specverse/lang API calls
157
+
158
+ ### Debug Mode
159
+
160
+ ```bash
161
+ specverse-mcp --mode local --verbose
162
+ ```
163
+
164
+ Provides detailed logging of AI API calls and resource operations.