@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,155 @@
1
+ # SpecVerse v3.3 Implementation Manifest
2
+ # Defines technology stack using implementation types and capability mappings
3
+
4
+ manifests:
5
+ {{projectNameKebab}}Implementation:
6
+ specVersion: "3.3.0"
7
+ name: "{{projectNameKebab}}-implementation"
8
+ version: "1.0.0"
9
+ description: "Development implementation manifest for {{projectName}}"
10
+
11
+ # v3.3: Deployment reference
12
+ deployment:
13
+ deploymentSource: "../specs/main.specly"
14
+ deploymentName: "development"
15
+
16
+ # v3.3: Default technology stack mappings
17
+ defaultMappings:
18
+ storage: "PostgreSQL15"
19
+ controller: "PrismaServices"
20
+ service: "PrismaServices"
21
+ routing: "FastifyAPI"
22
+ orm: "PrismaORM"
23
+ communication: "EventEmitter"
24
+
25
+ # v3.3: Map deployment instance capabilities to implementation types
26
+ capabilityMappings:
27
+ # API Layer - Fastify REST API (routing)
28
+ - capability: "api.rest"
29
+ instanceFactory: "FastifyAPI"
30
+
31
+ # Business Logic Layer - PrismaServices (controllers + services)
32
+ - capability: "service.controller"
33
+ instanceFactory: "PrismaServices"
34
+
35
+ - capability: "service.business"
36
+ instanceFactory: "PrismaServices"
37
+
38
+ - capability: "service.crud"
39
+ instanceFactory: "PrismaServices"
40
+
41
+ # Data Layer - PostgreSQL + Prisma
42
+ - capability: "storage.database"
43
+ instanceFactory: "PostgreSQL15"
44
+
45
+ # ORM - Prisma (schema + client)
46
+ - capability: "orm.schema"
47
+ instanceFactory: "PrismaORM"
48
+
49
+ - capability: "orm.client"
50
+ instanceFactory: "PrismaORM"
51
+
52
+ - capability: "orm.prisma"
53
+ instanceFactory: "PrismaORM"
54
+
55
+ # Events - In-memory for development
56
+ - capability: "messaging.pubsub"
57
+ instanceFactory: "EventEmitter"
58
+
59
+ - capability: "messaging.events"
60
+ instanceFactory: "EventEmitter"
61
+
62
+ # Validation - Zod
63
+ - capability: "validation.runtime"
64
+ instanceFactory: "ZodValidation"
65
+
66
+ - capability: "validation.schema"
67
+ instanceFactory: "ZodValidation"
68
+
69
+ # Project Scaffolding (generates package.json, tsconfig.json, etc.)
70
+ - capability: "project.scaffold"
71
+ instanceFactory: "GenericScaffold"
72
+
73
+ # Application Entry Point (generates src/main.ts)
74
+ - capability: "app.entrypoint"
75
+ instanceFactory: "GenericApp"
76
+
77
+ # v3.3: Configuration section
78
+ configuration:
79
+ # Environment-specific settings
80
+ environments:
81
+ development:
82
+ database:
83
+ provider: "postgresql"
84
+ url: "postgresql://localhost:5432/{{projectNameKebab}}_dev"
85
+ server:
86
+ port: 3000
87
+ host: "localhost"
88
+ logLevel: "debug"
89
+ features:
90
+ hotReload: true
91
+ debugMode: true
92
+
93
+ test:
94
+ database:
95
+ provider: "postgresql"
96
+ url: "postgresql://localhost:5432/{{projectNameKebab}}_test"
97
+ server:
98
+ port: 3001
99
+ host: "localhost"
100
+ logLevel: "silent"
101
+
102
+ production:
103
+ database:
104
+ provider: "postgresql"
105
+ url: "${DATABASE_URL}"
106
+ server:
107
+ port: "${PORT:-8080}"
108
+ host: "0.0.0.0"
109
+ logLevel: "info"
110
+ middleware:
111
+ rateLimit:
112
+ max: 1000
113
+ timeWindow: "1 minute"
114
+ compression: true
115
+
116
+ # Authentication configuration
117
+ authentication:
118
+ enabled: true
119
+ provider: "jwt"
120
+ secret: "${JWT_SECRET}"
121
+ expiresIn: "7d"
122
+
123
+ # CORS configuration
124
+ cors:
125
+ origin: "*" # Change to specific domains in production
126
+ credentials: true
127
+ methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
128
+
129
+ # Validation configuration
130
+ validation:
131
+ enabled: true
132
+ provider: "zod"
133
+ stripUnknown: true
134
+ abortEarly: false
135
+
136
+ # Logging configuration
137
+ logging:
138
+ level: "info"
139
+ pretty: true
140
+ destinations:
141
+ - type: "console"
142
+ - type: "file"
143
+ path: "logs/{{projectNameKebab}}.log"
144
+
145
+ # Code generation options
146
+ generation:
147
+ outputDir: "./generated/code"
148
+ typescript: true
149
+ validation: true
150
+ tests: false
151
+ documentation: true
152
+ metadata:
153
+ idStrategy: "uuid"
154
+ auditFields: true
155
+ softDeleteStrategy: "deletedAt"
@@ -0,0 +1,140 @@
1
+ # Kubernetes Implementation Manifest
2
+ # SpecVerse v3.3 manifest specification for Kubernetes deployment
3
+
4
+ manifests:
5
+ KubernetesManifest:
6
+ specVersion: "3.3.0"
7
+ name: "{{componentName}}KubernetesManifest"
8
+ version: "1.0.0"
9
+ description: "Kubernetes implementation manifest for {{projectName}}"
10
+
11
+ # v3.3: Deployment reference (REQUIRED)
12
+ deployment:
13
+ deploymentSource: "./specs/main.specly"
14
+ deploymentName: "production"
15
+
16
+ # v3.3: Default technology mappings
17
+ defaultMappings:
18
+ storage: "PostgreSQL15"
19
+ controller: "KubernetesApp"
20
+
21
+ # v3.3: Capability to implementation factory mappings
22
+ capabilityMappings:
23
+ - capability: "api.*"
24
+ instanceFactory: "KubernetesController"
25
+
26
+ - capability: "database.*"
27
+ instanceFactory: "KubernetesDatabase"
28
+
29
+ - capability: "networking.*"
30
+ instanceFactory: "KubernetesService"
31
+
32
+ # v3.3: Instance-specific mappings (optional - for fine-grained control)
33
+ instanceMappings:
34
+ - instanceName: "webApp"
35
+ instanceFactory: "KubernetesController"
36
+
37
+ - instanceName: "appDatabase"
38
+ instanceFactory: "KubernetesDatabase"
39
+
40
+ - instanceName: "webService"
41
+ instanceFactory: "KubernetesService"
42
+
43
+ # v3.3: Platform-specific configuration
44
+ configuration:
45
+ # Kubernetes specific settings
46
+ clusterVersion: "v1.28"
47
+
48
+ # Implementation factory definitions
49
+ implementationFactories:
50
+ KubernetesController:
51
+ type: "controller"
52
+ technology: "kubernetes"
53
+ framework: "deployment"
54
+ config:
55
+ apiVersion: "apps/v1"
56
+ kind: "Deployment"
57
+ replicas: 3
58
+ image: "{{projectNameKebab}}:latest"
59
+ containerPort: 3000
60
+ resources:
61
+ requests:
62
+ memory: "128Mi"
63
+ cpu: "100m"
64
+ limits:
65
+ memory: "256Mi"
66
+ cpu: "200m"
67
+
68
+ KubernetesDatabase:
69
+ type: "database"
70
+ technology: "postgresql"
71
+ framework: "kubernetes-operator"
72
+ config:
73
+ apiVersion: "postgresql.cnpg.io/v1"
74
+ kind: "Cluster"
75
+ instances: 3
76
+ postgresql:
77
+ parameters:
78
+ max_connections: "100"
79
+ shared_buffers: "128MB"
80
+ storage:
81
+ size: "10Gi"
82
+ storageClass: "fast-ssd"
83
+
84
+ KubernetesService:
85
+ type: "service"
86
+ technology: "kubernetes"
87
+ framework: "service"
88
+ config:
89
+ apiVersion: "v1"
90
+ kind: "Service"
91
+ serviceType: "ClusterIP"
92
+ ports:
93
+ - port: 80
94
+ targetPort: 3000
95
+ protocol: "TCP"
96
+
97
+ # Horizontal Pod Autoscaling
98
+ scaling:
99
+ horizontal:
100
+ enabled: true
101
+ minReplicas: 3
102
+ maxReplicas: 10
103
+ targetCPUUtilization: 70
104
+
105
+ # Monitoring configuration
106
+ monitoring:
107
+ prometheus: true
108
+ grafana: true
109
+ alerts:
110
+ - name: "high-cpu"
111
+ threshold: "80%"
112
+ - name: "high-memory"
113
+ threshold: "85%"
114
+
115
+ # Namespace configuration
116
+ namespace:
117
+ strategy: "environment-based"
118
+ name: "{{projectNameKebab}}"
119
+ description: "Production application namespace"
120
+ isolation: "strict"
121
+ resourceLimits:
122
+ cpu: "2"
123
+ memory: "4Gi"
124
+ storage: "50Gi"
125
+ securityPolicy: "restricted"
126
+
127
+ # AI implementation instructions
128
+ aiInstructions: |
129
+ When implementing this Kubernetes deployment:
130
+
131
+ 1. **Production Ready**: Configured for production with multiple replicas
132
+ 2. **Resource Management**: CPU and memory limits defined
133
+ 3. **Horizontal Scaling**: HPA configured for automatic scaling
134
+ 4. **Database**: PostgreSQL with operator for high availability
135
+ 5. **Networking**: ClusterIP service for internal communication
136
+ 6. **Security**: Restricted security policy and namespace isolation
137
+ 7. **Monitoring**: Prometheus and Grafana integration
138
+ 8. **Storage**: Persistent volumes for database data
139
+ 9. **Health Checks**: Configure readiness and liveness probes
140
+ 10. **Secrets**: Use Kubernetes secrets for sensitive data
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "{{projectNameKebab}}",
3
+ "version": "0.1.0",
4
+ "description": "{{projectName}} - SpecVerse Project",
5
+ "scripts": {
6
+ "validate": "specverse validate specs/main.specly",
7
+ "validate:all": "npm run validate && npm run validate:manifests",
8
+ "validate:manifests": "specverse validate manifests/docker-compose.specly && specverse validate manifests/kubernetes.specly",
9
+ "infer": "specverse infer specs/main.specly -o generated/{{projectNameKebab}}-complete.specly",
10
+ "infer:deployment": "specverse infer specs/main.specly --deployment --environment development -o generated/{{projectNameKebab}}-deployed.specly",
11
+ "infer:deployment:prod": "specverse infer specs/main.specly --deployment --environment production -o generated/{{projectNameKebab}}-deployed-prod.specly",
12
+ "infer:docs": "specverse gen docs generated/{{projectNameKebab}}-complete.specly --output generated/docs/complete-docs.md && specverse gen diagram generated/{{projectNameKebab}}-complete.specly --output generated/docs/complete-diagrams",
13
+ "infer:deployment:docs": "specverse gen docs generated/{{projectNameKebab}}-deployed.specly --output generated/docs/deployed-docs.md && specverse gen diagram generated/{{projectNameKebab}}-deployed.specly --output generated/docs/deployed-diagrams",
14
+ "infer:deployment:prod:docs": "specverse gen docs generated/{{projectNameKebab}}-deployed-prod.specly --output generated/docs/deployed-prod-docs.md && specverse gen diagram generated/{{projectNameKebab}}-deployed-prod.specly --output generated/docs/deployed-prod-diagrams",
15
+ "generate:diagrams": "specverse gen diagram specs/main.specly --output docs/diagrams",
16
+ "generate:diagram:er": "specverse gen diagram specs/main.specly -t er-diagram -o docs/diagrams/er-diagram.mmd",
17
+ "generate:diagram:event-flow": "specverse gen diagram specs/main.specly -t event-flow-layered -o docs/diagrams/event-flow-layered.mmd",
18
+ "generate:diagram:lifecycle": "specverse gen diagram specs/main.specly -t lifecycle -o docs/diagrams/lifecycle.mmd",
19
+ "generate:diagram:deployment": "specverse gen diagram specs/main.specly -t deployment-topology -o docs/diagrams/deployment.mmd",
20
+ "generate:diagram:architecture": "specverse gen diagram specs/main.specly -t model-architecture -o docs/diagrams/architecture.mmd",
21
+ "generate:docs": "specverse gen docs specs/main.specly --output docs/main-docs.md",
22
+ "generate:complete": "npm run infer && npm run infer:docs",
23
+ "process": "specverse gen yaml specs/main.specly -o generated/{{projectNameKebab}}-processed.yaml",
24
+ "format": "specverse dev format specs/main.specly --write",
25
+ "build": "npm run validate && npm run infer",
26
+ "build:full": "npm run validate && npm run infer:deployment && npm run generate:diagrams",
27
+ "build:complete": "npm run validate && npm run infer && npm run infer:deployment && npm run generate:diagrams && npm run generate:docs",
28
+ "dev": "npm run validate && npm run infer",
29
+ "test": "./scripts/test-all.sh",
30
+ "realize:orm": "specverse realize orm specs/main.specly -m manifests/implementation.yaml",
31
+ "realize:services": "specverse realize services specs/main.specly -m manifests/implementation.yaml",
32
+ "realize:routes": "specverse realize routes specs/main.specly -m manifests/implementation.yaml",
33
+ "realize:all": "specverse realize all specs/main.specly -m manifests/implementation.yaml -o generated/code",
34
+ "test:generated:compile": "cd generated/code && npx tsc --noEmit --skipLibCheck 2>&1 || echo 'TypeScript compilation check (some errors expected without npm install)'",
35
+ "test:generated:run": "cd generated/code && npm install && npm run db:generate && echo 'Generated code is ready to run with: npm run dev'",
36
+ "_comment_realize": "Use 'realize:all' to generate complete runnable project (ORM, services, routes, scaffolding, main.ts)",
37
+ "_comment_generated": "After realize:all, run 'test:generated:run' to set up the generated project"
38
+ },
39
+ "keywords": ["specverse", "specification", "ai", "inference"],
40
+ "devDependencies": {
41
+ },
42
+ "engines": {
43
+ "node": ">=18.0.0"
44
+ }
45
+ }
@@ -0,0 +1,160 @@
1
+ #!/bin/bash
2
+
3
+ # SpecVerse Comprehensive Test Script
4
+ # Tests all commands and validates generated specifications
5
+
6
+ set -e # Exit on any error
7
+
8
+ echo "🚀 Starting comprehensive SpecVerse test..."
9
+
10
+ # Create necessary directories
11
+ mkdir -p generated docs/diagrams generated/docs generated/code
12
+
13
+ # Step 1: Validate original specification
14
+ echo "📋 Step 1: Validating original specification..."
15
+ npm run validate
16
+
17
+ # Step 2: Generate complete specification and validate it
18
+ echo "🧠 Step 2: Generating and validating complete specification..."
19
+ npm run infer
20
+ specverse validate generated/{{projectNameKebab}}-complete.specly
21
+
22
+ # Step 3: Generate development deployment and validate it
23
+ echo "🏗️ Step 3: Generating and validating development deployment..."
24
+ npm run infer:deployment
25
+ specverse validate generated/{{projectNameKebab}}-deployed.specly
26
+
27
+ # Step 4: Generate production deployment and validate it
28
+ echo "🏭 Step 4: Generating and validating production deployment..."
29
+ npm run infer:deployment:prod
30
+ specverse validate generated/{{projectNameKebab}}-deployed-prod.specly
31
+
32
+ # Step 5: Generate documentation and diagrams for original spec
33
+ echo "📚 Step 5: Generating docs and diagrams for original specification..."
34
+ npm run generate:docs
35
+ npm run generate:diagrams
36
+
37
+ # Step 6: Generate documentation for all inferred specifications
38
+ echo "📖 Step 6: Generating docs for all inferred specifications..."
39
+ npm run infer:docs
40
+ npm run infer:deployment:docs
41
+ npm run infer:deployment:prod:docs
42
+
43
+ # Step 7: Test YAML processing
44
+ echo "⚙️ Step 7: Testing YAML processing..."
45
+ npm run process
46
+
47
+ # Step 8: Test v3.3 Code Realization (NEW)
48
+ echo "🔧 Step 8: Testing v3.3 code realization..."
49
+ echo " → Generating complete runnable project..."
50
+ npm run realize:all
51
+
52
+ # Verify generated project structure
53
+ echo " → Verifying generated project..."
54
+ if [ -f "generated/code/package.json" ]; then
55
+ echo " ✅ package.json generated"
56
+ fi
57
+
58
+ if [ -f "generated/code/tsconfig.json" ]; then
59
+ echo " ✅ tsconfig.json generated"
60
+ fi
61
+
62
+ if [ -f "generated/code/.env.example" ]; then
63
+ echo " ✅ .env.example generated"
64
+ fi
65
+
66
+ if [ -f "generated/code/README.md" ]; then
67
+ echo " ✅ README.md generated"
68
+ fi
69
+
70
+ # Check for backend structure
71
+ if [ -d "generated/code/backend" ]; then
72
+ echo " ✅ Backend directory generated"
73
+
74
+ if [ -f "generated/code/backend/src/main.ts" ]; then
75
+ echo " ✅ Backend entry point (backend/src/main.ts) generated"
76
+ fi
77
+
78
+ # Check for ORM schema (Prisma for default template)
79
+ if [ -f "generated/code/backend/prisma/schema.prisma" ]; then
80
+ echo " ✅ Prisma ORM schema generated"
81
+ elif [ -d "generated/code/backend/src/entities" ] || [ -d "generated/code/backend/src/models" ]; then
82
+ echo " ✅ ORM schema generated"
83
+ fi
84
+
85
+ if [ -d "generated/code/backend/src/controllers" ]; then
86
+ echo " ✅ Controllers generated"
87
+ fi
88
+
89
+ if [ -d "generated/code/backend/src/routes" ]; then
90
+ echo " ✅ Route handlers generated"
91
+ fi
92
+ fi
93
+
94
+ # Check for frontend structure
95
+ if [ -d "generated/code/frontend" ]; then
96
+ echo " ✅ Frontend directory generated"
97
+
98
+ if [ -f "generated/code/frontend/src/main.tsx" ]; then
99
+ echo " ✅ Frontend entry point (frontend/src/main.tsx) generated"
100
+ fi
101
+
102
+ if [ -d "generated/code/frontend/src/components" ]; then
103
+ echo " ✅ React components generated"
104
+ fi
105
+ fi
106
+
107
+ # Check for v3.3 CURVED features in generated code
108
+ if [ -d "generated/code/backend/src/controllers" ]; then
109
+ # Check for unified validation method (v3.3)
110
+ if grep -q "validate(.*context.*operation" generated/code/backend/src/controllers/*.ts 2>/dev/null; then
111
+ echo " ✅ v3.3 unified validation method present"
112
+ fi
113
+
114
+ # Check for delete operation (not destroy)
115
+ if grep -q "async delete(id:" generated/code/backend/src/controllers/*.ts 2>/dev/null; then
116
+ echo " ✅ v3.3 delete operation present (CURVED)"
117
+ fi
118
+
119
+ # Check for retrieveAll method (list operation)
120
+ if grep -q "async retrieveAll" generated/code/backend/src/controllers/*.ts 2>/dev/null; then
121
+ echo " ✅ v3.3 retrieveAll method present (CURVED)"
122
+ fi
123
+ fi
124
+
125
+ # Check for validate endpoint in routes
126
+ if [ -d "generated/code/backend/src/routes" ]; then
127
+ if grep -q "'/validate'" generated/code/backend/src/routes/*.ts 2>/dev/null; then
128
+ echo " ✅ v3.3 validate endpoint present (CURVED)"
129
+ fi
130
+ fi
131
+
132
+ echo ""
133
+ echo "✅ All SpecVerse commands tested successfully!"
134
+ echo "✅ All generated specifications are valid and documented."
135
+ echo ""
136
+ echo "📊 Test Summary:"
137
+ echo " - Original specification: validated"
138
+ echo " - Complete specification: generated and validated"
139
+ echo " - Development deployment: generated and validated"
140
+ echo " - Production deployment: generated and validated"
141
+ echo " - Documentation: generated for all specifications"
142
+ echo " - Diagrams: generated for all specifications"
143
+ echo " - YAML processing: tested"
144
+ echo " - v3.3 Code realization: tested"
145
+ echo " - Complete runnable project: generated"
146
+ echo ""
147
+ echo "🎉 SpecVerse workflow is fully functional!"
148
+ echo ""
149
+ echo "💡 Next steps:"
150
+ echo " To run the generated full-stack application:"
151
+ echo " 1. cd /path/to/project (if not already there)"
152
+ echo " 2. npm run genAll (if not already run - installs deps and sets up DB)"
153
+ echo " 3. npm run app:build (build TypeScript)"
154
+ echo " 4. npm run app:dev:backend (Terminal 1 - starts backend on :3000)"
155
+ echo " 5. npm run app:dev:frontend (Terminal 2 - starts frontend on :5173)"
156
+ echo ""
157
+ echo " Or run 'npm run app:dev' to see detailed instructions"
158
+ echo ""
159
+ echo " Backend API: http://localhost:3000/api/{{componentNameKebab}}s"
160
+ echo " Frontend UI: http://localhost:5173"
@@ -0,0 +1,165 @@
1
+ #!/bin/bash
2
+
3
+ # Test Generated Code Runtime Execution
4
+ # Tests that generated code actually compiles and runs
5
+
6
+ set -e # Exit on any error
7
+
8
+ echo "🧪 Testing Generated Code Execution..."
9
+ echo ""
10
+
11
+ # Check if code has been generated
12
+ if [ ! -d "generated/code/services" ]; then
13
+ echo "⚠️ No generated code found. Running generators first..."
14
+ npm run generate:code
15
+ fi
16
+
17
+ echo "📦 Step 1: Setting up runtime environment..."
18
+
19
+ # Create runtime package.json if it doesn't exist
20
+ if [ ! -f "generated/code/package.json" ]; then
21
+ echo " → Creating package.json for generated code..."
22
+ cat > generated/code/package.json << 'EOF'
23
+ {
24
+ "name": "generated-code-runtime",
25
+ "version": "0.1.0",
26
+ "type": "module",
27
+ "dependencies": {
28
+ "@prisma/client": "^5.0.0",
29
+ "typeorm": "^0.3.17",
30
+ "reflect-metadata": "^0.1.13",
31
+ "better-sqlite3": "^9.0.0"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^20.0.0",
35
+ "typescript": "^5.2.0",
36
+ "tsx": "^3.12.0"
37
+ }
38
+ }
39
+ EOF
40
+ fi
41
+
42
+ # Create tsconfig.json if it doesn't exist
43
+ if [ ! -f "generated/code/tsconfig.json" ]; then
44
+ echo " → Creating tsconfig.json for generated code..."
45
+ cat > generated/code/tsconfig.json << 'EOF'
46
+ {
47
+ "compilerOptions": {
48
+ "target": "ES2022",
49
+ "module": "ESNext",
50
+ "lib": ["ES2022"],
51
+ "moduleResolution": "node",
52
+ "esModuleInterop": true,
53
+ "skipLibCheck": true,
54
+ "strict": true,
55
+ "resolveJsonModule": true,
56
+ "declaration": true,
57
+ "outDir": "./dist",
58
+ "rootDir": ".",
59
+ "experimentalDecorators": true,
60
+ "emitDecoratorMetadata": true
61
+ },
62
+ "include": ["**/*.ts"],
63
+ "exclude": ["node_modules", "dist"]
64
+ }
65
+ EOF
66
+ fi
67
+
68
+ echo " ✅ Runtime environment configured"
69
+ echo ""
70
+
71
+ echo "🔧 Step 2: Checking TypeScript compilation..."
72
+
73
+ cd generated/code
74
+
75
+ # Check if dependencies are installed
76
+ if [ ! -d "node_modules" ]; then
77
+ echo " → Installing dependencies (this may take a minute)..."
78
+ npm install --silent 2>&1 | grep -v "^npm WARN" || true
79
+ fi
80
+
81
+ # Try to compile TypeScript
82
+ echo " → Compiling TypeScript..."
83
+ if npx tsc --noEmit 2>&1 | tee compile.log; then
84
+ echo " ✅ TypeScript compilation successful"
85
+ COMPILE_STATUS="✅ PASSED"
86
+ else
87
+ echo " ⚠️ TypeScript compilation has errors (expected - missing runtime setup)"
88
+ echo " 📝 See generated/code/compile.log for details"
89
+ COMPILE_STATUS="⚠️ NEEDS SETUP"
90
+ fi
91
+
92
+ cd ../..
93
+
94
+ echo ""
95
+ echo "🔍 Step 3: Analyzing generated code quality..."
96
+
97
+ # Check for v3.3 features in generated code
98
+ echo " → Checking for v3.3 features..."
99
+
100
+ FEATURES_FOUND=0
101
+
102
+ if grep -q "validate(data: any, context:" generated/code/services/*.ts 2>/dev/null; then
103
+ echo " ✅ Unified validation method found"
104
+ ((FEATURES_FOUND++))
105
+ fi
106
+
107
+ if grep -q "version mismatch" generated/code/services/*.ts 2>/dev/null; then
108
+ echo " ✅ Optimistic locking found"
109
+ ((FEATURES_FOUND++))
110
+ fi
111
+
112
+ if grep -q "deletedAt: null\|isDeleted: false" generated/code/services/*.ts 2>/dev/null; then
113
+ echo " ✅ Soft delete filtering found"
114
+ ((FEATURES_FOUND++))
115
+ fi
116
+
117
+ if grep -q "createdAt\|updatedAt" generated/code/services/*.ts 2>/dev/null; then
118
+ echo " ✅ Audit fields found"
119
+ ((FEATURES_FOUND++))
120
+ fi
121
+
122
+ if grep -q "EventBus\|eventBus" generated/code/services/*.ts 2>/dev/null; then
123
+ echo " ✅ Event publishing found"
124
+ ((FEATURES_FOUND++))
125
+ fi
126
+
127
+ echo ""
128
+ echo "📊 Step 4: Code Quality Report"
129
+ echo " ════════════════════════════════════════"
130
+
131
+ # Count generated files
132
+ SERVICE_COUNT=$(find generated/code/services -name "*.ts" 2>/dev/null | wc -l | tr -d ' ')
133
+ ROUTE_COUNT=$(find generated/code/routes -name "*.js" -o -name "*.ts" 2>/dev/null | wc -l | tr -d ' ')
134
+
135
+ echo " Files Generated:"
136
+ echo " Services: $SERVICE_COUNT"
137
+ echo " Routes: $ROUTE_COUNT"
138
+ echo ""
139
+ echo " v3.3 Features: $FEATURES_FOUND/5 detected"
140
+ echo " Compilation: $COMPILE_STATUS"
141
+ echo ""
142
+
143
+ # Show service structure
144
+ if [ -d "generated/code/services" ] && [ -n "$(ls -A generated/code/services/*.ts 2>/dev/null)" ]; then
145
+ echo " Service Structure:"
146
+ for file in generated/code/services/*.ts; do
147
+ if [ -f "$file" ]; then
148
+ SERVICE_NAME=$(basename "$file" .service.ts)
149
+ METHOD_COUNT=$(grep -c "async\s\+\w\+(.*)" "$file" || echo "0")
150
+ echo " $(basename "$file"): $METHOD_COUNT methods"
151
+ fi
152
+ done
153
+ echo ""
154
+ fi
155
+
156
+ echo "✅ Generated Code Analysis Complete!"
157
+ echo ""
158
+ echo "📝 Next Steps to Run Generated Code:"
159
+ echo " 1. cd generated/code"
160
+ echo " 2. npm install"
161
+ echo " 3. Set up database (Prisma: npx prisma generate && npx prisma migrate dev)"
162
+ echo " 4. Create server entry point (services/index.ts)"
163
+ echo " 5. npm run start:dev"
164
+ echo ""
165
+ echo "💡 Tip: See generated/code/compile.log for compilation details"