@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,49 @@
|
|
|
1
|
+
# Generated Documentation
|
|
2
|
+
|
|
3
|
+
This directory contains documentation and diagrams automatically generated from inferred SpecVerse specifications.
|
|
4
|
+
|
|
5
|
+
## Content Types
|
|
6
|
+
|
|
7
|
+
### Documentation Files
|
|
8
|
+
- **`*-complete-docs.md`**: Complete documentation from AI-inferred specifications
|
|
9
|
+
- **`*-deployed-docs.md`**: Documentation for deployment specifications
|
|
10
|
+
- **`*-deployed-prod-docs.md`**: Production deployment documentation
|
|
11
|
+
|
|
12
|
+
### Diagram Files
|
|
13
|
+
- **`*-complete-diagrams.md`**: UML diagrams (ER, sequence, class) for complete specifications
|
|
14
|
+
- **`*-deployed-diagrams.md`**: Deployment diagrams for development environment
|
|
15
|
+
- **`*-deployed-prod-diagrams.md`**: Deployment diagrams for production environment
|
|
16
|
+
|
|
17
|
+
## Auto-Generation
|
|
18
|
+
|
|
19
|
+
These files are automatically generated when you run:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Generates both specification and documentation
|
|
23
|
+
npm run infer # ā creates complete docs + diagrams
|
|
24
|
+
npm run infer:deployment # ā creates development deployment docs + diagrams
|
|
25
|
+
npm run infer:deployment:prod # ā creates production deployment docs + diagrams
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Manual Generation
|
|
29
|
+
|
|
30
|
+
You can also generate documentation for existing specifications:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Generate docs for specific files
|
|
34
|
+
npm run infer:docs # docs for complete specification
|
|
35
|
+
npm run infer:deployment:docs # docs for development deployment
|
|
36
|
+
npm run infer:deployment:prod:docs # docs for production deployment
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## File Organization
|
|
40
|
+
|
|
41
|
+
Files follow this naming pattern:
|
|
42
|
+
- `{project-name}-complete-docs.md` - Documentation for AI-inferred complete specification
|
|
43
|
+
- `{project-name}-complete-diagrams.md` - UML diagrams for complete specification
|
|
44
|
+
- `{project-name}-deployed-docs.md` - Documentation for development deployment
|
|
45
|
+
- `{project-name}-deployed-diagrams.md` - Deployment diagrams for development
|
|
46
|
+
- `{project-name}-deployed-prod-docs.md` - Documentation for production deployment
|
|
47
|
+
- `{project-name}-deployed-prod-diagrams.md` - Deployment diagrams for production
|
|
48
|
+
|
|
49
|
+
All files are automatically regenerated when you run infer commands.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Dependencies
|
|
2
|
+
node_modules/
|
|
3
|
+
package-lock.json
|
|
4
|
+
yarn.lock
|
|
5
|
+
#pnpm-lock.yaml
|
|
6
|
+
|
|
7
|
+
# Generated files
|
|
8
|
+
generated/
|
|
9
|
+
dist/
|
|
10
|
+
build/
|
|
11
|
+
|
|
12
|
+
# IDE files
|
|
13
|
+
.vscode/
|
|
14
|
+
.idea/
|
|
15
|
+
*.swp
|
|
16
|
+
*.swo
|
|
17
|
+
*~
|
|
18
|
+
|
|
19
|
+
# OS files
|
|
20
|
+
.DS_Store
|
|
21
|
+
Thumbs.db
|
|
22
|
+
|
|
23
|
+
# Logs
|
|
24
|
+
*.log
|
|
25
|
+
logs/
|
|
26
|
+
|
|
27
|
+
# Environment
|
|
28
|
+
.env
|
|
29
|
+
.env.local
|
|
30
|
+
.env.*.local
|
|
31
|
+
|
|
32
|
+
# Temporary files
|
|
33
|
+
tmp/
|
|
34
|
+
temp/
|
|
35
|
+
*.tmp
|
|
36
|
+
|
|
37
|
+
# SpecVerse generated files
|
|
38
|
+
specs/*-complete.specly
|
|
39
|
+
specs/*-enhanced.specly
|
|
40
|
+
specs/*-deployed.specly
|
|
41
|
+
specs/*-deployed-prod.specly
|
|
42
|
+
specs/*-processed.yaml
|
|
43
|
+
docs/diagrams/
|
|
44
|
+
docs/generated/
|
|
45
|
+
|
|
46
|
+
# Database files (for development)
|
|
47
|
+
*.db
|
|
48
|
+
*.sqlite
|
|
49
|
+
*.sqlite3
|
|
50
|
+
dev.db
|
|
51
|
+
|
|
52
|
+
# Test coverage
|
|
53
|
+
coverage/
|
|
54
|
+
.nyc_output/
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Implementation Manifests
|
|
2
|
+
|
|
3
|
+
This directory contains **SpecVerse v3.3 Implementation Manifests** that show how to deploy your component specifications to real infrastructure.
|
|
4
|
+
|
|
5
|
+
## What are Manifests?
|
|
6
|
+
|
|
7
|
+
Manifests bridge the gap between your logical SpecVerse specifications and concrete technology implementations. They define:
|
|
8
|
+
|
|
9
|
+
- **Implementation Types**: How logical components map to specific technologies
|
|
10
|
+
- **Behavior Mappings**: How model behaviors translate to actual code/API calls
|
|
11
|
+
- **Capability Mappings**: How logical capabilities map to implementation types
|
|
12
|
+
- **Communication Channels**: How components communicate in the real deployment
|
|
13
|
+
- **Technology Configuration**: Framework-specific settings and parameters
|
|
14
|
+
|
|
15
|
+
## Available Manifests
|
|
16
|
+
|
|
17
|
+
### `implementation.yaml` ā NEW - v3.3 Code Generation
|
|
18
|
+
- **Purpose**: Technology stack configuration for code generation
|
|
19
|
+
- **Features**: ORM selection, server framework, metadata strategies
|
|
20
|
+
- **Use Case**: Generate production-ready code (services, routes, ORM schemas)
|
|
21
|
+
- **Commands**:
|
|
22
|
+
```bash
|
|
23
|
+
npm run generate:code # Generate all code
|
|
24
|
+
npm run test:generators # Generate and verify
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### `docker-compose.specly`
|
|
28
|
+
- **Target**: Local development and staging
|
|
29
|
+
- **Technology**: Docker Compose
|
|
30
|
+
- **Database**: SQLite (development-friendly)
|
|
31
|
+
- **Use Case**: Quick local testing and development
|
|
32
|
+
|
|
33
|
+
### `kubernetes.specly`
|
|
34
|
+
- **Target**: Production deployment
|
|
35
|
+
- **Technology**: Kubernetes with operators
|
|
36
|
+
- **Database**: PostgreSQL with high availability
|
|
37
|
+
- **Use Case**: Scalable production deployments
|
|
38
|
+
|
|
39
|
+
## How to Use
|
|
40
|
+
|
|
41
|
+
1. **Choose a manifest** that matches your deployment target
|
|
42
|
+
2. **Customize the configuration** section for your specific needs
|
|
43
|
+
3. **Reference your component** by updating the component source
|
|
44
|
+
4. **Deploy using the specified tools** (docker-compose, kubectl, etc.)
|
|
45
|
+
|
|
46
|
+
## Extending Manifests
|
|
47
|
+
|
|
48
|
+
You can create additional manifests for other technologies:
|
|
49
|
+
|
|
50
|
+
- **Cloud Providers**: AWS EKS, GCP GKE, Azure AKS
|
|
51
|
+
- **Serverless**: AWS Lambda, Vercel, Netlify
|
|
52
|
+
- **Traditional**: VM-based deployments, bare metal
|
|
53
|
+
- **Container Platforms**: OpenShift, Rancher, Docker Swarm
|
|
54
|
+
|
|
55
|
+
## Commands
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Validate a manifest
|
|
59
|
+
specverse validate manifests/docker-compose.specly
|
|
60
|
+
|
|
61
|
+
# Process a manifest with component context
|
|
62
|
+
specverse gen yaml manifests/kubernetes.specly
|
|
63
|
+
|
|
64
|
+
# Generate deployment documentation
|
|
65
|
+
specverse gen docs manifests/kubernetes.specly
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Learn More
|
|
69
|
+
|
|
70
|
+
- **SpecVerse Manifests Documentation**: See the main docs for comprehensive manifest features
|
|
71
|
+
- **Examples**: Check `examples/06-deploy/` for more complex manifest patterns
|
|
72
|
+
- **Best Practices**: Review the `aiInstructions` in each manifest for implementation guidance
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Docker Compose Implementation Manifest
|
|
2
|
+
# SpecVerse v3.3 manifest specification for Docker Compose deployment
|
|
3
|
+
|
|
4
|
+
manifests:
|
|
5
|
+
DockerComposeManifest:
|
|
6
|
+
specVersion: "3.3.0"
|
|
7
|
+
name: "{{componentName}}DockerComposeManifest"
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
description: "Docker Compose implementation manifest for {{projectName}}"
|
|
10
|
+
|
|
11
|
+
# v3.3: Deployment reference (REQUIRED)
|
|
12
|
+
deployment:
|
|
13
|
+
deploymentSource: "./specs/main.specly"
|
|
14
|
+
deploymentName: "development"
|
|
15
|
+
|
|
16
|
+
# v3.3: Default technology mappings
|
|
17
|
+
defaultMappings:
|
|
18
|
+
storage: "SQLite"
|
|
19
|
+
controller: "DockerNodeApp"
|
|
20
|
+
|
|
21
|
+
# v3.3: Capability to implementation factory mappings
|
|
22
|
+
capabilityMappings:
|
|
23
|
+
- capability: "api.*"
|
|
24
|
+
instanceFactory: "DockerWebApp"
|
|
25
|
+
|
|
26
|
+
- capability: "database.*"
|
|
27
|
+
instanceFactory: "DockerDatabase"
|
|
28
|
+
|
|
29
|
+
# v3.3: Platform-specific configuration
|
|
30
|
+
configuration:
|
|
31
|
+
# Docker Compose specific settings
|
|
32
|
+
composeVersion: "3.8"
|
|
33
|
+
|
|
34
|
+
networks:
|
|
35
|
+
default:
|
|
36
|
+
driver: "bridge"
|
|
37
|
+
|
|
38
|
+
volumes:
|
|
39
|
+
app_data:
|
|
40
|
+
driver: "local"
|
|
41
|
+
|
|
42
|
+
# Implementation type definitions
|
|
43
|
+
implementationFactories:
|
|
44
|
+
DockerWebApp:
|
|
45
|
+
type: "controller"
|
|
46
|
+
technology: "docker"
|
|
47
|
+
framework: "compose"
|
|
48
|
+
config:
|
|
49
|
+
image: "node:18-alpine"
|
|
50
|
+
build:
|
|
51
|
+
context: "."
|
|
52
|
+
dockerfile: "Dockerfile"
|
|
53
|
+
ports:
|
|
54
|
+
- "3000:3000"
|
|
55
|
+
environment:
|
|
56
|
+
NODE_ENV: "development"
|
|
57
|
+
DATABASE_URL: "sqlite:./data/app.db"
|
|
58
|
+
volumes:
|
|
59
|
+
- "./src:/app/src"
|
|
60
|
+
- "./data:/app/data"
|
|
61
|
+
restart: "unless-stopped"
|
|
62
|
+
|
|
63
|
+
DockerDatabase:
|
|
64
|
+
type: "database"
|
|
65
|
+
technology: "sqlite"
|
|
66
|
+
framework: "docker"
|
|
67
|
+
config:
|
|
68
|
+
image: "alpine:latest"
|
|
69
|
+
volumes:
|
|
70
|
+
- "./data:/data"
|
|
71
|
+
command: "tail -f /dev/null"
|
|
72
|
+
|
|
73
|
+
# Namespace configuration
|
|
74
|
+
namespace:
|
|
75
|
+
strategy: "single"
|
|
76
|
+
name: "{{projectNameKebab}}"
|
|
77
|
+
description: "Main application namespace"
|
|
78
|
+
isolation: "permissive"
|
|
79
|
+
|
|
80
|
+
# AI implementation instructions
|
|
81
|
+
aiInstructions: |
|
|
82
|
+
When implementing this Docker Compose deployment:
|
|
83
|
+
|
|
84
|
+
1. **Development Focus**: This manifest is optimized for local development
|
|
85
|
+
2. **Live Reload**: Source code is mounted for immediate changes
|
|
86
|
+
3. **Data Persistence**: SQLite database with volume mounting
|
|
87
|
+
4. **Port Mapping**: Application accessible on localhost:3000
|
|
88
|
+
5. **Environment**: Configure environment variables in docker-compose.yml
|
|
89
|
+
6. **Networking**: Uses default bridge network for container communication
|
|
90
|
+
7. **Database**: Simple SQLite setup for development (upgrade to PostgreSQL for production)
|
|
91
|
+
8. **Restart Policy**: Containers restart unless manually stopped
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# SpecVerse v3.3 Implementation Manifest - Backend Only
|
|
2
|
+
# Generates standalone backend API without frontend
|
|
3
|
+
|
|
4
|
+
manifests:
|
|
5
|
+
{{projectNameKebab}}Implementation:
|
|
6
|
+
specVersion: "3.3.0"
|
|
7
|
+
name: "{{projectNameKebab}}-backend"
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
description: "Backend API implementation for {{projectName}}"
|
|
10
|
+
|
|
11
|
+
# v3.3: Deployment reference
|
|
12
|
+
deployment:
|
|
13
|
+
deploymentSource: "../specs/main.specly"
|
|
14
|
+
deploymentName: "development"
|
|
15
|
+
|
|
16
|
+
# v3.3: Configuration for standalone backend
|
|
17
|
+
configuration:
|
|
18
|
+
outputStructure: "standalone"
|
|
19
|
+
backendDir: "."
|
|
20
|
+
|
|
21
|
+
apiPort: 3000
|
|
22
|
+
apiHost: "0.0.0.0"
|
|
23
|
+
corsOrigins: "${CORS_ORIGINS:-*}"
|
|
24
|
+
|
|
25
|
+
# Environment-specific settings
|
|
26
|
+
environments:
|
|
27
|
+
development:
|
|
28
|
+
database:
|
|
29
|
+
provider: "postgresql"
|
|
30
|
+
url: "postgresql://localhost:5432/{{projectNameKebab}}_dev"
|
|
31
|
+
server:
|
|
32
|
+
port: 3000
|
|
33
|
+
host: "localhost"
|
|
34
|
+
logLevel: "debug"
|
|
35
|
+
cors:
|
|
36
|
+
origins: ["http://localhost:5173", "http://localhost:3000"]
|
|
37
|
+
|
|
38
|
+
production:
|
|
39
|
+
database:
|
|
40
|
+
provider: "postgresql"
|
|
41
|
+
url: "${DATABASE_URL}"
|
|
42
|
+
server:
|
|
43
|
+
port: "${PORT:-8080}"
|
|
44
|
+
host: "0.0.0.0"
|
|
45
|
+
logLevel: "info"
|
|
46
|
+
cors:
|
|
47
|
+
origins: "${CORS_ORIGINS}"
|
|
48
|
+
middleware:
|
|
49
|
+
rateLimit:
|
|
50
|
+
max: 1000
|
|
51
|
+
timeWindow: "1 minute"
|
|
52
|
+
compression: true
|
|
53
|
+
|
|
54
|
+
# v3.3: Backend-only capability mappings
|
|
55
|
+
capabilityMappings:
|
|
56
|
+
# Database Layer
|
|
57
|
+
- capability: "orm.schema"
|
|
58
|
+
instanceFactory: "PrismaORM"
|
|
59
|
+
configuration:
|
|
60
|
+
outputStructure: "standalone"
|
|
61
|
+
backendDir: "."
|
|
62
|
+
|
|
63
|
+
# Business Logic Layer
|
|
64
|
+
- capability: "service.controller"
|
|
65
|
+
instanceFactory: "PrismaServices"
|
|
66
|
+
configuration:
|
|
67
|
+
outputStructure: "standalone"
|
|
68
|
+
backendDir: "."
|
|
69
|
+
|
|
70
|
+
# API Layer
|
|
71
|
+
- capability: "api.rest"
|
|
72
|
+
instanceFactory: "FastifyAPI"
|
|
73
|
+
configuration:
|
|
74
|
+
outputStructure: "standalone"
|
|
75
|
+
backendDir: "."
|
|
76
|
+
server:
|
|
77
|
+
cors:
|
|
78
|
+
enabled: true
|
|
79
|
+
|
|
80
|
+
# Application Entry Point
|
|
81
|
+
- capability: "app.entrypoint"
|
|
82
|
+
instanceFactory: "GenericApp"
|
|
83
|
+
configuration:
|
|
84
|
+
outputStructure: "standalone"
|
|
85
|
+
backendDir: "."
|
|
86
|
+
|
|
87
|
+
# Project Scaffolding
|
|
88
|
+
- capability: "project.scaffold"
|
|
89
|
+
instanceFactory: "GenericScaffold"
|
|
90
|
+
configuration:
|
|
91
|
+
outputStructure: "standalone"
|
|
92
|
+
includeReadme: true
|
|
93
|
+
|
|
94
|
+
# Validation
|
|
95
|
+
- capability: "validation.runtime"
|
|
96
|
+
instanceFactory: "ZodValidation"
|
|
97
|
+
|
|
98
|
+
# Events (in-memory for development)
|
|
99
|
+
- capability: "messaging.events"
|
|
100
|
+
instanceFactory: "EventEmitter"
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Kubernetes Implementation Manifest
|
|
2
|
+
# SpecVerse v3.3 manifest specification for Kubernetes deployment
|
|
3
|
+
|
|
4
|
+
manifests:
|
|
5
|
+
KubernetesManifest:
|
|
6
|
+
specVersion: "3.3.0"
|
|
7
|
+
name: "{{componentName}}KubernetesManifest"
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
description: "Kubernetes implementation manifest for {{projectName}}"
|
|
10
|
+
|
|
11
|
+
# v3.3: Deployment reference (REQUIRED)
|
|
12
|
+
deployment:
|
|
13
|
+
deploymentSource: "./specs/main.specly"
|
|
14
|
+
deploymentName: "production"
|
|
15
|
+
|
|
16
|
+
# v3.3: Default technology mappings
|
|
17
|
+
defaultMappings:
|
|
18
|
+
storage: "PostgreSQL15"
|
|
19
|
+
controller: "KubernetesApp"
|
|
20
|
+
|
|
21
|
+
# v3.3: Capability to implementation factory mappings
|
|
22
|
+
capabilityMappings:
|
|
23
|
+
- capability: "api.*"
|
|
24
|
+
instanceFactory: "KubernetesController"
|
|
25
|
+
|
|
26
|
+
- capability: "database.*"
|
|
27
|
+
instanceFactory: "KubernetesDatabase"
|
|
28
|
+
|
|
29
|
+
- capability: "networking.*"
|
|
30
|
+
instanceFactory: "KubernetesService"
|
|
31
|
+
|
|
32
|
+
# v3.3: Instance-specific mappings (optional - for fine-grained control)
|
|
33
|
+
instanceMappings:
|
|
34
|
+
- instanceName: "webApp"
|
|
35
|
+
instanceFactory: "KubernetesController"
|
|
36
|
+
|
|
37
|
+
- instanceName: "appDatabase"
|
|
38
|
+
instanceFactory: "KubernetesDatabase"
|
|
39
|
+
|
|
40
|
+
- instanceName: "webService"
|
|
41
|
+
instanceFactory: "KubernetesService"
|
|
42
|
+
|
|
43
|
+
# v3.3: Platform-specific configuration
|
|
44
|
+
configuration:
|
|
45
|
+
# Kubernetes specific settings
|
|
46
|
+
clusterVersion: "v1.28"
|
|
47
|
+
|
|
48
|
+
# Implementation factory definitions
|
|
49
|
+
implementationFactories:
|
|
50
|
+
KubernetesController:
|
|
51
|
+
type: "controller"
|
|
52
|
+
technology: "kubernetes"
|
|
53
|
+
framework: "deployment"
|
|
54
|
+
config:
|
|
55
|
+
apiVersion: "apps/v1"
|
|
56
|
+
kind: "Deployment"
|
|
57
|
+
replicas: 3
|
|
58
|
+
image: "{{projectNameKebab}}:latest"
|
|
59
|
+
containerPort: 3000
|
|
60
|
+
resources:
|
|
61
|
+
requests:
|
|
62
|
+
memory: "128Mi"
|
|
63
|
+
cpu: "100m"
|
|
64
|
+
limits:
|
|
65
|
+
memory: "256Mi"
|
|
66
|
+
cpu: "200m"
|
|
67
|
+
|
|
68
|
+
KubernetesDatabase:
|
|
69
|
+
type: "database"
|
|
70
|
+
technology: "postgresql"
|
|
71
|
+
framework: "kubernetes-operator"
|
|
72
|
+
config:
|
|
73
|
+
apiVersion: "postgresql.cnpg.io/v1"
|
|
74
|
+
kind: "Cluster"
|
|
75
|
+
instances: 3
|
|
76
|
+
postgresql:
|
|
77
|
+
parameters:
|
|
78
|
+
max_connections: "100"
|
|
79
|
+
shared_buffers: "128MB"
|
|
80
|
+
storage:
|
|
81
|
+
size: "10Gi"
|
|
82
|
+
storageClass: "fast-ssd"
|
|
83
|
+
|
|
84
|
+
KubernetesService:
|
|
85
|
+
type: "service"
|
|
86
|
+
technology: "kubernetes"
|
|
87
|
+
framework: "service"
|
|
88
|
+
config:
|
|
89
|
+
apiVersion: "v1"
|
|
90
|
+
kind: "Service"
|
|
91
|
+
serviceType: "ClusterIP"
|
|
92
|
+
ports:
|
|
93
|
+
- port: 80
|
|
94
|
+
targetPort: 3000
|
|
95
|
+
protocol: "TCP"
|
|
96
|
+
|
|
97
|
+
# Horizontal Pod Autoscaling
|
|
98
|
+
scaling:
|
|
99
|
+
horizontal:
|
|
100
|
+
enabled: true
|
|
101
|
+
minReplicas: 3
|
|
102
|
+
maxReplicas: 10
|
|
103
|
+
targetCPUUtilization: 70
|
|
104
|
+
|
|
105
|
+
# Monitoring configuration
|
|
106
|
+
monitoring:
|
|
107
|
+
prometheus: true
|
|
108
|
+
grafana: true
|
|
109
|
+
alerts:
|
|
110
|
+
- name: "high-cpu"
|
|
111
|
+
threshold: "80%"
|
|
112
|
+
- name: "high-memory"
|
|
113
|
+
threshold: "85%"
|
|
114
|
+
|
|
115
|
+
# Namespace configuration
|
|
116
|
+
namespace:
|
|
117
|
+
strategy: "environment-based"
|
|
118
|
+
name: "{{projectNameKebab}}"
|
|
119
|
+
description: "Production application namespace"
|
|
120
|
+
isolation: "strict"
|
|
121
|
+
resourceLimits:
|
|
122
|
+
cpu: "2"
|
|
123
|
+
memory: "4Gi"
|
|
124
|
+
storage: "50Gi"
|
|
125
|
+
securityPolicy: "restricted"
|
|
126
|
+
|
|
127
|
+
# AI implementation instructions
|
|
128
|
+
aiInstructions: |
|
|
129
|
+
When implementing this Kubernetes deployment:
|
|
130
|
+
|
|
131
|
+
1. **Production Ready**: Configured for production with multiple replicas
|
|
132
|
+
2. **Resource Management**: CPU and memory limits defined
|
|
133
|
+
3. **Horizontal Scaling**: HPA configured for automatic scaling
|
|
134
|
+
4. **Database**: PostgreSQL with operator for high availability
|
|
135
|
+
5. **Networking**: ClusterIP service for internal communication
|
|
136
|
+
6. **Security**: Restricted security policy and namespace isolation
|
|
137
|
+
7. **Monitoring**: Prometheus and Grafana integration
|
|
138
|
+
8. **Storage**: Persistent volumes for database data
|
|
139
|
+
9. **Health Checks**: Configure readiness and liveness probes
|
|
140
|
+
10. **Secrets**: Use Kubernetes secrets for sensitive data
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{projectNameKebab}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "{{projectName}} - SpecVerse Project",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"_comment_workflow": "=== Main Workflow ===",
|
|
7
|
+
"genAll": "npm run realize:all && echo '\nā
Code generation complete!\n' && echo 'š¦ Installing dependencies...\n' && cd generated/code && npm install && echo '\nšļø Setting up database...\n' && npm run db:setup && echo '\nā
Setup complete! Next steps:\n' && echo ' npm run app:build # Build the project' && echo ' npm run app:test # Run tests' && echo ' npm run app:start # Start production server' && echo ' npm run app:dev # Start development server\n'",
|
|
8
|
+
"app:build": "if [ -d generated/code ]; then cd generated/code && npm run build; else echo 'ā No generated code found. Run: npm run genAll'; exit 1; fi",
|
|
9
|
+
"app:test": "if [ -d generated/code ]; then cd generated/code && npm test; else echo 'ā No generated code found. Run: npm run genAll'; exit 1; fi",
|
|
10
|
+
"app:start": "if [ -d generated/code ]; then cd generated/code && npm start; else echo 'ā No generated code found. Run: npm run genAll'; exit 1; fi",
|
|
11
|
+
"app:dev": "if [ -d generated/code ]; then cd generated/code && npm run dev; else echo 'ā No generated code found. Run: npm run genAll'; exit 1; fi",
|
|
12
|
+
|
|
13
|
+
"_comment_validation": "=== Validation ===",
|
|
14
|
+
"validate": "specverse validate specs/main.specly",
|
|
15
|
+
"validate:all": "npm run validate && npm run validate:manifests",
|
|
16
|
+
"validate:manifests": "specverse validate manifests/docker-compose.specly && specverse validate manifests/kubernetes.specly",
|
|
17
|
+
|
|
18
|
+
"_comment_inference": "=== AI Inference ===",
|
|
19
|
+
"infer": "specverse infer specs/main.specly -o generated/{{projectNameKebab}}-complete.specly",
|
|
20
|
+
"infer:deployment": "specverse infer specs/main.specly --deployment --environment development -o generated/{{projectNameKebab}}-deployed.specly",
|
|
21
|
+
"infer:deployment:prod": "specverse infer specs/main.specly --deployment --environment production -o generated/{{projectNameKebab}}-deployed-prod.specly",
|
|
22
|
+
|
|
23
|
+
"_comment_generation": "=== Generation ===",
|
|
24
|
+
"generate:docs": "specverse gen docs specs/main.specly --output docs/main-docs.md",
|
|
25
|
+
"generate:diagrams": "specverse gen diagram specs/main.specly --output docs/diagrams",
|
|
26
|
+
"generate:diagram:er": "specverse gen diagram specs/main.specly -t er-diagram -o docs/diagrams/er-diagram.mmd",
|
|
27
|
+
"generate:diagram:event-flow": "specverse gen diagram specs/main.specly -t event-flow-layered -o docs/diagrams/event-flow-layered.mmd",
|
|
28
|
+
"generate:diagram:lifecycle": "specverse gen diagram specs/main.specly -t lifecycle -o docs/diagrams/lifecycle.mmd",
|
|
29
|
+
"generate:diagram:deployment": "specverse gen diagram specs/main.specly -t deployment-topology -o docs/diagrams/deployment.mmd",
|
|
30
|
+
"generate:diagram:architecture": "specverse gen diagram specs/main.specly -t model-architecture -o docs/diagrams/architecture.mmd",
|
|
31
|
+
"generate:complete": "npm run infer && npm run infer:docs",
|
|
32
|
+
|
|
33
|
+
"_comment_inference_docs": "=== Inference Documentation ===",
|
|
34
|
+
"infer:docs": "specverse gen docs generated/{{projectNameKebab}}-complete.specly --output generated/docs/complete-docs.md && specverse gen diagram generated/{{projectNameKebab}}-complete.specly --output generated/docs/complete-diagrams",
|
|
35
|
+
"infer:deployment:docs": "specverse gen docs generated/{{projectNameKebab}}-deployed.specly --output generated/docs/deployed-docs.md && specverse gen diagram generated/{{projectNameKebab}}-deployed.specly --output generated/docs/deployed-diagrams",
|
|
36
|
+
"infer:deployment:prod:docs": "specverse gen docs generated/{{projectNameKebab}}-deployed-prod.specly --output generated/docs/deployed-prod-docs.md && specverse gen diagram generated/{{projectNameKebab}}-deployed-prod.specly --output generated/docs/deployed-prod-diagrams",
|
|
37
|
+
|
|
38
|
+
"_comment_realization": "=== Code Realization (v3.3) ===",
|
|
39
|
+
"realize:orm": "specverse realize orm specs/main.specly -m manifests/implementation.yaml",
|
|
40
|
+
"realize:services": "specverse realize services specs/main.specly -m manifests/implementation.yaml",
|
|
41
|
+
"realize:routes": "specverse realize routes specs/main.specly -m manifests/implementation.yaml",
|
|
42
|
+
"realize:all": "specverse realize all specs/main.specly -m manifests/implementation.yaml -o generated/code",
|
|
43
|
+
|
|
44
|
+
"_comment_utilities": "=== Utilities ===",
|
|
45
|
+
"process": "specverse gen yaml specs/main.specly -o generated/{{projectNameKebab}}-processed.yaml",
|
|
46
|
+
"format": "specverse dev format specs/main.specly --write",
|
|
47
|
+
|
|
48
|
+
"_comment_testing": "=== Testing ===",
|
|
49
|
+
"test:all": "./scripts/test-all.sh",
|
|
50
|
+
"test:generated:compile": "cd generated/code && npx tsc --noEmit --skipLibCheck 2>&1 || echo 'TypeScript compilation check (some errors expected without npm install)'",
|
|
51
|
+
"test:generated:run": "cd generated/code && npm install && npm run db:generate && echo 'Generated code is ready to run with: npm run dev'"
|
|
52
|
+
},
|
|
53
|
+
"keywords": ["specverse", "specification", "ai", "inference"],
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
},
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": ">=18.0.0"
|
|
58
|
+
}
|
|
59
|
+
}
|