@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,404 @@
1
+ # {{projectName}}
2
+
3
+ A SpecVerse project template with AI-powered inference capabilities.
4
+
5
+ ## Template Variables
6
+
7
+ This template uses the following variables that will be replaced during project initialization:
8
+
9
+ - `{{projectName}}` - Full project name (e.g., "My Project")
10
+ - `{{componentName}}` - Component name (e.g., "my-component")
11
+ - `{{projectNameKebab}}` - Kebab-case project name (e.g., "my-project")
12
+ - `{{DB_USER}}` - Database username (defaults to system user)
13
+ - `{{DB_PASSWORD}}` - Database password
14
+
15
+ **Default Database Naming:** The database is automatically named `spv_{{projectNameKebab}}_dev` for development environments (prefixed with `spv_` to namespace SpecVerse databases).
16
+
17
+ ## Quick Start
18
+
19
+ The typical workflow after running `specverse init`:
20
+
21
+ 1. **Generate all code** - `npm run genAll` (generates code + installs dependencies)
22
+ 2. **Build the project** - `npm run app:build` (compiles TypeScript)
23
+ 3. **Run tests** - `npm run app:test` (runs generated test suite)
24
+ 4. **Start the application** - `npm run app:start` (production) or `npm run app:dev` (development)
25
+
26
+ ### Detailed Steps
27
+
28
+ 1. **Customize the specification** - Edit `specs/main.specly` to define your domain models
29
+ 2. **Generate complete code** - Run `npm run genAll` to generate full-stack application
30
+ 3. **Database is auto-created** - Database `<project>_dev` and `.env` file are created automatically
31
+ 4. **Build and test** - Run `npm run app:build` then `npm run app:test`
32
+ 5. **Start developing** - Run `npm run app:dev` to start the development server
33
+
34
+ ## Template Structure
35
+
36
+ ```
37
+ {{projectName}}/
38
+ ├── specs/ # SpecVerse specifications
39
+ │ └── main.specly # Main specification (start here)
40
+ ├── deployments/ # Deployment specifications
41
+ │ ├── README.md # Deployment guidance and patterns
42
+ │ ├── development.specly # Development deployment
43
+ │ └── production.specly # Production deployment
44
+ ├── manifests/ # Implementation manifests
45
+ │ ├── README.md # Manifest documentation and guidance
46
+ │ ├── docker-compose.specly # Docker Compose implementation
47
+ │ └── kubernetes.specly # Kubernetes implementation
48
+ ├── docs/ # Project documentation
49
+ │ ├── diagrams/ # Generated Mermaid diagrams
50
+ │ │ └── README.md # Diagram types and usage
51
+ │ ├── api/ # Generated API documentation
52
+ │ │ └── README.md # API documentation guide
53
+ │ ├── guides/ # Project-specific guides
54
+ │ │ └── README.md # Guide templates
55
+ │ └── example-documentation-template.md
56
+ ├── generated/ # Generated code and artifacts
57
+ │ ├── docs/ # Generated documentation
58
+ │ └── README.md # Generated artifacts guide
59
+ ├── scripts/ # Build and test scripts
60
+ │ └── test-all.sh # Test runner
61
+ ├── CLAUDE.md # AI development guide
62
+ ├── env.example # Environment configuration template
63
+ ├── package.json # npm scripts and metadata
64
+ └── .gitignore # Git ignore patterns
65
+ ```
66
+
67
+ ## Template Customization
68
+
69
+ ### Basic Item Model
70
+ The template includes a generic `Item` model that you should customize for your domain:
71
+
72
+ ```yaml
73
+ # Edit specs/main.specly to replace "Item" with your domain concept
74
+ models:
75
+ Item: # <- Change this to your domain entity (User, Product, Order, etc.)
76
+ description: "Basic item in the system - customize for your domain"
77
+ attributes:
78
+ id: UUID required unique auto=uuid4
79
+ name: String required
80
+ description: String optional
81
+ # Add your domain-specific attributes here
82
+ ```
83
+
84
+ ### Deployment Options
85
+
86
+ You can define deployments either in the main specification or in separate deployment files:
87
+
88
+ #### Option 1: Inline Deployments (Simple)
89
+ Add deployment sections directly in `specs/main.specly`:
90
+
91
+ - **Personal/Demo**: SQLite, local auth, single instance
92
+ - **Business**: PostgreSQL, OAuth, 2-3 instances with caching
93
+ - **Enterprise**: Multi-tenant, compliance, 5+ instances with monitoring
94
+
95
+ #### Option 2: Separate Deployment Files (Recommended for Complex Projects)
96
+ Create dedicated deployment specifications in the `deployments/` directory:
97
+
98
+ 1. **Rename examples**: `development.specly.example` → `development.specly`
99
+ 2. **Customize instances**: Modify controllers, storage, security for your needs
100
+ 3. **Reference library patterns**: Use patterns from `libs/deployments/`
101
+ 4. **Generate diagrams**: `npm run generate:diagram:deployment`
102
+
103
+ ## Development Commands
104
+
105
+ ### Essential Workflow
106
+ - `npm run validate` - Validate your specification
107
+ - `npm run infer` - Generate complete architecture with AI
108
+ - `npm run generate:diagrams` - Create visual diagrams
109
+
110
+ ### AI-Powered Generation
111
+ - `npm run infer` - Generate complete system architecture from minimal spec
112
+ - `npm run infer:minimal` - Generate enhanced but still minimal specification
113
+ - `npm run infer:deployment` - Generate complete architecture with deployment configuration
114
+ - `npm run infer:deployment:prod` - Generate production deployment configuration
115
+ - `npm run generate:diagrams` - Create all visual diagrams (ER, sequence, architecture, lifecycle, deployment)
116
+ - `npm run generate:docs` - Generate markdown documentation
117
+ - `npm run generate:complete` - Full generation pipeline (infer + diagrams + docs)
118
+
119
+ ### Diagram Generation by Type
120
+ - `npm run generate:diagram:er` - Entity-Relationship diagram
121
+ - `npm run generate:diagram:event-flow` - Event-flow-layered architecture (topologically sorted)
122
+ - `npm run generate:diagram:lifecycle` - State machine lifecycles
123
+ - `npm run generate:diagram:deployment` - Deployment topology
124
+ - `npm run generate:diagram:architecture` - Model architecture overview
125
+
126
+ #### Programmatic Diagram API
127
+ SpecVerse diagrams can be generated programmatically:
128
+
129
+ ```typescript
130
+ import { UnifiedDiagramGenerator, EventFlowPlugin } from '@specverse/lang/diagram-engine';
131
+ import { SpecVerseParser } from '@specverse/lang';
132
+
133
+ const parser = new SpecVerseParser(schema);
134
+ const parseResult = parser.parseFile('specs/main.specly');
135
+
136
+ const generator = new UnifiedDiagramGenerator({
137
+ plugins: [new EventFlowPlugin()],
138
+ theme: 'default'
139
+ });
140
+
141
+ const mermaid = generator.generate(parseResult.ast, 'event-flow-layered', {
142
+ title: 'Event Flow Architecture'
143
+ });
144
+ ```
145
+
146
+ See [example 11-diagrams documentation](https://github.com/SpecVerse/specverse-lang/tree/main/examples/11-diagrams) for complete API reference.
147
+
148
+ ### Code Generation
149
+
150
+ SpecVerse includes powerful code generators that create production-ready implementations using the **Implementation Types System**.
151
+
152
+ #### Quick Start
153
+
154
+ 1. **Configure using Implementation Types** - Edit `manifests/implementation.yaml`:
155
+ ```yaml
156
+ specVersion: "3.3.0"
157
+
158
+ # Reference implementation types from library
159
+ implementationTypes:
160
+ - name: "FastifyPrismaAPI"
161
+ source: "@specverse/lang/libs/implementation-types/backend/fastify-prisma.yaml"
162
+ version: "1.0.0"
163
+
164
+ # Map capabilities to implementation types
165
+ capabilityMappings:
166
+ - capability: "api.rest"
167
+ implementationType: "FastifyPrismaAPI"
168
+ ```
169
+
170
+ 2. **Generate code**:
171
+ ```bash
172
+ npm run generate:code
173
+ # Output: generated/code/
174
+ ```
175
+
176
+ #### v3.3 Code Realization Commands
177
+
178
+ - `npm run realize:all` - Generate **complete runnable project** (ORM + services + routes + scaffolding + main.ts) ✨ **RECOMMENDED**
179
+ - `npm run realize:orm` - Generate ORM schemas only (Prisma schema)
180
+ - `npm run realize:services` - Generate service layer only
181
+ - `npm run realize:routes` - Generate route handlers only
182
+
183
+ #### What Gets Generated (v3.3 Complete Project) ✨
184
+
185
+ **Project Scaffolding** (NEW in v3.3):
186
+ - `package.json` - Aggregated dependencies from all implementation types
187
+ - `tsconfig.json` - Merged TypeScript configuration
188
+ - `.env.example` - Environment variables template (grouped by category)
189
+ - `.env` - Local environment configuration
190
+ - `.gitignore` - Technology-adaptive ignore patterns
191
+ - `README.md` - Auto-generated project documentation
192
+
193
+ **Application Entry Point** (NEW in v3.3):
194
+ - `src/main.ts` - Framework-adaptive server initialization (Fastify/Express/NestJS)
195
+ - Auto-registers all routes
196
+ - Configures CORS, logging, error handling
197
+ - Graceful shutdown handling
198
+
199
+ **ORM Schemas** (`generated/code/prisma/`):
200
+ - Metadata primitives (id, audit, softDelete, status, version)
201
+ - Model attributes with proper types
202
+ - Relationships and foreign keys
203
+ - Database-specific annotations
204
+
205
+ **Service Layer** (`generated/code/src/services/`):
206
+ - Unified `validate(data, context)` method for all operations
207
+ - CURED operations (Create, Retrieve, Update/Evolve, Destroy)
208
+ - Optimistic locking with version checking
209
+ - Soft delete filtering
210
+ - Event publishing integration
211
+
212
+ **Controllers** (`generated/code/src/controllers/`):
213
+ - Business logic layer (CURED operations)
214
+ - Data transformation and validation
215
+
216
+ **Route Handlers** (`generated/code/src/routes/`):
217
+ - HTTP endpoints for all CURED operations
218
+ - Single `/validate` endpoint (accepts operation context)
219
+ - Request/response handling
220
+ - Error handling
221
+ - Framework-specific patterns
222
+
223
+ #### Running the Generated Application
224
+
225
+ After running `npm run realize:all`:
226
+
227
+ ```bash
228
+ cd generated/code
229
+ npm install
230
+ cp .env.example .env
231
+ # Edit .env with your database connection string
232
+ npm run db:generate
233
+ npm run db:push # or npm run db:migrate for migrations
234
+ npm run dev # Start development server
235
+ ```
236
+
237
+ Your application is now running with:
238
+ - ✅ Complete project structure
239
+ - ✅ All dependencies installed
240
+ - ✅ TypeScript configured
241
+ - ✅ Database schema synchronized
242
+ - ✅ REST API endpoints ready
243
+ - ✅ Auto-generated documentation
244
+
245
+ #### Metadata Primitives
246
+
247
+ Add metadata to your models for automatic code generation:
248
+
249
+ ```yaml
250
+ models:
251
+ Task:
252
+ metadata:
253
+ id: uuid # ID strategy: uuid | integer | auto
254
+ audit: true # Adds createdAt, updatedAt, createdBy, updatedBy
255
+ softDelete: deletedAt # Soft delete: deletedAt | isDeleted
256
+ status: true # Lifecycle status field
257
+ version: true # Optimistic locking
258
+ attributes:
259
+ title: String required
260
+ # ... your attributes
261
+ ```
262
+
263
+ **Generated Features:**
264
+ - ✅ **Unified Validation** - Single `validate()` method for all operations
265
+ - ✅ **Optimistic Locking** - Version checking prevents concurrent updates
266
+ - ✅ **Soft Delete** - Automatic filtering of deleted records
267
+ - ✅ **Audit Trail** - Automatic timestamps and user tracking
268
+ - ✅ **Event Publishing** - Auto-generated events for all operations
269
+
270
+ **Tech Stack Support:**
271
+ - **ORMs**: Prisma, TypeORM
272
+ - **Frameworks**: Fastify, Express, NestJS
273
+ - **Databases**: PostgreSQL, MySQL, SQLite, MongoDB
274
+
275
+ See `specs/main.specly` for a complete example with all features.
276
+
277
+ ### Development Tools
278
+ - `npm run format` - Format specification files
279
+ - `npm run process` - Convert to expanded YAML format
280
+ - `npm run build` - Full build (validate + infer)
281
+ - `npm test` - Run all tests including code generators
282
+
283
+ ## Prerequisites
284
+
285
+ You can install SpecVerse tools globally or use them locally:
286
+
287
+ 1. **Global installation** (recommended):
288
+ ```bash
289
+ # Install SpecVerse CLI globally
290
+ npm install -g @specverse/lang
291
+ ```
292
+
293
+ 2. **Local development** (for contributing to SpecVerse):
294
+ ```bash
295
+ # Clone and build the SpecVerse tools
296
+ git clone https://github.com/SpecVerse/specverse-lang.git
297
+ cd specverse-lang
298
+ npm install
299
+ npm run build
300
+
301
+ # Make tools available globally (optional)
302
+ npm link
303
+ ```
304
+
305
+ 3. **For this project** - No dependencies to install:
306
+ ```bash
307
+ # The npm scripts use the globally installed specverse command
308
+ # If you're using local development, ensure you've run 'npm link' in specverse-lang
309
+ ```
310
+
311
+ ## Getting Started
312
+
313
+ 1. Validate the specification:
314
+ ```bash
315
+ npm run validate # Validate main.specly file
316
+ ```
317
+
318
+ 2. Use AI inference to expand the specification:
319
+ ```bash
320
+ npm run infer # Generate complete architecture
321
+ npm run infer:deployment # Generate with deployment configuration
322
+ ```
323
+
324
+ 3. Generate diagrams and documentation:
325
+ ```bash
326
+ npm run generate:diagrams # Create all visual diagrams
327
+ npm run generate:diagram:event-flow # Event-flow architecture
328
+ npm run generate:docs # Generate markdown documentation
329
+ ```
330
+
331
+ 4. Process to YAML format (if needed):
332
+ ```bash
333
+ npm run process # Convert Specly to expanded YAML
334
+ ```
335
+
336
+ ## Specification Format
337
+
338
+ **Specly DSL (main.specly):**
339
+ - Concise, developer-friendly syntax
340
+ - Native SpecVerse format with optimal parsing
341
+ - Convention-based with powerful shorthand
342
+ - Flow syntax for lifecycles
343
+ - Reduced boilerplate (90% less code)
344
+
345
+ **Processed YAML Output:**
346
+ - Generated from Specly using `npm run process`
347
+ - Expanded format with all inferred properties
348
+ - Useful for integration with other tools
349
+ - Complete specification with explicit structure
350
+
351
+ ## Deployment Specifications
352
+
353
+ SpecVerse supports logical deployment specifications with capability-based architecture:
354
+
355
+ ### Deployment Features
356
+ - **Logical Instances**: Controllers, services, views as scalable instances
357
+ - **Communication Channels**: PubSub, RPC, Queue, Streaming channels
358
+ - **Capability Patterns**: Advertise/use patterns for instance communication
359
+ - **Scaling Configuration**: Define instance counts for different environments
360
+ - **Deployment Diagrams**: Visual representation of deployment architecture
361
+
362
+ ### Example Deployment
363
+ ```yaml
364
+ deployments:
365
+ production:
366
+ version: "1.0.0"
367
+ environment: production
368
+ instances:
369
+ controllers:
370
+ userController:
371
+ component: "user-management"
372
+ namespace: "user"
373
+ advertises: "*" # All capabilities
374
+ uses: ["database.*", "cache.*"]
375
+ scale: 4
376
+ communications:
377
+ mainBus:
378
+ namespace: "global"
379
+ capabilities: ["user.*", "order.*"]
380
+ type: "pubsub"
381
+ ```
382
+
383
+ ## Documentation
384
+
385
+ ### Project Documentation
386
+ - `docs/README.md` - Documentation guide and structure
387
+ - `docs/example-documentation-template.md` - Template for creating project docs
388
+
389
+ ### SpecVerse Language Reference
390
+ For complete language documentation and schema reference:
391
+ - **Schema**: `../schema/SPECVERSE-V3.1-SCHEMA.json` (authoritative specification)
392
+ - **AI Schema**: `../schema/SPECVERSE-V3.1-SCHEMA-AI.yaml` (AI-friendly format)
393
+ - **Guidance**: `../schema/README-AI-GUIDANCE.md` (usage patterns and examples)
394
+
395
+ ### SpecVerse Libraries
396
+ This template uses the SpecVerse library system for common types and patterns:
397
+ - **Types**: `../libs/types/` (UUID, DateTime, Money, Status, etc.)
398
+ - **Deployments**: `../libs/deployments/` (monolith, microservices, enterprise patterns)
399
+ - **Manifests**: `../libs/manifests/` (Next.js, PostgreSQL, SQLite implementations)
400
+
401
+ ### External Resources
402
+ - [SpecVerse Documentation](https://specverse.org/docs)
403
+ - [Language Repository](https://github.com/SpecVerse/specverse-lang)
404
+ - [@specverse/lang on npm](https://www.npmjs.com/package/@specverse/lang)
@@ -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
@@ -0,0 +1,53 @@
1
+ # Development Deployment
2
+ # SpecVerse v3.3 deployment specification for local development
3
+
4
+ deployments:
5
+ development:
6
+ version: "1.0.0"
7
+ environment: "development"
8
+ description: "Local development deployment with SQLite"
9
+
10
+ # Based on libs/deployments/monolith/development pattern
11
+ instances:
12
+ controllers:
13
+ appController:
14
+ component: "{{componentName}}"
15
+ namespace: "api"
16
+ scale: 1
17
+ advertises: ["api.*"]
18
+ uses: ["database.*", "auth.*"]
19
+
20
+ services:
21
+ appService:
22
+ component: "{{componentName}}"
23
+ namespace: "services"
24
+ scale: 1
25
+ advertises: ["business.*", "validation.*"]
26
+ uses: ["database.*"]
27
+
28
+ storage:
29
+ localDB:
30
+ component: "{{componentName}}"
31
+ namespace: "data"
32
+ type: "relational"
33
+ scale: 1
34
+ advertises: ["persistence.*", "query.*"]
35
+
36
+ security:
37
+ devAuth:
38
+ component: "{{componentName}}"
39
+ namespace: "auth"
40
+ type: "authentication"
41
+ provider: "local"
42
+ scope: "component"
43
+ scale: 1
44
+ advertises: ["auth.*"]
45
+ policies: ["dev-access"]
46
+ encryption: "basic"
47
+ auditLevel: "basic"
48
+
49
+ communications:
50
+ localBus:
51
+ namespace: "local"
52
+ type: "rpc"
53
+ capabilities: ["*"]
@@ -0,0 +1,87 @@
1
+ # Production Deployment
2
+ # SpecVerse v3.1 deployment specification for production environment
3
+
4
+ deployments:
5
+ production:
6
+ version: "1.0.0"
7
+ environment: "production"
8
+ description: "Production deployment with PostgreSQL and monitoring"
9
+
10
+ # Based on libs/deployments/monolith/production pattern
11
+ instances:
12
+ controllers:
13
+ apiServer:
14
+ component: "{{componentName}}"
15
+ namespace: "api"
16
+ scale: 3
17
+ advertises: ["api.*"]
18
+ uses: ["database.*", "auth.*", "cache.*"]
19
+
20
+ services:
21
+ businessService:
22
+ component: "{{componentName}}"
23
+ namespace: "services"
24
+ scale: 2
25
+ advertises: ["business.*", "validation.*"]
26
+ uses: ["database.*", "cache.*"]
27
+
28
+ storage:
29
+ mainDB:
30
+ component: "{{componentName}}"
31
+ namespace: "data"
32
+ type: "relational"
33
+ scale: 2
34
+ backup: true
35
+ encryption: true
36
+ advertises: ["persistence.*", "query.*"]
37
+
38
+ cache:
39
+ component: "{{componentName}}"
40
+ namespace: "cache"
41
+ type: "keyvalue"
42
+ scale: 2
43
+ advertises: ["cache.*", "session.*"]
44
+
45
+ security:
46
+ authSystem:
47
+ component: "{{componentName}}"
48
+ namespace: "auth"
49
+ type: "authentication"
50
+ provider: "oauth"
51
+ scope: "global"
52
+ scale: 2
53
+ advertises: ["auth.*", "identity.*"]
54
+ policies: ["session-management", "rate-limiting"]
55
+ encryption: "strong"
56
+ auditLevel: "detailed"
57
+
58
+ monitoring:
59
+ appMetrics:
60
+ component: "{{componentName}}"
61
+ namespace: "monitoring"
62
+ type: "metrics"
63
+ provider: "prometheus"
64
+ scope: "global"
65
+ retention: "medium"
66
+ resolution: "high"
67
+ advertises: ["metrics.*"]
68
+ dashboards: ["overview", "errors", "performance"]
69
+ alerts: ["high-error-rate", "service-down", "high-latency"]
70
+
71
+ infrastructure:
72
+ loadBalancer:
73
+ component: "{{componentName}}"
74
+ namespace: "gateway"
75
+ type: "gateway"
76
+ provider: "nginx"
77
+ tier: "regional"
78
+ redundancy: "basic"
79
+ advertises: ["routing.*", "balancing.*"]
80
+ protocols: ["http", "https"]
81
+ healthChecks: true
82
+
83
+ communications:
84
+ prodBus:
85
+ namespace: "global"
86
+ type: "pubsub"
87
+ capabilities: ["*"]