@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,155 @@
|
|
|
1
|
+
# SpecVerse v3.3 Implementation Manifest
|
|
2
|
+
# Defines technology stack using implementation types and capability mappings
|
|
3
|
+
|
|
4
|
+
manifests:
|
|
5
|
+
{{projectNameKebab}}Implementation:
|
|
6
|
+
specVersion: "3.3.0"
|
|
7
|
+
name: "{{projectNameKebab}}-implementation"
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
description: "Development implementation manifest for {{projectName}}"
|
|
10
|
+
|
|
11
|
+
# v3.3: Deployment reference
|
|
12
|
+
deployment:
|
|
13
|
+
deploymentSource: "../specs/main.specly"
|
|
14
|
+
deploymentName: "development"
|
|
15
|
+
|
|
16
|
+
# v3.3: Default technology stack mappings
|
|
17
|
+
defaultMappings:
|
|
18
|
+
storage: "PostgreSQL15"
|
|
19
|
+
controller: "PrismaServices"
|
|
20
|
+
service: "PrismaServices"
|
|
21
|
+
routing: "FastifyAPI"
|
|
22
|
+
orm: "PrismaORM"
|
|
23
|
+
communication: "EventEmitter"
|
|
24
|
+
|
|
25
|
+
# v3.3: Map deployment instance capabilities to implementation types
|
|
26
|
+
capabilityMappings:
|
|
27
|
+
# API Layer - Fastify REST API (routing)
|
|
28
|
+
- capability: "api.rest"
|
|
29
|
+
instanceFactory: "FastifyAPI"
|
|
30
|
+
|
|
31
|
+
# Business Logic Layer - PrismaServices (controllers + services)
|
|
32
|
+
- capability: "service.controller"
|
|
33
|
+
instanceFactory: "PrismaServices"
|
|
34
|
+
|
|
35
|
+
- capability: "service.business"
|
|
36
|
+
instanceFactory: "PrismaServices"
|
|
37
|
+
|
|
38
|
+
- capability: "service.crud"
|
|
39
|
+
instanceFactory: "PrismaServices"
|
|
40
|
+
|
|
41
|
+
# Data Layer - PostgreSQL + Prisma
|
|
42
|
+
- capability: "storage.database"
|
|
43
|
+
instanceFactory: "PostgreSQL15"
|
|
44
|
+
|
|
45
|
+
# ORM - Prisma (schema + client)
|
|
46
|
+
- capability: "orm.schema"
|
|
47
|
+
instanceFactory: "PrismaORM"
|
|
48
|
+
|
|
49
|
+
- capability: "orm.client"
|
|
50
|
+
instanceFactory: "PrismaORM"
|
|
51
|
+
|
|
52
|
+
- capability: "orm.prisma"
|
|
53
|
+
instanceFactory: "PrismaORM"
|
|
54
|
+
|
|
55
|
+
# Events - In-memory for development
|
|
56
|
+
- capability: "messaging.pubsub"
|
|
57
|
+
instanceFactory: "EventEmitter"
|
|
58
|
+
|
|
59
|
+
- capability: "messaging.events"
|
|
60
|
+
instanceFactory: "EventEmitter"
|
|
61
|
+
|
|
62
|
+
# Validation - Zod
|
|
63
|
+
- capability: "validation.runtime"
|
|
64
|
+
instanceFactory: "ZodValidation"
|
|
65
|
+
|
|
66
|
+
- capability: "validation.schema"
|
|
67
|
+
instanceFactory: "ZodValidation"
|
|
68
|
+
|
|
69
|
+
# Project Scaffolding (generates package.json, tsconfig.json, etc.)
|
|
70
|
+
- capability: "project.scaffold"
|
|
71
|
+
instanceFactory: "GenericScaffold"
|
|
72
|
+
|
|
73
|
+
# Application Entry Point (generates src/main.ts)
|
|
74
|
+
- capability: "app.entrypoint"
|
|
75
|
+
instanceFactory: "GenericApp"
|
|
76
|
+
|
|
77
|
+
# v3.3: Configuration section
|
|
78
|
+
configuration:
|
|
79
|
+
# Environment-specific settings
|
|
80
|
+
environments:
|
|
81
|
+
development:
|
|
82
|
+
database:
|
|
83
|
+
provider: "postgresql"
|
|
84
|
+
url: "postgresql://localhost:5432/{{projectNameKebab}}_dev"
|
|
85
|
+
server:
|
|
86
|
+
port: 3000
|
|
87
|
+
host: "localhost"
|
|
88
|
+
logLevel: "debug"
|
|
89
|
+
features:
|
|
90
|
+
hotReload: true
|
|
91
|
+
debugMode: true
|
|
92
|
+
|
|
93
|
+
test:
|
|
94
|
+
database:
|
|
95
|
+
provider: "postgresql"
|
|
96
|
+
url: "postgresql://localhost:5432/{{projectNameKebab}}_test"
|
|
97
|
+
server:
|
|
98
|
+
port: 3001
|
|
99
|
+
host: "localhost"
|
|
100
|
+
logLevel: "silent"
|
|
101
|
+
|
|
102
|
+
production:
|
|
103
|
+
database:
|
|
104
|
+
provider: "postgresql"
|
|
105
|
+
url: "${DATABASE_URL}"
|
|
106
|
+
server:
|
|
107
|
+
port: "${PORT:-8080}"
|
|
108
|
+
host: "0.0.0.0"
|
|
109
|
+
logLevel: "info"
|
|
110
|
+
middleware:
|
|
111
|
+
rateLimit:
|
|
112
|
+
max: 1000
|
|
113
|
+
timeWindow: "1 minute"
|
|
114
|
+
compression: true
|
|
115
|
+
|
|
116
|
+
# Authentication configuration
|
|
117
|
+
authentication:
|
|
118
|
+
enabled: true
|
|
119
|
+
provider: "jwt"
|
|
120
|
+
secret: "${JWT_SECRET}"
|
|
121
|
+
expiresIn: "7d"
|
|
122
|
+
|
|
123
|
+
# CORS configuration
|
|
124
|
+
cors:
|
|
125
|
+
origin: "*" # Change to specific domains in production
|
|
126
|
+
credentials: true
|
|
127
|
+
methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
|
|
128
|
+
|
|
129
|
+
# Validation configuration
|
|
130
|
+
validation:
|
|
131
|
+
enabled: true
|
|
132
|
+
provider: "zod"
|
|
133
|
+
stripUnknown: true
|
|
134
|
+
abortEarly: false
|
|
135
|
+
|
|
136
|
+
# Logging configuration
|
|
137
|
+
logging:
|
|
138
|
+
level: "info"
|
|
139
|
+
pretty: true
|
|
140
|
+
destinations:
|
|
141
|
+
- type: "console"
|
|
142
|
+
- type: "file"
|
|
143
|
+
path: "logs/{{projectNameKebab}}.log"
|
|
144
|
+
|
|
145
|
+
# Code generation options
|
|
146
|
+
generation:
|
|
147
|
+
outputDir: "./generated/code"
|
|
148
|
+
typescript: true
|
|
149
|
+
validation: true
|
|
150
|
+
tests: false
|
|
151
|
+
documentation: true
|
|
152
|
+
metadata:
|
|
153
|
+
idStrategy: "uuid"
|
|
154
|
+
auditFields: true
|
|
155
|
+
softDeleteStrategy: "deletedAt"
|
|
@@ -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,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{projectNameKebab}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "{{projectName}} - SpecVerse Project",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"validate": "specverse validate specs/main.specly",
|
|
7
|
+
"validate:all": "npm run validate && npm run validate:manifests",
|
|
8
|
+
"validate:manifests": "specverse validate manifests/docker-compose.specly && specverse validate manifests/kubernetes.specly",
|
|
9
|
+
"infer": "specverse infer specs/main.specly -o generated/{{projectNameKebab}}-complete.specly",
|
|
10
|
+
"infer:deployment": "specverse infer specs/main.specly --deployment --environment development -o generated/{{projectNameKebab}}-deployed.specly",
|
|
11
|
+
"infer:deployment:prod": "specverse infer specs/main.specly --deployment --environment production -o generated/{{projectNameKebab}}-deployed-prod.specly",
|
|
12
|
+
"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",
|
|
13
|
+
"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",
|
|
14
|
+
"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",
|
|
15
|
+
"generate:diagrams": "specverse gen diagram specs/main.specly --output docs/diagrams",
|
|
16
|
+
"generate:diagram:er": "specverse gen diagram specs/main.specly -t er-diagram -o docs/diagrams/er-diagram.mmd",
|
|
17
|
+
"generate:diagram:event-flow": "specverse gen diagram specs/main.specly -t event-flow-layered -o docs/diagrams/event-flow-layered.mmd",
|
|
18
|
+
"generate:diagram:lifecycle": "specverse gen diagram specs/main.specly -t lifecycle -o docs/diagrams/lifecycle.mmd",
|
|
19
|
+
"generate:diagram:deployment": "specverse gen diagram specs/main.specly -t deployment-topology -o docs/diagrams/deployment.mmd",
|
|
20
|
+
"generate:diagram:architecture": "specverse gen diagram specs/main.specly -t model-architecture -o docs/diagrams/architecture.mmd",
|
|
21
|
+
"generate:docs": "specverse gen docs specs/main.specly --output docs/main-docs.md",
|
|
22
|
+
"generate:complete": "npm run infer && npm run infer:docs",
|
|
23
|
+
"process": "specverse gen yaml specs/main.specly -o generated/{{projectNameKebab}}-processed.yaml",
|
|
24
|
+
"format": "specverse dev format specs/main.specly --write",
|
|
25
|
+
"build": "npm run validate && npm run infer",
|
|
26
|
+
"build:full": "npm run validate && npm run infer:deployment && npm run generate:diagrams",
|
|
27
|
+
"build:complete": "npm run validate && npm run infer && npm run infer:deployment && npm run generate:diagrams && npm run generate:docs",
|
|
28
|
+
"dev": "npm run validate && npm run infer",
|
|
29
|
+
"test": "./scripts/test-all.sh",
|
|
30
|
+
"realize:orm": "specverse realize orm specs/main.specly -m manifests/implementation.yaml",
|
|
31
|
+
"realize:services": "specverse realize services specs/main.specly -m manifests/implementation.yaml",
|
|
32
|
+
"realize:routes": "specverse realize routes specs/main.specly -m manifests/implementation.yaml",
|
|
33
|
+
"realize:all": "specverse realize all specs/main.specly -m manifests/implementation.yaml -o generated/code",
|
|
34
|
+
"test:generated:compile": "cd generated/code && npx tsc --noEmit --skipLibCheck 2>&1 || echo 'TypeScript compilation check (some errors expected without npm install)'",
|
|
35
|
+
"test:generated:run": "cd generated/code && npm install && npm run db:generate && echo 'Generated code is ready to run with: npm run dev'",
|
|
36
|
+
"_comment_realize": "Use 'realize:all' to generate complete runnable project (ORM, services, routes, scaffolding, main.ts)",
|
|
37
|
+
"_comment_generated": "After realize:all, run 'test:generated:run' to set up the generated project"
|
|
38
|
+
},
|
|
39
|
+
"keywords": ["specverse", "specification", "ai", "inference"],
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=18.0.0"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# SpecVerse Comprehensive Test Script
|
|
4
|
+
# Tests all commands and validates generated specifications
|
|
5
|
+
|
|
6
|
+
set -e # Exit on any error
|
|
7
|
+
|
|
8
|
+
echo "🚀 Starting comprehensive SpecVerse test..."
|
|
9
|
+
|
|
10
|
+
# Create necessary directories
|
|
11
|
+
mkdir -p generated docs/diagrams generated/docs generated/code
|
|
12
|
+
|
|
13
|
+
# Step 1: Validate original specification
|
|
14
|
+
echo "📋 Step 1: Validating original specification..."
|
|
15
|
+
npm run validate
|
|
16
|
+
|
|
17
|
+
# Step 2: Generate complete specification and validate it
|
|
18
|
+
echo "🧠 Step 2: Generating and validating complete specification..."
|
|
19
|
+
npm run infer
|
|
20
|
+
specverse validate generated/{{projectNameKebab}}-complete.specly
|
|
21
|
+
|
|
22
|
+
# Step 3: Generate development deployment and validate it
|
|
23
|
+
echo "🏗️ Step 3: Generating and validating development deployment..."
|
|
24
|
+
npm run infer:deployment
|
|
25
|
+
specverse validate generated/{{projectNameKebab}}-deployed.specly
|
|
26
|
+
|
|
27
|
+
# Step 4: Generate production deployment and validate it
|
|
28
|
+
echo "🏭 Step 4: Generating and validating production deployment..."
|
|
29
|
+
npm run infer:deployment:prod
|
|
30
|
+
specverse validate generated/{{projectNameKebab}}-deployed-prod.specly
|
|
31
|
+
|
|
32
|
+
# Step 5: Generate documentation and diagrams for original spec
|
|
33
|
+
echo "📚 Step 5: Generating docs and diagrams for original specification..."
|
|
34
|
+
npm run generate:docs
|
|
35
|
+
npm run generate:diagrams
|
|
36
|
+
|
|
37
|
+
# Step 6: Generate documentation for all inferred specifications
|
|
38
|
+
echo "📖 Step 6: Generating docs for all inferred specifications..."
|
|
39
|
+
npm run infer:docs
|
|
40
|
+
npm run infer:deployment:docs
|
|
41
|
+
npm run infer:deployment:prod:docs
|
|
42
|
+
|
|
43
|
+
# Step 7: Test YAML processing
|
|
44
|
+
echo "⚙️ Step 7: Testing YAML processing..."
|
|
45
|
+
npm run process
|
|
46
|
+
|
|
47
|
+
# Step 8: Test v3.3 Code Realization (NEW)
|
|
48
|
+
echo "🔧 Step 8: Testing v3.3 code realization..."
|
|
49
|
+
echo " → Generating complete runnable project..."
|
|
50
|
+
npm run realize:all
|
|
51
|
+
|
|
52
|
+
# Verify generated project structure
|
|
53
|
+
echo " → Verifying generated project..."
|
|
54
|
+
if [ -f "generated/code/package.json" ]; then
|
|
55
|
+
echo " ✅ package.json generated"
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
if [ -f "generated/code/tsconfig.json" ]; then
|
|
59
|
+
echo " ✅ tsconfig.json generated"
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
if [ -f "generated/code/.env.example" ]; then
|
|
63
|
+
echo " ✅ .env.example generated"
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
if [ -f "generated/code/README.md" ]; then
|
|
67
|
+
echo " ✅ README.md generated"
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# Check for backend structure
|
|
71
|
+
if [ -d "generated/code/backend" ]; then
|
|
72
|
+
echo " ✅ Backend directory generated"
|
|
73
|
+
|
|
74
|
+
if [ -f "generated/code/backend/src/main.ts" ]; then
|
|
75
|
+
echo " ✅ Backend entry point (backend/src/main.ts) generated"
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
# Check for ORM schema (Prisma for default template)
|
|
79
|
+
if [ -f "generated/code/backend/prisma/schema.prisma" ]; then
|
|
80
|
+
echo " ✅ Prisma ORM schema generated"
|
|
81
|
+
elif [ -d "generated/code/backend/src/entities" ] || [ -d "generated/code/backend/src/models" ]; then
|
|
82
|
+
echo " ✅ ORM schema generated"
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
if [ -d "generated/code/backend/src/controllers" ]; then
|
|
86
|
+
echo " ✅ Controllers generated"
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
if [ -d "generated/code/backend/src/routes" ]; then
|
|
90
|
+
echo " ✅ Route handlers generated"
|
|
91
|
+
fi
|
|
92
|
+
fi
|
|
93
|
+
|
|
94
|
+
# Check for frontend structure
|
|
95
|
+
if [ -d "generated/code/frontend" ]; then
|
|
96
|
+
echo " ✅ Frontend directory generated"
|
|
97
|
+
|
|
98
|
+
if [ -f "generated/code/frontend/src/main.tsx" ]; then
|
|
99
|
+
echo " ✅ Frontend entry point (frontend/src/main.tsx) generated"
|
|
100
|
+
fi
|
|
101
|
+
|
|
102
|
+
if [ -d "generated/code/frontend/src/components" ]; then
|
|
103
|
+
echo " ✅ React components generated"
|
|
104
|
+
fi
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
# Check for v3.3 CURVED features in generated code
|
|
108
|
+
if [ -d "generated/code/backend/src/controllers" ]; then
|
|
109
|
+
# Check for unified validation method (v3.3)
|
|
110
|
+
if grep -q "validate(.*context.*operation" generated/code/backend/src/controllers/*.ts 2>/dev/null; then
|
|
111
|
+
echo " ✅ v3.3 unified validation method present"
|
|
112
|
+
fi
|
|
113
|
+
|
|
114
|
+
# Check for delete operation (not destroy)
|
|
115
|
+
if grep -q "async delete(id:" generated/code/backend/src/controllers/*.ts 2>/dev/null; then
|
|
116
|
+
echo " ✅ v3.3 delete operation present (CURVED)"
|
|
117
|
+
fi
|
|
118
|
+
|
|
119
|
+
# Check for retrieveAll method (list operation)
|
|
120
|
+
if grep -q "async retrieveAll" generated/code/backend/src/controllers/*.ts 2>/dev/null; then
|
|
121
|
+
echo " ✅ v3.3 retrieveAll method present (CURVED)"
|
|
122
|
+
fi
|
|
123
|
+
fi
|
|
124
|
+
|
|
125
|
+
# Check for validate endpoint in routes
|
|
126
|
+
if [ -d "generated/code/backend/src/routes" ]; then
|
|
127
|
+
if grep -q "'/validate'" generated/code/backend/src/routes/*.ts 2>/dev/null; then
|
|
128
|
+
echo " ✅ v3.3 validate endpoint present (CURVED)"
|
|
129
|
+
fi
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
echo ""
|
|
133
|
+
echo "✅ All SpecVerse commands tested successfully!"
|
|
134
|
+
echo "✅ All generated specifications are valid and documented."
|
|
135
|
+
echo ""
|
|
136
|
+
echo "📊 Test Summary:"
|
|
137
|
+
echo " - Original specification: validated"
|
|
138
|
+
echo " - Complete specification: generated and validated"
|
|
139
|
+
echo " - Development deployment: generated and validated"
|
|
140
|
+
echo " - Production deployment: generated and validated"
|
|
141
|
+
echo " - Documentation: generated for all specifications"
|
|
142
|
+
echo " - Diagrams: generated for all specifications"
|
|
143
|
+
echo " - YAML processing: tested"
|
|
144
|
+
echo " - v3.3 Code realization: tested"
|
|
145
|
+
echo " - Complete runnable project: generated"
|
|
146
|
+
echo ""
|
|
147
|
+
echo "🎉 SpecVerse workflow is fully functional!"
|
|
148
|
+
echo ""
|
|
149
|
+
echo "💡 Next steps:"
|
|
150
|
+
echo " To run the generated full-stack application:"
|
|
151
|
+
echo " 1. cd /path/to/project (if not already there)"
|
|
152
|
+
echo " 2. npm run genAll (if not already run - installs deps and sets up DB)"
|
|
153
|
+
echo " 3. npm run app:build (build TypeScript)"
|
|
154
|
+
echo " 4. npm run app:dev:backend (Terminal 1 - starts backend on :3000)"
|
|
155
|
+
echo " 5. npm run app:dev:frontend (Terminal 2 - starts frontend on :5173)"
|
|
156
|
+
echo ""
|
|
157
|
+
echo " Or run 'npm run app:dev' to see detailed instructions"
|
|
158
|
+
echo ""
|
|
159
|
+
echo " Backend API: http://localhost:3000/api/{{componentNameKebab}}s"
|
|
160
|
+
echo " Frontend UI: http://localhost:5173"
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Test Generated Code Runtime Execution
|
|
4
|
+
# Tests that generated code actually compiles and runs
|
|
5
|
+
|
|
6
|
+
set -e # Exit on any error
|
|
7
|
+
|
|
8
|
+
echo "🧪 Testing Generated Code Execution..."
|
|
9
|
+
echo ""
|
|
10
|
+
|
|
11
|
+
# Check if code has been generated
|
|
12
|
+
if [ ! -d "generated/code/services" ]; then
|
|
13
|
+
echo "⚠️ No generated code found. Running generators first..."
|
|
14
|
+
npm run generate:code
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
echo "📦 Step 1: Setting up runtime environment..."
|
|
18
|
+
|
|
19
|
+
# Create runtime package.json if it doesn't exist
|
|
20
|
+
if [ ! -f "generated/code/package.json" ]; then
|
|
21
|
+
echo " → Creating package.json for generated code..."
|
|
22
|
+
cat > generated/code/package.json << 'EOF'
|
|
23
|
+
{
|
|
24
|
+
"name": "generated-code-runtime",
|
|
25
|
+
"version": "0.1.0",
|
|
26
|
+
"type": "module",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@prisma/client": "^5.0.0",
|
|
29
|
+
"typeorm": "^0.3.17",
|
|
30
|
+
"reflect-metadata": "^0.1.13",
|
|
31
|
+
"better-sqlite3": "^9.0.0"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/node": "^20.0.0",
|
|
35
|
+
"typescript": "^5.2.0",
|
|
36
|
+
"tsx": "^3.12.0"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
EOF
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# Create tsconfig.json if it doesn't exist
|
|
43
|
+
if [ ! -f "generated/code/tsconfig.json" ]; then
|
|
44
|
+
echo " → Creating tsconfig.json for generated code..."
|
|
45
|
+
cat > generated/code/tsconfig.json << 'EOF'
|
|
46
|
+
{
|
|
47
|
+
"compilerOptions": {
|
|
48
|
+
"target": "ES2022",
|
|
49
|
+
"module": "ESNext",
|
|
50
|
+
"lib": ["ES2022"],
|
|
51
|
+
"moduleResolution": "node",
|
|
52
|
+
"esModuleInterop": true,
|
|
53
|
+
"skipLibCheck": true,
|
|
54
|
+
"strict": true,
|
|
55
|
+
"resolveJsonModule": true,
|
|
56
|
+
"declaration": true,
|
|
57
|
+
"outDir": "./dist",
|
|
58
|
+
"rootDir": ".",
|
|
59
|
+
"experimentalDecorators": true,
|
|
60
|
+
"emitDecoratorMetadata": true
|
|
61
|
+
},
|
|
62
|
+
"include": ["**/*.ts"],
|
|
63
|
+
"exclude": ["node_modules", "dist"]
|
|
64
|
+
}
|
|
65
|
+
EOF
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
echo " ✅ Runtime environment configured"
|
|
69
|
+
echo ""
|
|
70
|
+
|
|
71
|
+
echo "🔧 Step 2: Checking TypeScript compilation..."
|
|
72
|
+
|
|
73
|
+
cd generated/code
|
|
74
|
+
|
|
75
|
+
# Check if dependencies are installed
|
|
76
|
+
if [ ! -d "node_modules" ]; then
|
|
77
|
+
echo " → Installing dependencies (this may take a minute)..."
|
|
78
|
+
npm install --silent 2>&1 | grep -v "^npm WARN" || true
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
# Try to compile TypeScript
|
|
82
|
+
echo " → Compiling TypeScript..."
|
|
83
|
+
if npx tsc --noEmit 2>&1 | tee compile.log; then
|
|
84
|
+
echo " ✅ TypeScript compilation successful"
|
|
85
|
+
COMPILE_STATUS="✅ PASSED"
|
|
86
|
+
else
|
|
87
|
+
echo " ⚠️ TypeScript compilation has errors (expected - missing runtime setup)"
|
|
88
|
+
echo " 📝 See generated/code/compile.log for details"
|
|
89
|
+
COMPILE_STATUS="⚠️ NEEDS SETUP"
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
cd ../..
|
|
93
|
+
|
|
94
|
+
echo ""
|
|
95
|
+
echo "🔍 Step 3: Analyzing generated code quality..."
|
|
96
|
+
|
|
97
|
+
# Check for v3.3 features in generated code
|
|
98
|
+
echo " → Checking for v3.3 features..."
|
|
99
|
+
|
|
100
|
+
FEATURES_FOUND=0
|
|
101
|
+
|
|
102
|
+
if grep -q "validate(data: any, context:" generated/code/services/*.ts 2>/dev/null; then
|
|
103
|
+
echo " ✅ Unified validation method found"
|
|
104
|
+
((FEATURES_FOUND++))
|
|
105
|
+
fi
|
|
106
|
+
|
|
107
|
+
if grep -q "version mismatch" generated/code/services/*.ts 2>/dev/null; then
|
|
108
|
+
echo " ✅ Optimistic locking found"
|
|
109
|
+
((FEATURES_FOUND++))
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
if grep -q "deletedAt: null\|isDeleted: false" generated/code/services/*.ts 2>/dev/null; then
|
|
113
|
+
echo " ✅ Soft delete filtering found"
|
|
114
|
+
((FEATURES_FOUND++))
|
|
115
|
+
fi
|
|
116
|
+
|
|
117
|
+
if grep -q "createdAt\|updatedAt" generated/code/services/*.ts 2>/dev/null; then
|
|
118
|
+
echo " ✅ Audit fields found"
|
|
119
|
+
((FEATURES_FOUND++))
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
if grep -q "EventBus\|eventBus" generated/code/services/*.ts 2>/dev/null; then
|
|
123
|
+
echo " ✅ Event publishing found"
|
|
124
|
+
((FEATURES_FOUND++))
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
echo ""
|
|
128
|
+
echo "📊 Step 4: Code Quality Report"
|
|
129
|
+
echo " ════════════════════════════════════════"
|
|
130
|
+
|
|
131
|
+
# Count generated files
|
|
132
|
+
SERVICE_COUNT=$(find generated/code/services -name "*.ts" 2>/dev/null | wc -l | tr -d ' ')
|
|
133
|
+
ROUTE_COUNT=$(find generated/code/routes -name "*.js" -o -name "*.ts" 2>/dev/null | wc -l | tr -d ' ')
|
|
134
|
+
|
|
135
|
+
echo " Files Generated:"
|
|
136
|
+
echo " Services: $SERVICE_COUNT"
|
|
137
|
+
echo " Routes: $ROUTE_COUNT"
|
|
138
|
+
echo ""
|
|
139
|
+
echo " v3.3 Features: $FEATURES_FOUND/5 detected"
|
|
140
|
+
echo " Compilation: $COMPILE_STATUS"
|
|
141
|
+
echo ""
|
|
142
|
+
|
|
143
|
+
# Show service structure
|
|
144
|
+
if [ -d "generated/code/services" ] && [ -n "$(ls -A generated/code/services/*.ts 2>/dev/null)" ]; then
|
|
145
|
+
echo " Service Structure:"
|
|
146
|
+
for file in generated/code/services/*.ts; do
|
|
147
|
+
if [ -f "$file" ]; then
|
|
148
|
+
SERVICE_NAME=$(basename "$file" .service.ts)
|
|
149
|
+
METHOD_COUNT=$(grep -c "async\s\+\w\+(.*)" "$file" || echo "0")
|
|
150
|
+
echo " $(basename "$file"): $METHOD_COUNT methods"
|
|
151
|
+
fi
|
|
152
|
+
done
|
|
153
|
+
echo ""
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
echo "✅ Generated Code Analysis Complete!"
|
|
157
|
+
echo ""
|
|
158
|
+
echo "📝 Next Steps to Run Generated Code:"
|
|
159
|
+
echo " 1. cd generated/code"
|
|
160
|
+
echo " 2. npm install"
|
|
161
|
+
echo " 3. Set up database (Prisma: npx prisma generate && npx prisma migrate dev)"
|
|
162
|
+
echo " 4. Create server entry point (services/index.ts)"
|
|
163
|
+
echo " 5. npm run start:dev"
|
|
164
|
+
echo ""
|
|
165
|
+
echo "💡 Tip: See generated/code/compile.log for compilation details"
|