@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,197 @@
1
+ # {{projectName}} - Backend API
2
+
3
+ A standalone REST API service built with SpecVerse. Perfect for microservices, API-first development, and backend services.
4
+
5
+ ## 🚀 Quick Start
6
+
7
+ ```bash
8
+ # 1. Generate all code
9
+ npm run realize:all
10
+
11
+ # 2. Install dependencies
12
+ cd generated/code && npm install
13
+
14
+ # 3. Setup database
15
+ npm run db:generate
16
+ npm run db:push
17
+
18
+ # 4. Start development server
19
+ npm run dev
20
+
21
+ # 5. Test the API
22
+ curl http://localhost:3000/api/products
23
+ ```
24
+
25
+ ## 📁 Project Structure
26
+
27
+ ```
28
+ {{projectName}}/
29
+ ├── specs/
30
+ │ └── main.specly # Your API specification
31
+ ├── manifests/
32
+ │ └── implementation.yaml # Backend-only manifest
33
+ ├── generated/
34
+ │ └── code/ # Generated backend code
35
+ │ ├── src/
36
+ │ │ ├── main.ts # Application entry point
37
+ │ │ ├── controllers/ # Business logic
38
+ │ │ └── routes/ # API routes
39
+ │ ├── prisma/
40
+ │ │ └── schema.prisma # Database schema
41
+ │ ├── package.json # Dependencies
42
+ │ └── tsconfig.json # TypeScript config
43
+ └── package.json # Workflow scripts
44
+ ```
45
+
46
+ ## 🛠️ Development Workflow
47
+
48
+ ### 1. Modify Your API
49
+
50
+ Edit `specs/main.specly` to define your models and controllers:
51
+
52
+ ```yaml
53
+ models:
54
+ Product:
55
+ attributes:
56
+ name: String required
57
+ price: Decimal required
58
+
59
+ controllers:
60
+ ProductController:
61
+ model: Product
62
+ cured:
63
+ create: {}
64
+ retrieve: {}
65
+ ```
66
+
67
+ ### 2. Regenerate Code
68
+
69
+ ```bash
70
+ npm run realize:all
71
+ ```
72
+
73
+ ### 3. Update Database
74
+
75
+ ```bash
76
+ cd generated/code
77
+ npm run db:generate # Generate Prisma client
78
+ npm run db:push # Push schema to database
79
+ ```
80
+
81
+ ### 4. Run Development Server
82
+
83
+ ```bash
84
+ npm run dev
85
+ ```
86
+
87
+ The API will be available at `http://localhost:3000`
88
+
89
+ ## 📡 API Endpoints
90
+
91
+ Based on the default Product model:
92
+
93
+ - `POST /api/products` - Create a product
94
+ - `GET /api/products` - List all products
95
+ - `GET /api/products/:id` - Get a product by ID
96
+ - `PUT /api/products/:id` - Update a product
97
+ - `DELETE /api/products/:id` - Delete a product
98
+
99
+ ## 🔧 Configuration
100
+
101
+ ### Environment Variables
102
+
103
+ Create a `.env` file in `generated/code/`:
104
+
105
+ ```env
106
+ DATABASE_URL="postgresql://localhost:5432/{{projectNameKebab}}_dev"
107
+ PORT=3000
108
+ CORS_ORIGINS="http://localhost:5173,http://localhost:3000"
109
+ ```
110
+
111
+ ### CORS Setup
112
+
113
+ The backend is configured to accept requests from frontend applications. Update `CORS_ORIGINS` in your `.env` file to match your frontend URL.
114
+
115
+ ## 🧪 Testing
116
+
117
+ ```bash
118
+ # Run tests
119
+ cd generated/code && npm test
120
+
121
+ # Type checking
122
+ npm run typecheck
123
+
124
+ # Linting
125
+ npm run lint
126
+ ```
127
+
128
+ ## 📦 Deployment
129
+
130
+ ### Standalone Deployment
131
+
132
+ The generated backend is a standalone Node.js application that can be deployed to:
133
+
134
+ - **Docker**: Add a Dockerfile to containerize
135
+ - **Cloud Platforms**: Deploy to AWS, GCP, Azure, Railway, Render, etc.
136
+ - **Kubernetes**: Use the generated code as a microservice
137
+
138
+ ### Environment Setup
139
+
140
+ Set these environment variables in production:
141
+
142
+ ```env
143
+ DATABASE_URL="your-production-database-url"
144
+ PORT=8080
145
+ CORS_ORIGINS="https://your-frontend-domain.com"
146
+ ```
147
+
148
+ ## 📚 Documentation
149
+
150
+ ### Generate API Documentation
151
+
152
+ ```bash
153
+ npm run generate:docs
154
+ npm run generate:diagrams
155
+ ```
156
+
157
+ ### View Database Schema
158
+
159
+ ```bash
160
+ cd generated/code
161
+ npm run db:studio
162
+ ```
163
+
164
+ This opens Prisma Studio at `http://localhost:5555`
165
+
166
+ ## 🎯 Use Cases
167
+
168
+ This backend-only template is ideal for:
169
+
170
+ - **Microservices**: Building focused, single-responsibility services
171
+ - **API-First Development**: Designing APIs before building frontends
172
+ - **Mobile Backends**: Serving iOS, Android, or cross-platform apps
173
+ - **Third-Party Integrations**: Providing APIs for external consumers
174
+ - **Serverless Functions**: Base code for AWS Lambda, Vercel Functions, etc.
175
+
176
+ ## 🔄 Connecting Frontends
177
+
178
+ Your frontend applications can connect to this API using:
179
+
180
+ ```typescript
181
+ // Frontend configuration
182
+ const API_BASE_URL = process.env.VITE_API_BASE_URL || 'http://localhost:3000';
183
+
184
+ // Fetch products
185
+ const response = await fetch(`${API_BASE_URL}/api/products`);
186
+ const products = await response.json();
187
+ ```
188
+
189
+ ## 📖 Learn More
190
+
191
+ - [SpecVerse Documentation](https://specverse.dev)
192
+ - [API Guide](./docs/)
193
+ - [Database Migrations](./generated/code/prisma/migrations/)
194
+
195
+ ---
196
+
197
+ 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
@@ -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: ["*"]
@@ -0,0 +1,50 @@
1
+ # {{projectName}} Documentation
2
+
3
+ This directory contains project-specific documentation for your SpecVerse application.
4
+
5
+ ## Documentation Structure
6
+
7
+ ```
8
+ docs/
9
+ ├── README.md # This file
10
+ ├── example-documentation-template.md # Template for creating documentation
11
+ ├── api/ # API documentation (generated)
12
+ ├── diagrams/ # Generated diagrams
13
+ └── guides/ # Project-specific guides
14
+ ```
15
+
16
+ ## Generated Content
17
+
18
+ When you run SpecVerse generation commands, documentation will be created in:
19
+
20
+ - `diagrams/` - UML diagrams (ER, sequence, architecture, lifecycle, deployment)
21
+ - `api/` - API documentation generated from specifications
22
+
23
+ ## SpecVerse Schema Reference
24
+
25
+ For complete SpecVerse language documentation and schema reference, see:
26
+
27
+ - **Main Schema**: `../../schema/SPECVERSE-SCHEMA.json`
28
+ - **Schema Guidance**: Maintained in the main project
29
+
30
+ These files contain the authoritative SpecVerse v3.3 language specification and are maintained in the main project.
31
+
32
+ ## Creating Project Documentation
33
+
34
+ 1. Use `example-documentation-template.md` as a starting point
35
+ 2. Run `npm run generate:docs` to generate API documentation
36
+ 3. Run `npm run generate:diagrams` to create visual diagrams
37
+ 4. Add project-specific guides in the `guides/` directory
38
+
39
+ ## Generation Commands
40
+
41
+ ```bash
42
+ # Generate all documentation
43
+ npm run generate:docs
44
+
45
+ # Generate diagrams only
46
+ npm run generate:diagrams
47
+
48
+ # Generate specific diagram types
49
+ npm run generate:diagram:deployment
50
+ ```
@@ -0,0 +1,7 @@
1
+ # API Documentation
2
+
3
+ Generated API documentation will appear here when you run:
4
+
5
+ ```bash
6
+ npm run generate:docs
7
+ ```
@@ -0,0 +1,85 @@
1
+ # Generated Diagrams
2
+
3
+ This directory contains auto-generated Mermaid diagrams from your SpecVerse specification.
4
+
5
+ ## Diagram Types
6
+
7
+ ### Entity-Relationship (er-diagram)
8
+ Shows models, attributes, and relationships.
9
+
10
+ **Generate**: `npm run generate:diagram:er`
11
+ **Best For**: Understanding data structure
12
+
13
+ ### Event-Flow-Layered (event-flow-layered)
14
+ Shows event-driven architecture with topological sorting.
15
+
16
+ **Generate**: `npm run generate:diagram:event-flow`
17
+ **Best For**: Understanding event flow and component dependencies
18
+ **Features**:
19
+ - Dynamic layer assignment based on dependency depth
20
+ - Topological sorting for proper component ordering
21
+ - Color-coded domain vs application events
22
+ - Simplified labels showing event counts (↑ publishes, ↓ subscribes)
23
+
24
+ ### Lifecycle (lifecycle)
25
+ Shows state machine transitions for model lifecycles.
26
+
27
+ **Generate**: `npm run generate:diagram:lifecycle`
28
+ **Best For**: Understanding state transitions
29
+
30
+ ### Deployment (deployment-topology)
31
+ Shows deployment instances and capability mappings.
32
+
33
+ **Generate**: `npm run generate:diagram:deployment`
34
+ **Best For**: Understanding deployment architecture
35
+
36
+ ### Model Architecture (model-architecture)
37
+ Shows component relationships and dependencies.
38
+
39
+ **Generate**: `npm run generate:diagram:architecture`
40
+ **Best For**: High-level system overview
41
+
42
+ ## Viewing Diagrams
43
+
44
+ Mermaid diagrams can be viewed in:
45
+ - **GitHub**: Automatically rendered in .md files
46
+ - **VSCode**: Use Markdown Preview Mermaid Support extension
47
+ - **Mermaid Live Editor**: https://mermaid.live/
48
+ - **Documentation Sites**: Most support Mermaid rendering
49
+
50
+ ## Programmatic Generation
51
+
52
+ ```typescript
53
+ import { UnifiedDiagramGenerator, EventFlowPlugin } from '@specverse/lang/diagram-engine';
54
+ import { SpecVerseParser } from '@specverse/lang';
55
+ import { readFileSync, writeFileSync } from 'fs';
56
+
57
+ // 1. Parse your specification
58
+ const schema = JSON.parse(
59
+ readFileSync('node_modules/@specverse/lang/schema/SPECVERSE-SCHEMA.json', 'utf8')
60
+ );
61
+ const parser = new SpecVerseParser(schema);
62
+ const parseResult = parser.parseFile('specs/main.specly');
63
+
64
+ // 2. Create diagram generator with desired plugins
65
+ const generator = new UnifiedDiagramGenerator({
66
+ plugins: [
67
+ new EventFlowPlugin(),
68
+ new ERDiagramPlugin(),
69
+ new LifecyclePlugin(),
70
+ new DeploymentPlugin()
71
+ ],
72
+ theme: 'default'
73
+ });
74
+
75
+ // 3. Generate specific diagram type
76
+ const mermaidCode = generator.generate(parseResult.ast, 'event-flow-layered', {
77
+ title: 'Event Flow Architecture',
78
+ direction: 'TD'
79
+ });
80
+
81
+ // 4. Save to file
82
+ writeFileSync('docs/diagrams/event-flow-layered.mmd', mermaidCode);
83
+ ```
84
+
85
+ See [example 11-diagrams documentation](https://github.com/SpecVerse/specverse-lang/tree/main/examples/11-diagrams) for complete API reference and more examples