@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,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,67 @@
1
+ # SpecVerse Hello World
2
+ # The simplest possible SpecVerse application with a view
3
+ #
4
+ # To use:
5
+ # 1. Run: npm run realize:all
6
+ # 2. Run: cd generated/code && npm install
7
+ # 3. Check generated/code/README.md for setup instructions
8
+ # 4. Run: npm run dev
9
+ # 5. Test: curl http://localhost:3000/api/greetings
10
+
11
+ components:
12
+ {{componentName}}:
13
+ version: "1.0.0"
14
+ description: "Hello World - The simplest SpecVerse application"
15
+ tags: ["hello-world", "starter", "minimal"]
16
+
17
+ models:
18
+ Greeting:
19
+ description: "A simple greeting message"
20
+
21
+ metadata:
22
+ id: uuid
23
+ audit: true
24
+
25
+ attributes:
26
+ message: String required default="Hello World"
27
+ language: String default="en" values=["en", "es", "fr", "de"]
28
+
29
+ controllers:
30
+ GreetingController:
31
+ model: Greeting
32
+ description: "Serves greeting messages"
33
+
34
+ cured:
35
+ create: {}
36
+ retrieve: {}
37
+
38
+ views:
39
+ GreetingView:
40
+ description: "Displays greeting messages"
41
+ model: Greeting
42
+ uiComponents:
43
+ GreetingDisplay: {}
44
+ LanguageSelector: {}
45
+
46
+ deployments:
47
+ development:
48
+ version: "1.0.0"
49
+ description: "Hello World development environment"
50
+ environment: "development"
51
+
52
+ instances:
53
+ controllers:
54
+ apiServer:
55
+ component: {{componentName}}
56
+ namespace: api
57
+ scale: 1
58
+ advertises: [api.*]
59
+ uses: [database.*]
60
+
61
+ storage:
62
+ mainDB:
63
+ component: {{componentName}}
64
+ namespace: data
65
+ type: relational
66
+ scale: 1
67
+ advertises: [persistence.*]
@@ -0,0 +1,75 @@
1
+ # {{projectName}} - Frontend Development Guide
2
+
3
+ Frontend-only SpecVerse project for React SPA development.
4
+
5
+ ## Project Type
6
+
7
+ **Frontend Only** - No backend generation
8
+ - React + TypeScript + Vite
9
+ - React Query for data fetching
10
+ - Connects to external API
11
+ - Standalone deployment structure
12
+
13
+ ## Quick Commands
14
+
15
+ ```bash
16
+ # Generate frontend code
17
+ npm run realize:all
18
+
19
+ # Setup and run
20
+ cd generated/code
21
+ npm install
22
+ npm run dev
23
+
24
+ # Open browser
25
+ open http://localhost:5173
26
+ ```
27
+
28
+ ## File Structure
29
+
30
+ ```
31
+ {{projectName}}/
32
+ ├── specs/main.specly # UI specification
33
+ ├── manifests/implementation.yaml # Frontend-only manifest
34
+ └── generated/code/ # Standalone React app
35
+ ├── src/ # React components
36
+ ├── index.html # HTML entry point
37
+ ├── vite.config.ts # Vite configuration
38
+ └── package.json # Frontend dependencies
39
+ ```
40
+
41
+ ## Development Workflow
42
+
43
+ 1. **Edit UI Spec**: Modify `specs/main.specly` (views and models)
44
+ 2. **Regenerate**: Run `npm run realize:all`
45
+ 3. **Configure API**: Set `VITE_API_BASE_URL` in `.env`
46
+ 4. **Test**: Use dev server or connect to real API
47
+
48
+ ## Key Features
49
+
50
+ - **Standalone Structure**: All code in root (no backend/ subdirectory)
51
+ - **External API**: Connects via environment variables
52
+ - **React Router**: Auto-generated routes from views
53
+ - **React Query**: Data fetching with caching
54
+ - **TypeScript**: Full type safety
55
+
56
+ ## API Configuration
57
+
58
+ Set in `generated/code/.env`:
59
+
60
+ ```env
61
+ VITE_API_BASE_URL=https://your-api.com
62
+ VITE_API_PREFIX=/api
63
+ ```
64
+
65
+ ## Deployment
66
+
67
+ This generates a standalone React SPA that can deploy to:
68
+ - Vercel, Netlify (static hosting)
69
+ - AWS S3 + CloudFront
70
+ - GitHub Pages
71
+ - Any static file server
72
+
73
+ ---
74
+
75
+ For comprehensive SpecVerse guidance, see the main [SpecVerse CLAUDE.md](https://github.com/SpecVerse/specverse-lang/blob/main/CLAUDE.md)
@@ -0,0 +1,231 @@
1
+ # {{projectName}} - React Frontend
2
+
3
+ A standalone React SPA built with SpecVerse. Perfect for JAMstack apps, connecting to external APIs, and frontend-first development.
4
+
5
+ ## 🚀 Quick Start
6
+
7
+ ```bash
8
+ # 1. Configure your API endpoint
9
+ echo "VITE_API_BASE_URL=https://your-api.com" > generated/code/.env
10
+
11
+ # 2. Generate frontend code
12
+ npm run realize:all
13
+
14
+ # 3. Install dependencies
15
+ cd generated/code && npm install
16
+
17
+ # 4. Start development server
18
+ npm run dev
19
+
20
+ # 5. Open in browser
21
+ open http://localhost:5173
22
+ ```
23
+
24
+ ## 📁 Project Structure
25
+
26
+ ```
27
+ {{projectName}}/
28
+ ├── specs/
29
+ │ └── main.specly # UI specification
30
+ ├── manifests/
31
+ │ └── implementation.yaml # Frontend-only manifest
32
+ ├── generated/
33
+ │ └── code/ # Standalone React app
34
+ │ ├── src/
35
+ │ │ ├── App.tsx # Root component with routing
36
+ │ │ ├── main.tsx # React entry point
37
+ │ │ ├── components/ # View components
38
+ │ │ ├── hooks/ # React Query hooks
39
+ │ │ └── types/ # TypeScript types
40
+ │ ├── index.html # HTML entry point
41
+ │ ├── vite.config.ts # Vite configuration
42
+ │ └── package.json # Frontend dependencies
43
+ └── package.json # Workflow scripts
44
+ ```
45
+
46
+ ## 🛠️ Development Workflow
47
+
48
+ ### 1. Modify Your UI
49
+
50
+ Edit `specs/main.specly` to define your views and models:
51
+
52
+ ```yaml
53
+ models:
54
+ Product:
55
+ attributes:
56
+ name: String required
57
+ price: Decimal required
58
+
59
+ views:
60
+ ProductListView:
61
+ model: Product
62
+ components:
63
+ ProductGrid: {}
64
+ ProductFilters: {}
65
+ ```
66
+
67
+ ### 2. Regenerate Code
68
+
69
+ ```bash
70
+ npm run realize:all
71
+ ```
72
+
73
+ ### 3. Run Development Server
74
+
75
+ ```bash
76
+ cd generated/code
77
+ npm run dev
78
+ ```
79
+
80
+ The app will be available at `http://localhost:5173`
81
+
82
+ ## 🌐 Connecting to Your API
83
+
84
+ ### Environment Configuration
85
+
86
+ Create `.env` in `generated/code/`:
87
+
88
+ ```env
89
+ # Required: Your backend API URL
90
+ VITE_API_BASE_URL=https://api.example.com
91
+
92
+ # Optional: API path prefix
93
+ VITE_API_PREFIX=/api
94
+ ```
95
+
96
+ ### Supported API Backends
97
+
98
+ This frontend can connect to:
99
+ - **SpecVerse Backend**: Generated with backend-only template
100
+ - **Existing REST APIs**: Any REST API with JSON responses
101
+ - **Third-Party APIs**: External services (with CORS configured)
102
+ - **Serverless Functions**: AWS Lambda, Vercel Functions, etc.
103
+
104
+ ### API Client
105
+
106
+ The generated code uses React Query for data fetching:
107
+
108
+ ```typescript
109
+ // Auto-generated hook
110
+ import { useProduct } from './hooks/useProduct';
111
+
112
+ function ProductDetail({ id }: { id: string }) {
113
+ const { data, isLoading } = useProduct(id);
114
+
115
+ if (isLoading) return <div>Loading...</div>;
116
+ return <div>{data.name}</div>;
117
+ }
118
+ ```
119
+
120
+ ## 🧪 Testing
121
+
122
+ ```bash
123
+ # Run tests
124
+ cd generated/code && npm test
125
+
126
+ # Type checking
127
+ npm run typecheck
128
+
129
+ # Linting
130
+ npm run lint
131
+ ```
132
+
133
+ ## 📦 Deployment
134
+
135
+ ### Build for Production
136
+
137
+ ```bash
138
+ cd generated/code
139
+ npm run build
140
+ ```
141
+
142
+ This creates an optimized build in `dist/`.
143
+
144
+ ### Deployment Options
145
+
146
+ The generated frontend can be deployed to:
147
+
148
+ - **Vercel**: `vercel deploy`
149
+ - **Netlify**: Connect to git repository
150
+ - **AWS S3 + CloudFront**: Static site hosting
151
+ - **GitHub Pages**: Static site hosting
152
+ - **Docker**: Serve with nginx
153
+
154
+ ### Environment Variables
155
+
156
+ Set these in your deployment platform:
157
+
158
+ ```env
159
+ VITE_API_BASE_URL=https://your-production-api.com
160
+ ```
161
+
162
+ ## 🎨 Customization
163
+
164
+ ### Styling
165
+
166
+ The generated app uses Tailwind CSS by default. Customize in:
167
+ - `generated/code/tailwind.config.js`
168
+ - `generated/code/src/index.css`
169
+
170
+ ### Routing
171
+
172
+ Routes are auto-generated from views. Customize in:
173
+ - `generated/code/src/App.tsx`
174
+
175
+ ### API Client
176
+
177
+ API configuration in:
178
+ - `generated/code/src/hooks/*` - Generated React Query hooks
179
+ - `generated/code/vite.config.ts` - Proxy configuration for development
180
+
181
+ ## 📚 Documentation
182
+
183
+ ### Generate UI Documentation
184
+
185
+ ```bash
186
+ npm run generate:docs
187
+ npm run generate:diagrams
188
+ ```
189
+
190
+ ## 🎯 Use Cases
191
+
192
+ This frontend-only template is ideal for:
193
+
194
+ - **JAMstack Applications**: Static frontend + API backend
195
+ - **Micro-frontends**: Independent frontend deployment
196
+ - **Mobile Web Apps**: PWAs connecting to existing APIs
197
+ - **Prototyping**: Quick UI development against mock/existing APIs
198
+ - **Frontend-First Development**: Design UI before backend is ready
199
+
200
+ ## 🔗 Example Configurations
201
+
202
+ ### Connect to SpecVerse Backend
203
+
204
+ ```env
205
+ # Local development
206
+ VITE_API_BASE_URL=http://localhost:3000
207
+
208
+ # Production
209
+ VITE_API_BASE_URL=https://api.yourapp.com
210
+ ```
211
+
212
+ ### Connect to Third-Party API
213
+
214
+ ```env
215
+ # JSONPlaceholder (for testing)
216
+ VITE_API_BASE_URL=https://jsonplaceholder.typicode.com
217
+
218
+ # Your API
219
+ VITE_API_BASE_URL=https://api.stripe.com
220
+ ```
221
+
222
+ ## 📖 Learn More
223
+
224
+ - [SpecVerse Documentation](https://specverse.dev)
225
+ - [React Documentation](https://react.dev)
226
+ - [Vite Documentation](https://vitejs.dev)
227
+ - [React Query Documentation](https://tanstack.com/query)
228
+
229
+ ---
230
+
231
+ Built with ❤️ using [SpecVerse](https://specverse.dev)
@@ -0,0 +1,149 @@
1
+ # Deployments Directory
2
+
3
+ This directory can be used to organize deployment specifications when you need multiple deployment targets or environment-specific configurations.
4
+
5
+ ## Usage
6
+
7
+ Deployments can be organized by environment, scale, or target platform:
8
+
9
+ 1. **Environment-based organization**:
10
+ ```
11
+ deployments/
12
+ ├── development.specly
13
+ ├── staging.specly
14
+ └── production.specly
15
+ ```
16
+
17
+ 2. **Scale-based organization**:
18
+ ```
19
+ deployments/
20
+ ├── personal.specly # Single developer, local database
21
+ ├── team.specly # Small team, shared database
22
+ ├── business.specly # Business scale, clustering
23
+ └── enterprise.specly # Enterprise scale, multi-tenant
24
+ ```
25
+
26
+ 3. **Platform-based organization**:
27
+ ```
28
+ deployments/
29
+ ├── local.specly # Local development
30
+ ├── cloud.specly # Cloud deployment (AWS, GCP, Azure)
31
+ ├── kubernetes.specly # Kubernetes clusters
32
+ └── serverless.specly # Serverless functions
33
+ ```
34
+
35
+ ## Deployment Patterns
36
+
37
+ ### Based on SpecVerse Library Patterns
38
+
39
+ You can reference deployment patterns from the SpecVerse library system:
40
+
41
+ - **Monolith Pattern**: Single-instance deployment (from `libs/deployments/monolith/`)
42
+ - **Microservices Pattern**: Service-based deployment (from `libs/deployments/microservices/`)
43
+ - **JAMstack Pattern**: Static + API deployment (from `libs/deployments/jamstack/`)
44
+ - **Enterprise Pattern**: Multi-tenant, compliance-ready (from `libs/deployments/enterprise/`)
45
+
46
+ ### Example Deployment Structure
47
+
48
+ ```yaml
49
+ # deployments/development.specly
50
+ components:
51
+ my-app-dev:
52
+ version: "3.1.0"
53
+
54
+ # Reference library patterns
55
+ import:
56
+ - file: ../../../libs/deployments/monolith/lib/development.yaml
57
+ select: ["development"]
58
+
59
+ deployments:
60
+ development:
61
+ version: "3.1.0"
62
+ environment: "development"
63
+
64
+ # Based on monolith development pattern
65
+ instances:
66
+ controllers:
67
+ appController:
68
+ component: "my-app"
69
+ namespace: "api"
70
+ scale: 1
71
+ advertises: ["api.*"]
72
+ uses: ["database.*"]
73
+ ```
74
+
75
+ ## Instance Types
76
+
77
+ SpecVerse v3.3 supports these logical instance types:
78
+
79
+ - **Controllers**: API endpoints, request handlers
80
+ - **Services**: Business logic, background processing
81
+ - **Views**: UI components, frontend applications
82
+ - **Storage**: Databases, caches, file systems
83
+ - **Security**: Authentication, authorization, encryption
84
+ - **Infrastructure**: Load balancers, CDNs, service mesh
85
+ - **Monitoring**: Metrics, logging, alerting, analytics
86
+ - **Communications**: Message queues, event buses, RPC channels
87
+
88
+ ## Capability Patterns
89
+
90
+ Use capability patterns to define instance communication:
91
+
92
+ ```yaml
93
+ instances:
94
+ controllers:
95
+ apiController:
96
+ advertises: ["api.*", "auth.*"] # What this instance provides
97
+ uses: ["database.*", "cache.*"] # What this instance depends on
98
+ ```
99
+
100
+ ## Scaling Configuration
101
+
102
+ Define scaling behavior for different environments:
103
+
104
+ ```yaml
105
+ instances:
106
+ controllers:
107
+ webApi:
108
+ scale: 3 # Number of instances
109
+ advertises: ["api.*"]
110
+ uses: ["database.*"]
111
+ config:
112
+ resources:
113
+ memory: "512Mi"
114
+ cpu: "200m"
115
+ healthCheck:
116
+ path: "/health"
117
+ interval: "30s"
118
+ ```
119
+
120
+ ## Import Examples
121
+
122
+ ```yaml
123
+ # In main.specly, reference deployment specifications
124
+ deployments:
125
+ development:
126
+ import:
127
+ - file: deployments/development.specly
128
+ select: ["development"]
129
+
130
+ production:
131
+ import:
132
+ - file: deployments/production.specly
133
+ select: ["production"]
134
+ ```
135
+
136
+ ## Best Practices
137
+
138
+ 1. **Environment Separation**: Keep development and production deployments separate
139
+ 2. **Library Usage**: Reference standard patterns from `libs/deployments/`
140
+ 3. **Capability Design**: Use clear advertises/uses patterns for dependencies
141
+ 4. **Scaling Strategy**: Define appropriate scaling for each environment
142
+ 5. **Security Layering**: Include security instances for authentication and authorization
143
+ 6. **Monitoring Integration**: Add monitoring instances for production deployments
144
+
145
+ ## See Also
146
+
147
+ - **Library Patterns**: `../../libs/deployments/` for standard deployment patterns
148
+ - **Manifests**: `../manifests/` for technology-specific implementation guidance
149
+ - **Main Specification**: `../specs/main.specly` for component definitions