@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,379 @@
1
+ # Cloud-Native Implementation Manifest
2
+
3
+ This example demonstrates how to implement the enhanced e-commerce deployment specification (from `06-02-enhanced-deployment-example.specly`) using **AWS cloud-native services** for enterprise-grade, scalable production deployments.
4
+
5
+ ## Overview
6
+
7
+ The **CloudNativeDeploymentManifest** shows how to implement logical deployment specifications using **AWS managed services** to achieve:
8
+ - **Enterprise scalability** with auto-scaling and multi-AZ deployment
9
+ - **High availability** with managed services and disaster recovery
10
+ - **Security best practices** with encryption, IAM, and network isolation
11
+ - **Operational excellence** with monitoring, logging, and automated maintenance
12
+
13
+ ## Architecture Overview
14
+
15
+ ```
16
+ ┌─────────────────────────────────────────────────────────────────────┐
17
+ │ AWS Cloud │
18
+ │ ┌─────────────────────────────────────────────────────────────────┐ │
19
+ │ │ Region: us-west-2 │ │
20
+ │ │ │ │
21
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
22
+ │ │ │ AZ-a │ │ AZ-b │ │ AZ-c │ │ │
23
+ │ │ │ EKS Nodes │ │ EKS Nodes │ │ EKS Nodes │ │ │
24
+ │ │ │ Web Apps │ │ Web Apps │ │ Web Apps │ │ │
25
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
26
+ │ │ │ │ │ │ │
27
+ │ │ ┌───────▼───────────────────▼───────────────────▼──────────┐ │ │
28
+ │ │ │ Application Load Balancer │ │ │
29
+ │ │ └─────────────────────────────────────────────────────────┘ │ │
30
+ │ │ │ │
31
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
32
+ │ │ │ RDS │ │ ElastiCache │ │ CloudWatch │ │ │
33
+ │ │ │ Multi-AZ │ │ Cluster │ │ Prometheus │ │ │
34
+ │ │ │ PostgreSQL │ │ Redis │ │ Grafana │ │ │
35
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
36
+ │ └─────────────────────────────────────────────────────────────────┘ │
37
+ │ │
38
+ │ ┌─────────────────────────────────────────────────────────────────┐ │
39
+ │ │ Global Services │ │
40
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
41
+ │ │ │ CloudFront │ │ Route 53 │ │ WAF │ │ │
42
+ │ │ │ CDN │ │ DNS │ │ Firewall │ │ │
43
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
44
+ │ └─────────────────────────────────────────────────────────────────┘ │
45
+ └─────────────────────────────────────────────────────────────────────┘
46
+ ```
47
+
48
+ ## Key Implementation Mappings
49
+
50
+ ### SpecVerse Components → AWS Services
51
+
52
+ | SpecVerse Component | AWS Service | Configuration |
53
+ |-------------------|-------------|---------------|
54
+ | `Application` | **EKS** + **EC2** | Auto-scaling node groups, managed Kubernetes |
55
+ | `Database` | **RDS PostgreSQL** | Multi-AZ, encrypted, automated backups |
56
+ | `Cache` | **ElastiCache Redis** | Cluster mode, encryption, automatic failover |
57
+ | `MonitoringStack` | **CloudWatch** + **Prometheus** | Managed Prometheus + Grafana workspaces |
58
+ | `NetworkPolicy` | **VPC** + **Security Groups** | Private subnets, controlled ingress/egress |
59
+ | Load Balancing | **Application Load Balancer** | SSL termination, health checks, auto-scaling |
60
+ | CDN | **CloudFront** | Global edge locations, caching policies |
61
+ | Security | **IAM** + **Secrets Manager** + **KMS** | Least privilege, encryption at rest/transit |
62
+
63
+ ## Implementation Features
64
+
65
+ ### 🌍 **Global Scale & Performance**
66
+ - **Multi-AZ Deployment**: Spread across 3 availability zones
67
+ - **CloudFront CDN**: Global content delivery with edge caching
68
+ - **Auto Scaling**: Application and infrastructure level scaling
69
+ - **Regional Distribution**: Primary region with DR capability
70
+
71
+ ### 🔒 **Enterprise Security**
72
+ - **Encryption Everywhere**: At rest (KMS) and in transit (TLS)
73
+ - **IAM Roles**: Least privilege access with service-specific roles
74
+ - **Secrets Management**: AWS Secrets Manager for credentials
75
+ - **Network Security**: VPC with private subnets and security groups
76
+ - **Web Application Firewall**: AWS WAF for DDoS and application protection
77
+
78
+ ### 📊 **Comprehensive Observability**
79
+ - **AWS CloudWatch**: Native AWS service monitoring
80
+ - **Managed Prometheus**: EKS-integrated metrics collection
81
+ - **Managed Grafana**: Enterprise dashboards and alerting
82
+ - **AWS X-Ray**: Distributed tracing for microservices
83
+ - **Performance Insights**: Database performance monitoring
84
+
85
+ ### ⚡ **High Availability & Resilience**
86
+ - **Multi-AZ RDS**: Automatic failover database
87
+ - **ElastiCache Clustering**: Redis with automatic failover
88
+ - **EKS Multi-AZ**: Kubernetes control plane across AZs
89
+ - **Cross-Region Backups**: Disaster recovery strategy
90
+ - **Circuit Breakers**: Application-level resilience patterns
91
+
92
+ ## Generated Infrastructure
93
+
94
+ ### Terraform Configuration
95
+ ```hcl
96
+ # EKS Cluster
97
+ resource "aws_eks_cluster" "ecommerce" {
98
+ name = "ecommerce-staging"
99
+ role_arn = aws_iam_role.eks_cluster_role.arn
100
+ version = "1.28"
101
+
102
+ vpc_config {
103
+ subnet_ids = aws_subnet.private[*].id
104
+ endpoint_private_access = true
105
+ endpoint_public_access = true
106
+ public_access_cidrs = ["0.0.0.0/0"]
107
+ }
108
+
109
+ encryption_config {
110
+ provider {
111
+ key_arn = aws_kms_key.eks.arn
112
+ }
113
+ resources = ["secrets"]
114
+ }
115
+ }
116
+
117
+ # RDS PostgreSQL Cluster
118
+ resource "aws_rds_cluster" "ecommerce" {
119
+ cluster_identifier = "ecommerce-postgres"
120
+ engine = "postgres"
121
+ engine_version = "15.4"
122
+ database_name = "ecommerce"
123
+ master_username = "postgres"
124
+ manage_master_user_password = true
125
+
126
+ vpc_security_group_ids = [aws_security_group.rds.id]
127
+ db_subnet_group_name = aws_db_subnet_group.main.name
128
+
129
+ backup_retention_period = 7
130
+ preferred_backup_window = "03:00-04:00"
131
+
132
+ storage_encrypted = true
133
+ kms_key_id = aws_kms_key.rds.arn
134
+
135
+ deletion_protection = true
136
+
137
+ performance_insights_enabled = true
138
+ }
139
+
140
+ # ElastiCache Redis Cluster
141
+ resource "aws_elasticache_replication_group" "ecommerce" {
142
+ replication_group_id = "ecommerce-cache"
143
+ description = "E-commerce session cache"
144
+
145
+ node_type = "cache.t3.micro"
146
+ port = 6379
147
+ parameter_group_name = "default.redis7"
148
+
149
+ num_cache_clusters = 3
150
+ automatic_failover_enabled = true
151
+ multi_az_enabled = true
152
+
153
+ subnet_group_name = aws_elasticache_subnet_group.main.name
154
+ security_group_ids = [aws_security_group.redis.id]
155
+
156
+ at_rest_encryption_enabled = true
157
+ transit_encryption_enabled = true
158
+ auth_token = random_password.redis_auth.result
159
+ }
160
+ ```
161
+
162
+ ### Kubernetes Deployment
163
+ ```yaml
164
+ apiVersion: apps/v1
165
+ kind: Deployment
166
+ metadata:
167
+ name: ecommerce-web
168
+ namespace: ecommerce
169
+ spec:
170
+ replicas: 6
171
+ selector:
172
+ matchLabels:
173
+ app: ecommerce-web
174
+ template:
175
+ spec:
176
+ containers:
177
+ - name: web
178
+ image: your-account.dkr.ecr.us-west-2.amazonaws.com/ecommerce-web:latest
179
+ ports:
180
+ - containerPort: 8080
181
+ resources:
182
+ requests:
183
+ memory: "512Mi"
184
+ cpu: "250m"
185
+ limits:
186
+ memory: "1Gi"
187
+ cpu: "500m"
188
+ env:
189
+ - name: DATABASE_URL
190
+ valueFrom:
191
+ secretKeyRef:
192
+ name: ecommerce-database-credentials
193
+ key: connection-string
194
+ - name: REDIS_URL
195
+ valueFrom:
196
+ secretKeyRef:
197
+ name: ecommerce-redis-credentials
198
+ key: connection-string
199
+ livenessProbe:
200
+ httpGet:
201
+ path: /health
202
+ port: 8080
203
+ initialDelaySeconds: 30
204
+ periodSeconds: 10
205
+ readinessProbe:
206
+ httpGet:
207
+ path: /ready
208
+ port: 8080
209
+ initialDelaySeconds: 5
210
+ periodSeconds: 5
211
+ ```
212
+
213
+ ## Cost Optimization Strategies
214
+
215
+ ### 🎯 **Resource Right-Sizing**
216
+ - **Spot Instances**: Use for non-critical workloads (up to 90% savings)
217
+ - **Reserved Instances**: 1-3 year commitments for predictable workloads
218
+ - **Auto Scaling**: Scale down during low traffic periods
219
+ - **Storage Optimization**: Use appropriate EBS volume types
220
+
221
+ ### 📈 **Monitoring & Alerts**
222
+ - **Cost Anomaly Detection**: AWS Cost Explorer alerts
223
+ - **Resource Utilization**: CloudWatch metrics and recommendations
224
+ - **Rightsizing Recommendations**: AWS Compute Optimizer
225
+ - **Unused Resource Detection**: AWS Trusted Advisor
226
+
227
+ ## Deployment Strategy
228
+
229
+ ### 1. **Infrastructure Provisioning**
230
+ ```bash
231
+ # Initialize Terraform
232
+ terraform init
233
+ terraform plan -var-file="production.tfvars"
234
+ terraform apply
235
+
236
+ # Configure kubectl
237
+ aws eks update-kubeconfig --region us-west-2 --name ecommerce-staging
238
+ ```
239
+
240
+ ### 2. **Application Deployment**
241
+ ```bash
242
+ # Deploy using Helm
243
+ helm repo add ecommerce ./helm-charts
244
+ helm upgrade --install ecommerce ecommerce/ecommerce \
245
+ --namespace ecommerce \
246
+ --create-namespace \
247
+ --values values-production.yaml
248
+
249
+ # Configure monitoring
250
+ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
251
+ helm upgrade --install monitoring prometheus-community/kube-prometheus-stack \
252
+ --namespace monitoring \
253
+ --create-namespace
254
+ ```
255
+
256
+ ### 3. **Security Hardening**
257
+ ```bash
258
+ # Apply security policies
259
+ kubectl apply -f security/network-policies.yaml
260
+ kubectl apply -f security/pod-security-standards.yaml
261
+
262
+ # Configure service mesh (optional)
263
+ istioctl install --set values.pilot.env.EXTERNAL_ISTIOD=false
264
+ kubectl label namespace ecommerce istio-injection=enabled
265
+ ```
266
+
267
+ ## AI Implementation Guidance
268
+
269
+ The manifest provides **comprehensive guidance** for:
270
+ - **Infrastructure as Code**: Terraform best practices for AWS
271
+ - **Security Hardening**: Multi-layered security implementation
272
+ - **Observability Setup**: Complete monitoring and alerting stack
273
+ - **High Availability**: Multi-AZ and cross-region strategies
274
+ - **Cost Management**: Optimization strategies and monitoring
275
+ - **Compliance**: AWS Well-Architected Framework alignment
276
+ - **GitOps Integration**: CI/CD pipeline configuration
277
+ - **Disaster Recovery**: Backup and restore procedures
278
+
279
+ This implementation demonstrates how SpecVerse **manifests enable enterprise-grade deployments** by bridging logical specifications with cloud-native infrastructure, providing teams with production-ready, scalable, and secure deployment strategies.
280
+
281
+ ## Diagrams
282
+
283
+ <div className="diagram-generated">
284
+
285
+ ### Technology Stack
286
+
287
+ <Mermaid chart={`
288
+ graph TB
289
+ %% Manifest Mapping
290
+
291
+ subgraph database_layer["🗄️ DATABASE"]
292
+ direction LR
293
+ tech_postgresql_rds("postgresql<br>rds<br>vlatest")
294
+ tech_redis_elasticache("redis<br>elasticache<br>vlatest")
295
+ end
296
+
297
+ subgraph infrastructure_layer["🏗️ INFRASTRUCTURE"]
298
+ direction LR
299
+ tech_kubernetes_eks("kubernetes<br>eks<br>vlatest")
300
+ tech_aws_alb("aws<br>alb<br>vlatest")
301
+ end
302
+
303
+
304
+ style tech_postgresql_rds fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000
305
+ style tech_redis_elasticache fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000
306
+ style tech_kubernetes_eks fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
307
+ style tech_aws_alb fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
308
+ `}/>
309
+
310
+ ### Capability Bindings
311
+
312
+ <Mermaid chart={`
313
+ graph LR
314
+ %% Manifest Mapping
315
+
316
+ subgraph capabilities_layer["🎯 CAPABILITIES"]
317
+ direction TB
318
+ cap_0{{"web.*<br>(1 impl)"}}
319
+ cap_1{{"database.*<br>(1 impl)"}}
320
+ cap_2{{"cache.*<br>(1 impl)"}}
321
+ cap_3{{"routing.*<br>(1 impl)"}}
322
+ end
323
+
324
+ impl_CloudNativeDeploymentManifest_CloudWebApplication("CloudNativeDeploymentManifest.CloudWebApplication")
325
+ impl_CloudNativeDeploymentManifest_CloudDatabase("CloudNativeDeploymentManifest.CloudDatabase")
326
+ impl_CloudNativeDeploymentManifest_CloudCache("CloudNativeDeploymentManifest.CloudCache")
327
+ impl_CloudNativeDeploymentManifest_CloudLoadBalancer("CloudNativeDeploymentManifest.CloudLoadBalancer")
328
+
329
+
330
+ %% Relationships
331
+ cap_0 -->|"binds to"| impl_CloudNativeDeploymentManifest_CloudWebApplication
332
+ cap_1 -->|"binds to"| impl_CloudNativeDeploymentManifest_CloudDatabase
333
+ cap_2 -->|"binds to"| impl_CloudNativeDeploymentManifest_CloudCache
334
+ cap_3 -->|"binds to"| impl_CloudNativeDeploymentManifest_CloudLoadBalancer
335
+
336
+ style cap_0 fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000
337
+ style impl_CloudNativeDeploymentManifest_CloudWebApplication fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
338
+ style cap_1 fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000
339
+ style impl_CloudNativeDeploymentManifest_CloudDatabase fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
340
+ style cap_2 fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000
341
+ style impl_CloudNativeDeploymentManifest_CloudCache fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
342
+ style cap_3 fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000
343
+ style impl_CloudNativeDeploymentManifest_CloudLoadBalancer fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
344
+ `}/>
345
+
346
+ ### Manifest Mapping
347
+
348
+ <Mermaid chart={`
349
+ graph LR
350
+ %% Manifest Mapping
351
+
352
+ subgraph manifests_layer["📋 MANIFESTS (Implementation Mapping)"]
353
+ direction TB
354
+ manifest_CloudNativeDeploymentManifest{{"CloudNativeDeploymentManifest<br>v1.0.0<br>Types: 4 | Behaviors: 2"}}
355
+ end
356
+
357
+ subgraph implementation_layer["🔧 IMPLEMENTATION (Technology)"]
358
+ direction TB
359
+ impl_CloudNativeDeploymentManifest_CloudWebApplication("CloudWebApplication<br>kubernetes / eks")
360
+ impl_CloudNativeDeploymentManifest_CloudDatabase("CloudDatabase<br>postgresql / rds")
361
+ impl_CloudNativeDeploymentManifest_CloudCache("CloudCache<br>redis / elasticache")
362
+ impl_CloudNativeDeploymentManifest_CloudLoadBalancer("CloudLoadBalancer<br>aws / alb")
363
+ end
364
+
365
+
366
+ %% Relationships
367
+ manifest_CloudNativeDeploymentManifest -->|"implements"| impl_CloudNativeDeploymentManifest_CloudWebApplication
368
+ manifest_CloudNativeDeploymentManifest -->|"implements"| impl_CloudNativeDeploymentManifest_CloudDatabase
369
+ manifest_CloudNativeDeploymentManifest -->|"implements"| impl_CloudNativeDeploymentManifest_CloudCache
370
+ manifest_CloudNativeDeploymentManifest -->|"implements"| impl_CloudNativeDeploymentManifest_CloudLoadBalancer
371
+
372
+ style manifest_CloudNativeDeploymentManifest fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
373
+ style impl_CloudNativeDeploymentManifest_CloudWebApplication fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
374
+ style impl_CloudNativeDeploymentManifest_CloudDatabase fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
375
+ style impl_CloudNativeDeploymentManifest_CloudCache fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
376
+ style impl_CloudNativeDeploymentManifest_CloudLoadBalancer fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000
377
+ `}/>
378
+
379
+ </div>
@@ -0,0 +1,60 @@
1
+ manifests:
2
+ CloudNativeDeploymentManifest:
3
+ specVersion: "3.5.0"
4
+ name: "CloudNativeDeploymentManifest"
5
+ description: "Cloud-native implementation manifest for AWS EKS deployment"
6
+ version: "1.0.0"
7
+
8
+ deployment:
9
+ deploymentSource: "./06-01-basic-deployment.specly"
10
+ deploymentName: "basicWebApplication"
11
+
12
+ defaultMappings:
13
+ controller: "CloudWebApplication"
14
+ storage: "CloudDatabase"
15
+
16
+ capabilityMappings:
17
+ - capability: "web.*"
18
+ instanceFactory: "CloudWebApplication"
19
+
20
+ - capability: "database.*"
21
+ instanceFactory: "CloudDatabase"
22
+
23
+ - capability: "cache.*"
24
+ instanceFactory: "CloudCache"
25
+
26
+ - capability: "routing.*"
27
+ instanceFactory: "CloudLoadBalancer"
28
+
29
+ instanceMappings:
30
+ - instanceName: "webApplicationController"
31
+ instanceFactory: "CloudWebApplication"
32
+
33
+ - instanceName: "loadBalancerInstance"
34
+ instanceFactory: "CloudLoadBalancer"
35
+
36
+ configuration:
37
+ # Cloud-specific extensions
38
+ cloudProvider: "aws"
39
+ region: "us-east-1"
40
+ availabilityZones: ["us-east-1a", "us-east-1b", "us-east-1c"]
41
+
42
+ networking:
43
+ vpc: "vpc-0123456789abcdef0"
44
+ subnets:
45
+ public: ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"]
46
+ private: ["subnet-0123456789abcdef2", "subnet-0123456789abcdef3"]
47
+
48
+ security:
49
+ iamRoles:
50
+ eksClusterRole: "arn:aws:iam::123456789012:role/EKSClusterRole"
51
+ eksNodeRole: "arn:aws:iam::123456789012:role/EKSNodeRole"
52
+ kmsKeys:
53
+ ebs: "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
54
+ rds: "arn:aws:kms:us-east-1:123456789012:key/87654321-4321-4321-4321-210987654321"
55
+
56
+ monitoring:
57
+ cloudWatch: true
58
+ prometheusOperator: true
59
+ grafana: true
60
+ alertManager: true
@@ -0,0 +1,8 @@
1
+ title: "Docker Compose Deployment Manifest"
2
+ description: "Docker Compose implementation manifest for local and staging deployment"
3
+ difficulty: intermediate
4
+ concepts: [manifests, docker-compose, deployment]
5
+ prerequisites: []
6
+ category: deploy
7
+ order: 4
8
+ companionFiles: [docker-compose-manifest.md]