@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,392 @@
1
+ # SpecVerse AI Development Guide
2
+
3
+ This guide helps AI assistants work with SpecVerse projects across any domain.
4
+
5
+ ## Project Context
6
+
7
+ **SpecVerse Version**: v3.1.0
8
+ **AI Operations**: `analyse` (extract from implementations) and `create` (generate from prompts)
9
+
10
+ **See `INPUT.md` in each directory for domain-specific test case details and customizations.**
11
+
12
+ ## SpecVerse v3.1 Quick Reference
13
+
14
+ ### Convention Syntax
15
+ ```yaml
16
+ # Use this pattern for 90% of attributes:
17
+ attributeName: TypeName modifiers
18
+
19
+ # Examples:
20
+ email: Email required unique
21
+ name: String required
22
+ age: Integer min=0 max=150
23
+ status: String default=active values=["pending","active","inactive"]
24
+ totalAmount: Money currency=USD
25
+ ```
26
+
27
+ ### Common Types
28
+ - `String` - Text data (names, descriptions)
29
+ - `Integer` - Numbers (capacity, counts)
30
+ - `UUID` - Unique identifiers
31
+ - `Email` - Email addresses
32
+ - `DateTime` - Timestamps (createdAt, updatedAt)
33
+ - `Date` - Dates only (checkIn, checkOut)
34
+ - `Boolean` - True/false flags
35
+ - `Money` - Currency values (pricing, payments)
36
+ - `URL` - Web addresses
37
+
38
+ ### Common Modifiers
39
+ - `required` - Field must be provided
40
+ - `optional` - Field is optional (default)
41
+ - `unique` - Must be unique across records
42
+ - `auto=uuid4` - Auto-generate UUID
43
+ - `auto=now` - Auto-timestamp
44
+ - `default=value` - Default value
45
+ - `min=n` / `max=n` - Numeric bounds
46
+ - `values=[...]` - Enumerated options
47
+ - `searchable` - Index for searching
48
+
49
+ ## AI Inference Capabilities
50
+
51
+ SpecVerse v3.1 can automatically infer and generate:
52
+
53
+ 1. **Controllers**: CURED operations (Create, Update, Retrieve, Evolve, Delete)
54
+ 2. **Services**: Business logic, validation, integration services
55
+ 3. **Events**: Lifecycle events, relationship events, business events
56
+ 4. **Views**: List views, detail views, forms, analytics dashboards
57
+ 5. **Types**: Request/response types, filters, common definitions
58
+ 6. **Deployments**: Logical instances with capability-based architecture
59
+ 7. **Manifests**: Implementation guidance with technology mappings
60
+
61
+ ### Expansion Patterns by Scale
62
+ - **Demo/Personal**: 4x expansion (60→240, 200→800 lines)
63
+ - **Business**: 4x expansion (350→1,400 lines)
64
+ - **Enterprise**: 8x expansion (500→4,000+ lines)
65
+
66
+ ## AI Operation Patterns
67
+
68
+ ### For `analyse` Operations (Implementation Analysis)
69
+ **Input**: Existing codebase with authentication, database, APIs
70
+ **Focus**: Extract the *business logic* and *domain models*, not implementation details
71
+ **Output**: Clean SpecVerse specification that captures the essence
72
+
73
+ **Key Extraction Patterns**:
74
+ - Database schemas → SpecVerse models
75
+ - API endpoints → Controller actions
76
+ - Business rules → Behaviors and lifecycles
77
+ - User roles → RBAC modeling
78
+ - Integrations → Service definitions
79
+
80
+ ### For `create` Operations (Natural Language)
81
+ **Input**: User requirements in natural language
82
+ **Focus**: Transform user intent into appropriate scale architecture
83
+ **Output**: Complete specification matching user scale and needs
84
+
85
+ **Key Creation Patterns**:
86
+ - User terminology → Domain models
87
+ - Business requirements → Technical architecture
88
+ - Scale indicators → Deployment complexity
89
+ - Compliance needs → Security and audit features
90
+
91
+ ## Development Workflow
92
+
93
+ ### Standard AI Workflow
94
+ 1. **Read INPUT.md**: Understand the specific test case and domain
95
+ 2. **Analyze/Create**: Use appropriate AI operation based on input type
96
+ 3. **Validate**: Ensure output validates with SpecVerse schema
97
+ 4. **Infer**: Use AI inference to expand to complete architecture
98
+ 5. **Generate**: Create diagrams and documentation
99
+
100
+ ### Template Customization Approach
101
+ - **Don't modify templates**: Let AI operations customize `specs/main.specly`
102
+ - **Start with generic**: AI will transform `Item` → domain models
103
+ - **Scale appropriately**: AI will add complexity based on input scale
104
+ - **Preserve user intent**: Maintain terminology and requirements from input
105
+
106
+ ## Deployment Specifications
107
+
108
+ SpecVerse v3.1 supports logical deployment specifications with capability-based architecture:
109
+
110
+ ### Basic Deployment Structure
111
+ ```yaml
112
+ deployments:
113
+ development: # Deployment name
114
+ version: "1.0.0"
115
+ environment: development # or production, staging, etc.
116
+ instances:
117
+ controllers:
118
+ ComponentController:
119
+ component: "ComponentName"
120
+ namespace: "api"
121
+ advertises: "*" # All capabilities
122
+ uses: ["database.*", "cache.*"]
123
+ scale: 2
124
+ services:
125
+ ComponentService:
126
+ component: "ComponentName"
127
+ namespace: "services"
128
+ advertises: ["process.*", "validate.*"]
129
+ uses: ["database.*"]
130
+ scale: 3
131
+ views:
132
+ webInterface:
133
+ component: "ComponentName"
134
+ namespace: "web"
135
+ uses: ["api.*", "services.*"]
136
+ scale: 1
137
+ communications:
138
+ mainBus:
139
+ namespace: "global"
140
+ capabilities: ["*"]
141
+ type: "pubsub" # or rpc, queue, streaming
142
+ storage:
143
+ mainDatabase:
144
+ component: "ComponentName"
145
+ namespace: "data"
146
+ type: "relational" # or document, keyvalue, cache, file, blob, queue, search
147
+ advertises: ["persistence.*", "query.*"]
148
+ persistence: "durable" # or session, cache, temporary
149
+ consistency: "strong" # or eventual, weak
150
+ scale: 2
151
+ backup: true
152
+ encryption: true
153
+ security:
154
+ authSystem:
155
+ component: "ComponentName"
156
+ namespace: "auth"
157
+ type: "authentication" # or authorization, encryption, audit, firewall, scanning, secrets, identity
158
+ provider: "oauth" # or saml, jwt, ldap, local, external, cloud, enterprise
159
+ scope: "global" # or component, namespace, instance, user, role
160
+ advertises: ["auth.*", "identity.*"]
161
+ policies: ["require-2fa", "session-timeout"]
162
+ encryption: "strong" # or none, basic, enterprise
163
+ auditLevel: "detailed" # or none, basic, comprehensive
164
+ ```
165
+
166
+ ### Deployment Scales
167
+
168
+ **Personal/Demo Scale:**
169
+ ```yaml
170
+ deployments:
171
+ personal:
172
+ instances:
173
+ controllers:
174
+ simpleAPI: { component: "ComponentName", scale: 1 }
175
+ storage:
176
+ localDB:
177
+ component: "ComponentName"
178
+ type: "relational"
179
+ persistence: "durable"
180
+ scale: 1
181
+ security:
182
+ simpleAuth:
183
+ component: "ComponentName"
184
+ type: "authentication"
185
+ provider: "local"
186
+ scope: "component"
187
+ ```
188
+
189
+ **Commercial Scale:**
190
+ ```yaml
191
+ deployments:
192
+ production:
193
+ instances:
194
+ controllers:
195
+ apiController: { component: "ComponentName", scale: 3 }
196
+ services:
197
+ authService: { component: "ComponentName", scale: 2 }
198
+ storage:
199
+ mainDB:
200
+ component: "ComponentName"
201
+ type: "relational"
202
+ persistence: "durable"
203
+ consistency: "strong"
204
+ scale: 2
205
+ backup: true
206
+ cache:
207
+ component: "ComponentName"
208
+ type: "keyvalue"
209
+ persistence: "cache"
210
+ scale: 1
211
+ security:
212
+ oauthAuth:
213
+ component: "ComponentName"
214
+ type: "authentication"
215
+ provider: "oauth"
216
+ scope: "global"
217
+ policies: ["session-management"]
218
+ rbacAuth:
219
+ component: "ComponentName"
220
+ type: "authorization"
221
+ provider: "local"
222
+ scope: "component"
223
+ policies: ["role-based"]
224
+ ```
225
+
226
+ **Enterprise Scale:**
227
+ ```yaml
228
+ deployments:
229
+ enterprise:
230
+ instances:
231
+ controllers:
232
+ apiGateway: { component: "ComponentName", scale: 10 }
233
+ services:
234
+ authService: { component: "ComponentName", scale: 5 }
235
+ storage:
236
+ primaryDB:
237
+ component: "ComponentName"
238
+ type: "relational"
239
+ persistence: "durable"
240
+ consistency: "strong"
241
+ scale: 5
242
+ replication: 2
243
+ backup: true
244
+ encryption: true
245
+ distributedCache:
246
+ component: "ComponentName"
247
+ type: "keyvalue"
248
+ persistence: "cache"
249
+ consistency: "eventual"
250
+ scale: 3
251
+ security:
252
+ enterpriseAuth:
253
+ component: "ComponentName"
254
+ type: "authentication"
255
+ provider: "enterprise"
256
+ scope: "global"
257
+ policies: ["sso", "mfa", "compliance"]
258
+ protocols: ["saml", "oauth2", "openid"]
259
+ encryption: "enterprise"
260
+ auditLevel: "comprehensive"
261
+ monitoring:
262
+ appMonitoring:
263
+ component: "ComponentName"
264
+ namespace: "monitoring"
265
+ type: "metrics" # metrics, logging, tracing, alerting, analytics, profiling, uptime, synthetic
266
+ provider: "prometheus" # prometheus, grafana, datadog, newrelic, splunk, elasticsearch, jaeger, zipkin, sentry, rollbar, cloudwatch, stackdriver, azure-monitor, local
267
+ scope: "component" # global, component, namespace, instance, service, request
268
+ retention: "medium" # short, medium, long, permanent
269
+ resolution: "high" # high, medium, low
270
+ sampling: 1.0 # 0.0 to 1.0
271
+ advertises: ["metrics.*"]
272
+ dashboards: ["overview", "errors"]
273
+ alerts: ["high-error-rate", "service-down"]
274
+ aggregation: true
275
+ realtime: false
276
+ infrastructure:
277
+ apiGateway:
278
+ component: "ComponentName"
279
+ namespace: "gateway"
280
+ type: "gateway" # gateway, loadbalancer, proxy, cdn, dns, registry, mesh, ingress
281
+ provider: "nginx" # aws, gcp, azure, cloudflare, vercel, netlify, kubernetes, istio, envoy, nginx, traefik, consul, local
282
+ tier: "regional" # edge, regional, global, local
283
+ redundancy: "basic" # none, basic, high, enterprise
284
+ advertises: ["routing.*"]
285
+ protocols: ["http", "https"]
286
+ healthChecks: true
287
+ autoScaling: false
288
+ ```
289
+
290
+ ### Auto-Generation
291
+ Deployments can be auto-generated using the `--deployment` flag:
292
+ ```bash
293
+ # Generate deployment for development
294
+ specverse infer specs/main.specly --deployment --environment development
295
+
296
+ # Generate deployment for production
297
+ specverse infer specs/main.specly --deployment --environment production
298
+ ```
299
+
300
+ ## Manifest System
301
+
302
+ SpecVerse v3.1 manifests provide implementation guidance with DRY architecture:
303
+
304
+ ### Modern Manifest Structure
305
+ ```yaml
306
+ specVersion: "3.1.0"
307
+ name: "ProjectName Implementation Manifest"
308
+ version: "1.0.0"
309
+
310
+ # Import standardized definitions
311
+ import:
312
+ - library: "@specverse/standards/nextjs"
313
+ select: ["controller", "view", "authentication"]
314
+ - library: "@specverse/standards/databases"
315
+ select: ["postgresql"]
316
+
317
+ # Define implementation types (DRY pattern)
318
+ implementationTypes:
319
+ nextjs-api:
320
+ extends: "@nextjs/controller"
321
+ localExtensions:
322
+ appRouterVersion: "14"
323
+ renderingMode: "SSR"
324
+
325
+ # Map logical deployments to implementations
326
+ logicalDeployment:
327
+ instances:
328
+ controllers:
329
+ ComponentController: "nextjs-api"
330
+
331
+ # Define capability mappings
332
+ capabilityMappings:
333
+ - capability: "api.*"
334
+ implementationType: "nextjs-api"
335
+ capabilityType: "advertises"
336
+ namespace: "web"
337
+
338
+ # Communication channels
339
+ communicationChannels:
340
+ - channelName: "mainBus"
341
+ implementationType: "nextjs-rpc"
342
+ namespace: "global"
343
+ capabilities: ["api.*"]
344
+ ```
345
+
346
+ ## Validation and Quality
347
+
348
+ ### Success Criteria
349
+ - **Domain Accuracy**: Models reflect the intended domain
350
+ - **Scale Appropriateness**: Complexity matches intended use case
351
+ - **Schema Compliance**: Output validates with SpecVerse v3.1 schema
352
+ - **User Intent Preservation**: Original requirements clearly addressed
353
+ - **Expansion Ratio**: Meets target expansion patterns
354
+
355
+ ### Common Pitfalls
356
+ - **Over-engineering**: Don't add enterprise features to simple use cases
357
+ - **Under-engineering**: Don't skip required features for target scale
358
+ - **Generic models**: Ensure models reflect specific domain
359
+ - **Authentication complexity**: Match auth complexity to scale
360
+
361
+ ## AI Prompting Best Practices
362
+
363
+ When working with any domain:
364
+
365
+ 1. **Reference INPUT.md**: Always start with the specific test case requirements
366
+ 2. **Preserve user terminology**: User language matters for scale and intent
367
+ 3. **Focus on domain**: Business domain models, not generic abstractions
368
+ 4. **Scale appropriately**: Personal ≠ Enterprise complexity
369
+ 5. **Include required features**: Domain-specific requirements are critical
370
+ 6. **Validate early**: Check schema compliance before expansion
371
+
372
+ ### AI Prompting Tips
373
+
374
+ When asking an AI to help with any project:
375
+
376
+ 1. **Reference guidance files**: "Follow the guidelines in AI-GUIDE.md and INPUT.md"
377
+ 2. **Use convention syntax**: "Use SpecVerse convention syntax"
378
+ 3. **Start minimal**: "Create minimal models, let inference expand"
379
+ 4. **Business focus**: "Focus on business logic, not implementation"
380
+ 5. **Include deployments**: "Add deployment specification for target environment"
381
+ 6. **Create manifests**: "Generate v3.1.0 manifest with standardized imports"
382
+
383
+ ## Schema Reference
384
+
385
+ For complete SpecVerse v3.1 schema with AI guidance, see:
386
+ - Local: `docs/ai-guidance/SPECVERSE-V3.1-SCHEMA-AI.yaml`
387
+ - Convention examples and patterns included
388
+ - Comprehensive type and modifier reference
389
+
390
+ ---
391
+ *SpecVerse v3.1 - AI-Powered Specification Language*
392
+ *Universal AI Development Guide*
@@ -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.1 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.1 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: ["*"]