@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,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,59 @@
1
+ {
2
+ "name": "{{projectNameKebab}}",
3
+ "version": "0.1.0",
4
+ "description": "{{projectName}} - SpecVerse Project",
5
+ "scripts": {
6
+ "_comment_workflow": "=== Main Workflow ===",
7
+ "genAll": "npm run realize:all && echo '\n✅ Code generation complete!\n' && echo '📦 Installing dependencies...\n' && cd generated/code && npm install && echo '\n🗄️ Setting up database...\n' && npm run db:setup && echo '\n✅ Setup complete! Next steps:\n' && echo ' npm run app:build # Build the project' && echo ' npm run app:test # Run tests' && echo ' npm run app:start # Start production server' && echo ' npm run app:dev # Start development server\n'",
8
+ "app:build": "if [ -d generated/code ]; then cd generated/code && npm run build; else echo '❌ No generated code found. Run: npm run genAll'; exit 1; fi",
9
+ "app:test": "if [ -d generated/code ]; then cd generated/code && npm test; else echo '❌ No generated code found. Run: npm run genAll'; exit 1; fi",
10
+ "app:start": "if [ -d generated/code ]; then cd generated/code && npm start; else echo '❌ No generated code found. Run: npm run genAll'; exit 1; fi",
11
+ "app:dev": "if [ -d generated/code ]; then cd generated/code && npm run dev; else echo '❌ No generated code found. Run: npm run genAll'; exit 1; fi",
12
+
13
+ "_comment_validation": "=== Validation ===",
14
+ "validate": "specverse validate specs/main.specly",
15
+ "validate:all": "npm run validate && npm run validate:manifests",
16
+ "validate:manifests": "specverse validate manifests/docker-compose.specly && specverse validate manifests/kubernetes.specly",
17
+
18
+ "_comment_inference": "=== AI Inference ===",
19
+ "infer": "specverse infer specs/main.specly -o generated/{{projectNameKebab}}-complete.specly",
20
+ "infer:deployment": "specverse infer specs/main.specly --deployment --environment development -o generated/{{projectNameKebab}}-deployed.specly",
21
+ "infer:deployment:prod": "specverse infer specs/main.specly --deployment --environment production -o generated/{{projectNameKebab}}-deployed-prod.specly",
22
+
23
+ "_comment_generation": "=== Generation ===",
24
+ "generate:docs": "specverse gen docs specs/main.specly --output docs/main-docs.md",
25
+ "generate:diagrams": "specverse gen diagram specs/main.specly --output docs/diagrams",
26
+ "generate:diagram:er": "specverse gen diagram specs/main.specly -t er-diagram -o docs/diagrams/er-diagram.mmd",
27
+ "generate:diagram:event-flow": "specverse gen diagram specs/main.specly -t event-flow-layered -o docs/diagrams/event-flow-layered.mmd",
28
+ "generate:diagram:lifecycle": "specverse gen diagram specs/main.specly -t lifecycle -o docs/diagrams/lifecycle.mmd",
29
+ "generate:diagram:deployment": "specverse gen diagram specs/main.specly -t deployment-topology -o docs/diagrams/deployment.mmd",
30
+ "generate:diagram:architecture": "specverse gen diagram specs/main.specly -t model-architecture -o docs/diagrams/architecture.mmd",
31
+ "generate:complete": "npm run infer && npm run infer:docs",
32
+
33
+ "_comment_inference_docs": "=== Inference Documentation ===",
34
+ "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",
35
+ "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",
36
+ "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",
37
+
38
+ "_comment_realization": "=== Code Realization (v3.3) ===",
39
+ "realize:orm": "specverse realize orm specs/main.specly -m manifests/implementation.yaml",
40
+ "realize:services": "specverse realize services specs/main.specly -m manifests/implementation.yaml",
41
+ "realize:routes": "specverse realize routes specs/main.specly -m manifests/implementation.yaml",
42
+ "realize:all": "specverse realize all specs/main.specly -m manifests/implementation.yaml -o generated/code",
43
+
44
+ "_comment_utilities": "=== Utilities ===",
45
+ "process": "specverse gen yaml specs/main.specly -o generated/{{projectNameKebab}}-processed.yaml",
46
+ "format": "specverse dev format specs/main.specly --write",
47
+
48
+ "_comment_testing": "=== Testing ===",
49
+ "test:all": "./scripts/test-all.sh",
50
+ "test:generated:compile": "cd generated/code && npx tsc --noEmit --skipLibCheck 2>&1 || echo 'TypeScript compilation check (some errors expected without npm install)'",
51
+ "test:generated:run": "cd generated/code && npm install && npm run db:generate && echo 'Generated code is ready to run with: npm run dev'"
52
+ },
53
+ "keywords": ["specverse", "specification", "ai", "inference"],
54
+ "devDependencies": {
55
+ },
56
+ "engines": {
57
+ "node": ">=18.0.0"
58
+ }
59
+ }
@@ -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"
@@ -0,0 +1,57 @@
1
+ # SpecVerse Frontend-Only Application
2
+ # A React SPA that connects to an external API - perfect for JAMstack and frontend-first development
3
+ #
4
+ # To use:
5
+ # 1. Configure API_BASE_URL in .env
6
+ # 2. Run: npm run realize:all
7
+ # 3. Run: cd generated/code && npm install
8
+ # 4. Run: npm run dev
9
+ # 5. Open: http://localhost:5173
10
+
11
+ components:
12
+ {{componentName}}:
13
+ version: "1.0.0"
14
+ description: "{{projectName}} - Frontend Application"
15
+ tags: ["frontend", "react", "spa"]
16
+
17
+ models:
18
+ Product:
19
+ description: "Product from external API"
20
+
21
+ attributes:
22
+ id: UUID required
23
+ name: String required
24
+ description: Text
25
+ price: Decimal required
26
+ category: String
27
+ inStock: Boolean default=true
28
+
29
+ views:
30
+ ProductListView:
31
+ description: "Browse all products"
32
+ model: Product
33
+ uiComponents:
34
+ ProductGrid: {}
35
+ ProductFilters: {}
36
+
37
+ ProductDetailView:
38
+ description: "View product details"
39
+ model: Product
40
+ uiComponents:
41
+ ProductInfo: {}
42
+ AddToCart: {}
43
+
44
+ deployments:
45
+ development:
46
+ version: "1.0.0"
47
+ description: "{{projectName}} development environment"
48
+ environment: "development"
49
+
50
+ instances:
51
+ controllers:
52
+ uiServer:
53
+ component: {{componentName}}
54
+ namespace: ui
55
+ scale: 1
56
+ advertises: [ui.*]
57
+ uses: [api.*]
@@ -0,0 +1,60 @@
1
+ # SpecVerse AI Development Guide
2
+
3
+ **📖 This guide has been superseded by the comprehensive guide.**
4
+
5
+ ## Updated Documentation Location
6
+
7
+ For complete SpecVerse AI development guidance, please see:
8
+
9
+ **SPECVERSE-COMPLETE-GUIDE.md** in your SpecVerse installation:
10
+ - **Local development**: `node_modules/@specverse/lang/schema/SPECVERSE-COMPLETE-GUIDE.md`
11
+ - **Global installation**: Run `specverse docs` to view the guide
12
+ - **Online**: [SpecVerse Documentation](https://specverse.org/guide)
13
+
14
+ The complete guide includes everything from this legacy guide plus:
15
+
16
+ ## Enhanced Content
17
+
18
+ - **Complete structure reference** - Every schema element documented
19
+ - **Practical examples** - From simple blog to enterprise SaaS
20
+ - **Convention syntax patterns** - Full shorthand reference
21
+ - **AI development workflows** - Step-by-step AI operation guidance
22
+ - **Deployment patterns** - Real-world deployment configurations for all scales
23
+ - **Command reference** - All CLI commands in one place
24
+ - **Best practices** - Common pitfalls and recommendations
25
+ - **Type reference** - Complete primitive and format types
26
+ - **Manifest system** - Implementation guidance patterns
27
+
28
+ ## Quick Reference for AI Assistants
29
+
30
+ ### Key Principles
31
+ 1. Use conventions: `attributeName: TypeName modifiers` for 90% of attributes
32
+ 2. Component names: PascalCase (UserManagement, PaymentService)
33
+ 3. Start minimal: Let AI inference expand to complete architecture
34
+ 4. Scale appropriately: Personal ≠ Enterprise complexity
35
+
36
+ ### Quick Syntax Reference
37
+
38
+ For working examples showing all essential SpecVerse syntax patterns:
39
+ **`node_modules/@specverse/lang/schema/MINIMAL-SYNTAX-REFERENCE.specly`**
40
+
41
+ This auto-generated file demonstrates core concepts with practical examples.
42
+
43
+ ### Essential Commands
44
+ ```bash
45
+ # Validate specification
46
+ specverse validate specs/main.specly
47
+
48
+ # Generate complete architecture with AI inference
49
+ specverse infer specs/main.specly -o specs/complete.specly
50
+
51
+ # Generate all outputs
52
+ specverse gen all specs/main.specly
53
+ ```
54
+
55
+ ## Migration Note
56
+
57
+ The legacy AI-GUIDE.md has been archived to `archive/AI-GUIDE-legacy.md` for reference.
58
+
59
+ ---
60
+ *For comprehensive guidance, see SPECVERSE-COMPLETE-GUIDE.md in your SpecVerse installation*