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