@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.
- package/assets/examples/09-api/ai-spec.yaml +194 -0
- package/assets/examples/09-api/converted.yaml +95 -0
- package/assets/examples/09-api/diagram-architecture.mmd +10 -0
- package/assets/examples/09-api/diagram-er.mmd +10 -0
- package/assets/examples/09-api/documentation.html +104 -0
- package/assets/examples/09-api/documentation.md +95 -0
- package/assets/examples/09-api/inferred-spec.yaml +420 -0
- package/assets/examples/09-api/openapi.json +61 -0
- package/assets/examples/10-api/README.md +216 -0
- package/assets/examples/10-api/ai-spec.yaml +194 -0
- package/assets/examples/10-api/converted.yaml +96 -0
- package/assets/examples/10-api/diagram-architecture.mmd +10 -0
- package/assets/examples/10-api/diagram-er.mmd +10 -0
- package/assets/examples/10-api/documentation.html +104 -0
- package/assets/examples/10-api/documentation.md +95 -0
- package/assets/examples/10-api/inferred-spec.yaml +7 -0
- package/assets/examples/10-api/metadata.yaml +89 -0
- package/assets/examples/10-api/openapi.json +61 -0
- package/assets/examples/10-api/package-integration-test.js +177 -0
- package/assets/examples/10-api/usage-example.js +323 -0
- package/assets/examples/10-api/usage-example.ts +363 -0
- package/assets/examples/10-api/workflow-test.js +113 -0
- package/assets/examples/manifests/01-simple-default-mappings.yaml +36 -0
- package/assets/examples/manifests/02-capability-mappings.yaml +55 -0
- package/assets/examples/manifests/03-hybrid-mappings.yaml +109 -0
- package/assets/examples/manifests/README.md +245 -0
- package/assets/examples/manifests/backend-only.yaml +43 -0
- package/assets/examples/manifests/blog-api.md +78 -0
- package/assets/examples/manifests/blog-api.specly +79 -0
- package/assets/examples/manifests/frontend-only.yaml +27 -0
- package/assets/examples/manifests/fullstack-app.yaml +44 -0
- package/assets/examples/manifests/fullstack-monorepo.yaml +62 -0
- package/assets/examples/validate-examples-with-expected-failures.cjs +328 -0
- package/assets/examples/validate-examples.cjs +225 -0
- package/assets/examples-decomposed/cloud-native-manifest.example.yaml +8 -0
- package/assets/examples-decomposed/cloud-native-manifest.md +379 -0
- package/assets/examples-decomposed/cloud-native-manifest.specly +60 -0
- package/assets/examples-decomposed/docker-compose-manifest.example.yaml +8 -0
- package/assets/examples-decomposed/docker-compose-manifest.md +326 -0
- package/assets/examples-decomposed/docker-compose-manifest.specly +40 -0
- package/assets/examples-decomposed/kubernetes-deployment-manifest.example.yaml +8 -0
- package/assets/examples-decomposed/kubernetes-deployment-manifest.md +237 -0
- package/assets/examples-decomposed/kubernetes-deployment-manifest.specly +41 -0
- package/assets/templates/README.md +559 -0
- package/assets/templates/TEMPLATE-ENHANCEMENTS-V33.md +462 -0
- package/assets/templates/backend-only/CLAUDE.md +73 -0
- package/assets/templates/backend-only/README.md +197 -0
- package/assets/templates/backend-only/deployments/README.md +149 -0
- package/assets/templates/backend-only/deployments/development.specly +53 -0
- package/assets/templates/backend-only/deployments/production.specly +87 -0
- package/assets/templates/backend-only/docs/README.md +50 -0
- package/assets/templates/backend-only/docs/api/README.md +7 -0
- package/assets/templates/backend-only/docs/diagrams/README.md +85 -0
- package/assets/templates/backend-only/docs/example-documentation-template.md +269 -0
- package/assets/templates/backend-only/docs/guides/README.md +15 -0
- package/assets/templates/backend-only/dot.env.example +18 -0
- package/assets/templates/backend-only/generated/README.md +56 -0
- package/assets/templates/backend-only/generated/code/integration-test.template.js +320 -0
- package/assets/templates/backend-only/generated/code/package.json.template +34 -0
- package/assets/templates/backend-only/generated/docs/README.md +49 -0
- package/assets/templates/backend-only/gitignore +54 -0
- package/assets/templates/backend-only/manifests/README.md +72 -0
- package/assets/templates/backend-only/manifests/docker-compose.specly +91 -0
- package/assets/templates/backend-only/manifests/implementation.yaml +100 -0
- package/assets/templates/backend-only/manifests/kubernetes.specly +140 -0
- package/assets/templates/backend-only/package.json +59 -0
- package/assets/templates/backend-only/scripts/test-all.sh +160 -0
- package/assets/templates/backend-only/scripts/test-generated-code.sh +165 -0
- package/assets/templates/backend-only/specs/main.specly +67 -0
- package/assets/templates/default/CLAUDE.md +141 -0
- package/assets/templates/default/README.md +404 -0
- package/assets/templates/default/deployments/README.md +149 -0
- package/assets/templates/default/deployments/development.specly +53 -0
- package/assets/templates/default/deployments/production.specly +87 -0
- package/assets/templates/default/docs/README.md +50 -0
- package/assets/templates/default/docs/api/README.md +7 -0
- package/assets/templates/default/docs/diagrams/README.md +85 -0
- package/assets/templates/default/docs/example-documentation-template.md +269 -0
- package/assets/templates/default/docs/guides/README.md +15 -0
- package/assets/templates/default/dot.env.example +18 -0
- package/assets/templates/default/generated/README.md +56 -0
- package/assets/templates/default/generated/code/integration-test.template.js +320 -0
- package/assets/templates/default/generated/code/package.json.template +34 -0
- package/assets/templates/default/generated/docs/README.md +49 -0
- package/assets/templates/default/gitignore +54 -0
- package/assets/templates/default/manifests/README.md +72 -0
- package/assets/templates/default/manifests/docker-compose.specly +91 -0
- package/assets/templates/default/manifests/implementation.yaml +176 -0
- package/assets/templates/default/manifests/kubernetes.specly +140 -0
- package/assets/templates/default/package.json +61 -0
- package/assets/templates/default/scripts/test-all.sh +160 -0
- package/assets/templates/default/scripts/test-generated-code.sh +165 -0
- package/assets/templates/default/specs/main.specly +67 -0
- package/assets/templates/frontend-only/CLAUDE.md +75 -0
- package/assets/templates/frontend-only/README.md +231 -0
- package/assets/templates/frontend-only/deployments/README.md +149 -0
- package/assets/templates/frontend-only/deployments/development.specly +53 -0
- package/assets/templates/frontend-only/deployments/production.specly +87 -0
- package/assets/templates/frontend-only/docs/README.md +50 -0
- package/assets/templates/frontend-only/docs/api/README.md +7 -0
- package/assets/templates/frontend-only/docs/diagrams/README.md +85 -0
- package/assets/templates/frontend-only/docs/example-documentation-template.md +269 -0
- package/assets/templates/frontend-only/docs/guides/README.md +15 -0
- package/assets/templates/frontend-only/dot.env.example +18 -0
- package/assets/templates/frontend-only/generated/README.md +56 -0
- package/assets/templates/frontend-only/generated/code/integration-test.template.js +320 -0
- package/assets/templates/frontend-only/generated/code/package.json.template +34 -0
- package/assets/templates/frontend-only/generated/docs/README.md +49 -0
- package/assets/templates/frontend-only/gitignore +54 -0
- package/assets/templates/frontend-only/manifests/README.md +72 -0
- package/assets/templates/frontend-only/manifests/docker-compose.specly +91 -0
- package/assets/templates/frontend-only/manifests/implementation.yaml +58 -0
- package/assets/templates/frontend-only/manifests/kubernetes.specly +140 -0
- package/assets/templates/frontend-only/package.json +59 -0
- package/assets/templates/frontend-only/scripts/test-all.sh +160 -0
- package/assets/templates/frontend-only/scripts/test-generated-code.sh +165 -0
- package/assets/templates/frontend-only/specs/main.specly +57 -0
- package/assets/templates/full-stack/AI-GUIDE.md +60 -0
- package/assets/templates/full-stack/CLAUDE.md +141 -0
- package/assets/templates/full-stack/README.md +382 -0
- package/assets/templates/full-stack/archive/AI-GUIDE-legacy.md +392 -0
- package/assets/templates/full-stack/deployments/README.md +149 -0
- package/assets/templates/full-stack/deployments/development.specly +53 -0
- package/assets/templates/full-stack/deployments/production.specly +87 -0
- package/assets/templates/full-stack/docs/README.md +51 -0
- package/assets/templates/full-stack/docs/api/README.md +7 -0
- package/assets/templates/full-stack/docs/diagrams/README.md +85 -0
- package/assets/templates/full-stack/docs/example-documentation-template.md +269 -0
- package/assets/templates/full-stack/docs/guides/README.md +15 -0
- package/assets/templates/full-stack/generated/README.md +56 -0
- package/assets/templates/full-stack/generated/code/integration-test.template.js +320 -0
- package/assets/templates/full-stack/generated/code/package.json.template +34 -0
- package/assets/templates/full-stack/generated/docs/README.md +49 -0
- package/assets/templates/full-stack/gitignore +54 -0
- package/assets/templates/full-stack/manifests/README.md +72 -0
- package/assets/templates/full-stack/manifests/docker-compose.specly +91 -0
- package/assets/templates/full-stack/manifests/implementation.yaml +155 -0
- package/assets/templates/full-stack/manifests/kubernetes.specly +140 -0
- package/assets/templates/full-stack/package.json +45 -0
- package/assets/templates/full-stack/scripts/test-all.sh +160 -0
- package/assets/templates/full-stack/scripts/test-generated-code.sh +165 -0
- package/assets/templates/full-stack/specs/example-v33.specly +297 -0
- package/assets/templates/full-stack/specs/main-simple.specly +73 -0
- package/assets/templates/full-stack/specs/main.specly +408 -0
- package/dist/engines/code-generator.d.ts +86 -0
- package/dist/engines/code-generator.d.ts.map +1 -0
- package/dist/engines/code-generator.js +159 -0
- package/dist/engines/code-generator.js.map +1 -0
- package/dist/engines/engine-registry.d.ts +94 -0
- package/dist/engines/engine-registry.d.ts.map +1 -0
- package/dist/engines/engine-registry.js +163 -0
- package/dist/engines/engine-registry.js.map +1 -0
- package/dist/engines/index.d.ts +10 -0
- package/dist/engines/index.d.ts.map +1 -0
- package/dist/engines/index.js +12 -0
- package/dist/engines/index.js.map +1 -0
- package/dist/engines/typescript-engine.d.ts +74 -0
- package/dist/engines/typescript-engine.d.ts.map +1 -0
- package/dist/engines/typescript-engine.js +288 -0
- package/dist/engines/typescript-engine.js.map +1 -0
- package/dist/generators/index.d.ts +11 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +11 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +434 -0
- package/dist/index.js.map +1 -0
- package/dist/library/index.d.ts +12 -0
- package/dist/library/index.d.ts.map +1 -0
- package/dist/library/index.js +15 -0
- package/dist/library/index.js.map +1 -0
- package/dist/library/library.d.ts +132 -0
- package/dist/library/library.d.ts.map +1 -0
- package/dist/library/library.js +343 -0
- package/dist/library/library.js.map +1 -0
- package/dist/library/loader.d.ts +73 -0
- package/dist/library/loader.d.ts.map +1 -0
- package/dist/library/loader.js +150 -0
- package/dist/library/loader.js.map +1 -0
- package/dist/library/resolver.d.ts +104 -0
- package/dist/library/resolver.d.ts.map +1 -0
- package/dist/library/resolver.js +299 -0
- package/dist/library/resolver.js.map +1 -0
- package/dist/library/validator.d.ts +65 -0
- package/dist/library/validator.d.ts.map +1 -0
- package/dist/library/validator.js +203 -0
- package/dist/library/validator.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/instance-factory.d.ts +289 -0
- package/dist/types/instance-factory.d.ts.map +1 -0
- package/dist/types/instance-factory.js +8 -0
- package/dist/types/instance-factory.js.map +1 -0
- package/dist/types/unified-mappings.d.ts +163 -0
- package/dist/types/unified-mappings.d.ts.map +1 -0
- package/dist/types/unified-mappings.js +110 -0
- package/dist/types/unified-mappings.js.map +1 -0
- package/dist/utils/ai-spec-loader.d.ts +77 -0
- package/dist/utils/ai-spec-loader.d.ts.map +1 -0
- package/dist/utils/ai-spec-loader.js +138 -0
- package/dist/utils/ai-spec-loader.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/manifest-loader.d.ts +107 -0
- package/dist/utils/manifest-loader.d.ts.map +1 -0
- package/dist/utils/manifest-loader.js +168 -0
- package/dist/utils/manifest-loader.js.map +1 -0
- package/dist/utils/mapping-migration.d.ts +53 -0
- package/dist/utils/mapping-migration.d.ts.map +1 -0
- package/dist/utils/mapping-migration.js +194 -0
- package/dist/utils/mapping-migration.js.map +1 -0
- package/libs/instance-factories/CURVED-INTERFACE.md +278 -0
- package/libs/instance-factories/README.md +433 -0
- package/libs/instance-factories/applications/generic-app.yaml +52 -0
- package/libs/instance-factories/applications/react-app.yaml +186 -0
- package/libs/instance-factories/applications/templates/generic/backend-env-generator.ts +31 -0
- package/libs/instance-factories/applications/templates/generic/backend-package-json-generator.ts +80 -0
- package/libs/instance-factories/applications/templates/generic/backend-tsconfig-generator.ts +69 -0
- package/libs/instance-factories/applications/templates/generic/main-generator.ts +308 -0
- package/libs/instance-factories/applications/templates/react/_view-components-source.ts +555 -0
- package/libs/instance-factories/applications/templates/react/api-client-generator.ts +436 -0
- package/libs/instance-factories/applications/templates/react/api-types-generator.ts +153 -0
- package/libs/instance-factories/applications/templates/react/app-tsx-generator.ts +94 -0
- package/libs/instance-factories/applications/templates/react/env-example-generator.ts +24 -0
- package/libs/instance-factories/applications/templates/react/field-helpers-generator.ts +106 -0
- package/libs/instance-factories/applications/templates/react/gitignore-generator.ts +38 -0
- package/libs/instance-factories/applications/templates/react/index-css-generator.ts +85 -0
- package/libs/instance-factories/applications/templates/react/index-html-generator.ts +30 -0
- package/libs/instance-factories/applications/templates/react/main-tsx-generator.ts +34 -0
- package/libs/instance-factories/applications/templates/react/package-json-generator.ts +54 -0
- package/libs/instance-factories/applications/templates/react/pattern-adapter-generator.ts +179 -0
- package/libs/instance-factories/applications/templates/react/react-pattern-adapter.tsx +1347 -0
- package/libs/instance-factories/applications/templates/react/relationship-field-generator.ts +150 -0
- package/libs/instance-factories/applications/templates/react/tailwind-adapter-generator.ts +704 -0
- package/libs/instance-factories/applications/templates/react/tailwind-adapter-wrapper-generator.ts +84 -0
- package/libs/instance-factories/applications/templates/react/tsconfig-generator.ts +35 -0
- package/libs/instance-factories/applications/templates/react/use-api-hooks-generator.ts +121 -0
- package/libs/instance-factories/applications/templates/react/view-dashboard-generator.ts +150 -0
- package/libs/instance-factories/applications/templates/react/view-detail-generator.ts +150 -0
- package/libs/instance-factories/applications/templates/react/view-form-generator.ts +362 -0
- package/libs/instance-factories/applications/templates/react/view-list-generator.ts +98 -0
- package/libs/instance-factories/applications/templates/react/view-router-generator.ts +89 -0
- package/libs/instance-factories/applications/templates/react/vite-config-generator.ts +49 -0
- package/libs/instance-factories/archived/fastify-prisma.yaml +104 -0
- package/libs/instance-factories/cli/commander-js.yaml +55 -0
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.d.ts +12 -0
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.d.ts.map +1 -0
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.js +115 -0
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.js.map +1 -0
- package/libs/instance-factories/cli/templates/commander/cli-entry-generator.ts +145 -0
- package/libs/instance-factories/cli/templates/commander/command-generator.d.ts +14 -0
- package/libs/instance-factories/cli/templates/commander/command-generator.d.ts.map +1 -0
- package/libs/instance-factories/cli/templates/commander/command-generator.js +182 -0
- package/libs/instance-factories/cli/templates/commander/command-generator.js.map +1 -0
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +992 -0
- package/libs/instance-factories/communication/event-emitter.yaml +56 -0
- package/libs/instance-factories/communication/rabbitmq-events.yaml +87 -0
- package/libs/instance-factories/communication/templates/eventemitter/bus-generator.ts +93 -0
- package/libs/instance-factories/communication/templates/eventemitter/publisher-generator.ts +117 -0
- package/libs/instance-factories/communication/templates/eventemitter/subscriber-generator.ts +101 -0
- package/libs/instance-factories/controllers/fastify.yaml +127 -0
- package/libs/instance-factories/controllers/templates/fastify/meta-routes-generator.ts +103 -0
- package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +389 -0
- package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +76 -0
- package/libs/instance-factories/infrastructure/docker-k8s.yaml +61 -0
- package/libs/instance-factories/infrastructure/templates/docker-k8s/infrastructure-generator.ts +46 -0
- package/libs/instance-factories/orms/prisma.yaml +89 -0
- package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +563 -0
- package/libs/instance-factories/orms/templates/prisma/services-generator.ts +408 -0
- package/libs/instance-factories/scaffolding/generic-scaffold.yaml +65 -0
- package/libs/instance-factories/scaffolding/templates/generic/env-example-generator.ts +73 -0
- package/libs/instance-factories/scaffolding/templates/generic/env-generator.ts +85 -0
- package/libs/instance-factories/scaffolding/templates/generic/gitignore-generator.ts +69 -0
- package/libs/instance-factories/scaffolding/templates/generic/package-json-generator.ts +176 -0
- package/libs/instance-factories/scaffolding/templates/generic/readme-generator.ts +207 -0
- package/libs/instance-factories/scaffolding/templates/generic/tsconfig-generator.ts +78 -0
- package/libs/instance-factories/scaffolding/templates/generic/tsconfig-react-generator.ts +41 -0
- package/libs/instance-factories/sdks/python-sdk.yaml +66 -0
- package/libs/instance-factories/sdks/templates/python/sdk-generator.ts +50 -0
- package/libs/instance-factories/sdks/templates/typescript/sdk-generator.ts +49 -0
- package/libs/instance-factories/sdks/typescript-sdk.yaml +59 -0
- package/libs/instance-factories/services/prisma-services.yaml +71 -0
- package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +303 -0
- package/libs/instance-factories/services/templates/prisma/controller-generator.ts +532 -0
- package/libs/instance-factories/services/templates/prisma/service-generator.ts +315 -0
- package/libs/instance-factories/shared/path-resolver.ts +111 -0
- package/libs/instance-factories/storage/mongodb.yaml +79 -0
- package/libs/instance-factories/storage/postgresql.yaml +75 -0
- package/libs/instance-factories/storage/redis.yaml +79 -0
- package/libs/instance-factories/storage/templates/mongodb/config-generator.ts +15 -0
- package/libs/instance-factories/storage/templates/mongodb/docker-generator.ts +18 -0
- package/libs/instance-factories/storage/templates/postgresql/config-generator.ts +54 -0
- package/libs/instance-factories/storage/templates/postgresql/docker-generator.ts +55 -0
- package/libs/instance-factories/storage/templates/redis/config-generator.ts +16 -0
- package/libs/instance-factories/storage/templates/redis/docker-generator.ts +18 -0
- package/libs/instance-factories/test-generation.ts +192 -0
- package/libs/instance-factories/testing/templates/vitest/tests-generator.ts +51 -0
- package/libs/instance-factories/testing/vitest-tests.yaml +63 -0
- package/libs/instance-factories/tools/templates/mcp/mcp-server-generator.ts +136 -0
- package/libs/instance-factories/tools/templates/mcp/static/docs/DEPLOYMENT_GUIDE.md +630 -0
- package/libs/instance-factories/tools/templates/mcp/static/docs/HYBRID_RESOURCE_SYSTEM.md +330 -0
- package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/EXTENSION_DEPLOYMENT.md +552 -0
- package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/LOCAL_DEPLOYMENT.md +164 -0
- package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/WEB_DEPLOYMENT.md +247 -0
- package/libs/instance-factories/tools/templates/mcp/static/package.json +92 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-enterprise.js +284 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-extension.js +139 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-local.js +74 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-web.js +156 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/copy-canonical-files.js +41 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/test-deployments.js +259 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-resources.js +231 -0
- package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-simple.js +196 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/controllers/MCPServerController.ts +293 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/events/EventEmitter.ts +90 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/index.ts +24 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/interfaces/ResourceProvider.ts +15 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/models/LibrarySuggestion.ts +106 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/models/SpecVerseResource.ts +75 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/server/mcp-server.ts +239 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/CLIProxyService.ts +1501 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/EmbeddedResourcesAdapter.ts +211 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/EntityModuleService.ts +308 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/HybridResourcesProvider.ts +210 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/LibraryToolsService.ts +356 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorBridge.ts +524 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorToolsService.ts +530 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/PromptToolsService.ts +594 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/services/ResourcesProviderService.ts +170 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.init.test.ts +544 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.test.ts +189 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/ResourcesProviderService.test.ts +89 -0
- package/libs/instance-factories/tools/templates/mcp/static/src/types/index.ts +110 -0
- package/libs/instance-factories/tools/templates/mcp/static/tsconfig.json +28 -0
- package/libs/instance-factories/tools/templates/vscode/static/extension.ts +1195 -0
- package/libs/instance-factories/tools/templates/vscode/static/language-configuration.json +34 -0
- package/libs/instance-factories/tools/templates/vscode/static/schemas/specverse-v3-schema.json +4279 -0
- package/libs/instance-factories/tools/templates/vscode/static/syntaxes/specverse.tmLanguage.json +138 -0
- package/libs/instance-factories/tools/templates/vscode/static/themes/README.md +74 -0
- package/libs/instance-factories/tools/templates/vscode/static/themes/complete-specverse-colors.json +122 -0
- package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-basic-theme.json +65 -0
- package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-complete-theme.json +123 -0
- package/libs/instance-factories/tools/templates/vscode/static/themes/specverse-theme-colors.json +64 -0
- package/libs/instance-factories/tools/templates/vscode/vscode-extension-generator.ts +214 -0
- package/libs/instance-factories/validation/templates/zod/validation-generator.ts +46 -0
- package/libs/instance-factories/validation/zod.yaml +56 -0
- package/libs/instance-factories/views/index.d.ts +13 -0
- package/libs/instance-factories/views/index.d.ts.map +1 -0
- package/libs/instance-factories/views/index.js +18 -0
- package/libs/instance-factories/views/index.js.map +1 -0
- package/libs/instance-factories/views/index.ts +45 -0
- package/libs/instance-factories/views/react-components.yaml +129 -0
- package/libs/instance-factories/views/templates/ARCHITECTURE.md +198 -0
- package/libs/instance-factories/views/templates/react/adapters/antd-adapter.ts +869 -0
- package/libs/instance-factories/views/templates/react/adapters/mui-adapter.ts +953 -0
- package/libs/instance-factories/views/templates/react/adapters/shadcn-adapter.ts +806 -0
- package/libs/instance-factories/views/templates/react/app-generator.ts +55 -0
- package/libs/instance-factories/views/templates/react/components-generator.ts +391 -0
- package/libs/instance-factories/views/templates/react/forms-generator.ts +343 -0
- package/libs/instance-factories/views/templates/react/frontend-package-json-generator.ts +54 -0
- package/libs/instance-factories/views/templates/react/hooks-generator.ts +122 -0
- package/libs/instance-factories/views/templates/react/index-css-generator.ts +209 -0
- package/libs/instance-factories/views/templates/react/index-html-generator.ts +34 -0
- package/libs/instance-factories/views/templates/react/main-tsx-generator.ts +29 -0
- package/libs/instance-factories/views/templates/react/react-component-generator.d.ts +152 -0
- package/libs/instance-factories/views/templates/react/react-component-generator.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/react/react-component-generator.js +398 -0
- package/libs/instance-factories/views/templates/react/react-component-generator.js.map +1 -0
- package/libs/instance-factories/views/templates/react/react-component-generator.ts +533 -0
- package/libs/instance-factories/views/templates/react/router-generator.ts +197 -0
- package/libs/instance-factories/views/templates/react/router-generic-generator.ts +103 -0
- package/libs/instance-factories/views/templates/react/spec-json-generator.ts +17 -0
- package/libs/instance-factories/views/templates/react/types-generator.ts +76 -0
- package/libs/instance-factories/views/templates/react/views-metadata-generator.ts +42 -0
- package/libs/instance-factories/views/templates/react/vite-config-generator.ts +38 -0
- package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.js.map +1 -0
- package/libs/instance-factories/views/templates/runtime/runtime-view-renderer.ts +474 -0
- package/libs/instance-factories/views/templates/shared/__tests__/composite-patterns.test.ts +242 -0
- package/libs/instance-factories/views/templates/shared/adapter-types.d.ts +77 -0
- package/libs/instance-factories/views/templates/shared/adapter-types.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/shared/adapter-types.js +47 -0
- package/libs/instance-factories/views/templates/shared/adapter-types.js.map +1 -0
- package/libs/instance-factories/views/templates/shared/adapter-types.ts +142 -0
- package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts +63 -0
- package/libs/instance-factories/views/templates/shared/atomic-components-registry.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/shared/atomic-components-registry.js +822 -0
- package/libs/instance-factories/views/templates/shared/atomic-components-registry.js.map +1 -0
- package/libs/instance-factories/views/templates/shared/atomic-components-registry.ts +908 -0
- package/libs/instance-factories/views/templates/shared/base-generator.d.ts +247 -0
- package/libs/instance-factories/views/templates/shared/base-generator.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/shared/base-generator.js +363 -0
- package/libs/instance-factories/views/templates/shared/base-generator.js.map +1 -0
- package/libs/instance-factories/views/templates/shared/base-generator.ts +608 -0
- package/libs/instance-factories/views/templates/shared/component-metadata.d.ts +254 -0
- package/libs/instance-factories/views/templates/shared/component-metadata.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/shared/component-metadata.js +602 -0
- package/libs/instance-factories/views/templates/shared/component-metadata.js.map +1 -0
- package/libs/instance-factories/views/templates/shared/component-metadata.ts +803 -0
- package/libs/instance-factories/views/templates/shared/composite-pattern-types.ts +250 -0
- package/libs/instance-factories/views/templates/shared/composite-patterns.ts +535 -0
- package/libs/instance-factories/views/templates/shared/index.ts +68 -0
- package/libs/instance-factories/views/templates/shared/pattern-validator.ts +279 -0
- package/libs/instance-factories/views/templates/shared/property-mapper.d.ts +149 -0
- package/libs/instance-factories/views/templates/shared/property-mapper.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/shared/property-mapper.js +580 -0
- package/libs/instance-factories/views/templates/shared/property-mapper.js.map +1 -0
- package/libs/instance-factories/views/templates/shared/property-mapper.ts +700 -0
- package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts +143 -0
- package/libs/instance-factories/views/templates/shared/syntax-mapper.d.ts.map +1 -0
- package/libs/instance-factories/views/templates/shared/syntax-mapper.js +420 -0
- package/libs/instance-factories/views/templates/shared/syntax-mapper.js.map +1 -0
- package/libs/instance-factories/views/templates/shared/syntax-mapper.ts +539 -0
- package/package.json +42 -0
- 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]
|