@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,176 @@
|
|
|
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
|
+
# Backend Application Entry Point (generates backend/src/main.ts)
|
|
74
|
+
- capability: "app.entrypoint"
|
|
75
|
+
instanceFactory: "GenericApp"
|
|
76
|
+
|
|
77
|
+
# Frontend Application (generates frontend/index.html, App.tsx, etc.)
|
|
78
|
+
- capability: "app.frontend"
|
|
79
|
+
instanceFactory: "ReactApp"
|
|
80
|
+
|
|
81
|
+
# UI Components - React (views and components)
|
|
82
|
+
- capability: "ui.components"
|
|
83
|
+
instanceFactory: "ReactComponents"
|
|
84
|
+
|
|
85
|
+
- capability: "ui.views"
|
|
86
|
+
instanceFactory: "ReactComponents"
|
|
87
|
+
|
|
88
|
+
- capability: "ui.forms"
|
|
89
|
+
instanceFactory: "ReactComponents"
|
|
90
|
+
|
|
91
|
+
# v3.3: Configuration section
|
|
92
|
+
configuration:
|
|
93
|
+
# Project structure
|
|
94
|
+
outputStructure: "monorepo"
|
|
95
|
+
frontendDir: "frontend"
|
|
96
|
+
backendDir: "backend"
|
|
97
|
+
|
|
98
|
+
# API connection (for frontend)
|
|
99
|
+
apiBaseUrl: "http://localhost:3000"
|
|
100
|
+
# Environment-specific settings
|
|
101
|
+
environments:
|
|
102
|
+
development:
|
|
103
|
+
database:
|
|
104
|
+
provider: "postgresql"
|
|
105
|
+
url: "postgresql://localhost:5432/{{projectNameKebab}}_dev"
|
|
106
|
+
server:
|
|
107
|
+
port: 3000
|
|
108
|
+
host: "localhost"
|
|
109
|
+
logLevel: "debug"
|
|
110
|
+
features:
|
|
111
|
+
hotReload: true
|
|
112
|
+
debugMode: true
|
|
113
|
+
|
|
114
|
+
test:
|
|
115
|
+
database:
|
|
116
|
+
provider: "postgresql"
|
|
117
|
+
url: "postgresql://localhost:5432/{{projectNameKebab}}_test"
|
|
118
|
+
server:
|
|
119
|
+
port: 3001
|
|
120
|
+
host: "localhost"
|
|
121
|
+
logLevel: "silent"
|
|
122
|
+
|
|
123
|
+
production:
|
|
124
|
+
database:
|
|
125
|
+
provider: "postgresql"
|
|
126
|
+
url: "${DATABASE_URL}"
|
|
127
|
+
server:
|
|
128
|
+
port: "${PORT:-8080}"
|
|
129
|
+
host: "0.0.0.0"
|
|
130
|
+
logLevel: "info"
|
|
131
|
+
middleware:
|
|
132
|
+
rateLimit:
|
|
133
|
+
max: 1000
|
|
134
|
+
timeWindow: "1 minute"
|
|
135
|
+
compression: true
|
|
136
|
+
|
|
137
|
+
# Authentication configuration
|
|
138
|
+
authentication:
|
|
139
|
+
enabled: true
|
|
140
|
+
provider: "jwt"
|
|
141
|
+
secret: "${JWT_SECRET}"
|
|
142
|
+
expiresIn: "7d"
|
|
143
|
+
|
|
144
|
+
# CORS configuration
|
|
145
|
+
cors:
|
|
146
|
+
origin: "*" # Change to specific domains in production
|
|
147
|
+
credentials: true
|
|
148
|
+
methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
|
|
149
|
+
|
|
150
|
+
# Validation configuration
|
|
151
|
+
validation:
|
|
152
|
+
enabled: true
|
|
153
|
+
provider: "zod"
|
|
154
|
+
stripUnknown: true
|
|
155
|
+
abortEarly: false
|
|
156
|
+
|
|
157
|
+
# Logging configuration
|
|
158
|
+
logging:
|
|
159
|
+
level: "info"
|
|
160
|
+
pretty: true
|
|
161
|
+
destinations:
|
|
162
|
+
- type: "console"
|
|
163
|
+
- type: "file"
|
|
164
|
+
path: "logs/{{projectNameKebab}}.log"
|
|
165
|
+
|
|
166
|
+
# Code generation options
|
|
167
|
+
generation:
|
|
168
|
+
outputDir: "./generated/code"
|
|
169
|
+
typescript: true
|
|
170
|
+
validation: true
|
|
171
|
+
tests: false
|
|
172
|
+
documentation: true
|
|
173
|
+
metadata:
|
|
174
|
+
idStrategy: "uuid"
|
|
175
|
+
auditFields: true
|
|
176
|
+
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,61 @@
|
|
|
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:backend # Start backend dev server' && echo ' npm run app:dev:frontend # Start frontend dev 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": "echo '⚠️ Development mode requires 2 separate terminals:' && echo '' && echo ' Terminal 1: cd generated/code && npm run dev:backend' && echo ' Terminal 2: cd generated/code && npm run dev:frontend' && echo '' && echo 'Or use the shortcut commands:' && echo ' npm run app:dev:backend' && echo ' npm run app:dev:frontend'",
|
|
12
|
+
"app:dev:backend": "if [ -d generated/code ]; then cd generated/code && npm run dev:backend; else echo '❌ No generated code found. Run: npm run genAll'; exit 1; fi",
|
|
13
|
+
"app:dev:frontend": "if [ -d generated/code ]; then cd generated/code && npm run dev:frontend; else echo '❌ No generated code found. Run: npm run genAll'; exit 1; fi",
|
|
14
|
+
|
|
15
|
+
"_comment_validation": "=== Validation ===",
|
|
16
|
+
"validate": "specverse validate specs/main.specly",
|
|
17
|
+
"validate:all": "npm run validate && npm run validate:manifests",
|
|
18
|
+
"validate:manifests": "specverse validate manifests/docker-compose.specly && specverse validate manifests/kubernetes.specly",
|
|
19
|
+
|
|
20
|
+
"_comment_inference": "=== AI Inference ===",
|
|
21
|
+
"infer": "specverse infer specs/main.specly -o generated/{{projectNameKebab}}-complete.specly",
|
|
22
|
+
"infer:deployment": "specverse infer specs/main.specly --deployment --environment development -o generated/{{projectNameKebab}}-deployed.specly",
|
|
23
|
+
"infer:deployment:prod": "specverse infer specs/main.specly --deployment --environment production -o generated/{{projectNameKebab}}-deployed-prod.specly",
|
|
24
|
+
|
|
25
|
+
"_comment_generation": "=== Generation ===",
|
|
26
|
+
"generate:docs": "specverse gen docs specs/main.specly --output docs/main-docs.md",
|
|
27
|
+
"generate:diagrams": "specverse gen diagram specs/main.specly --output docs/diagrams",
|
|
28
|
+
"generate:diagram:er": "specverse gen diagram specs/main.specly -t er-diagram -o docs/diagrams/er-diagram.mmd",
|
|
29
|
+
"generate:diagram:event-flow": "specverse gen diagram specs/main.specly -t event-flow-layered -o docs/diagrams/event-flow-layered.mmd",
|
|
30
|
+
"generate:diagram:lifecycle": "specverse gen diagram specs/main.specly -t lifecycle -o docs/diagrams/lifecycle.mmd",
|
|
31
|
+
"generate:diagram:deployment": "specverse gen diagram specs/main.specly -t deployment-topology -o docs/diagrams/deployment.mmd",
|
|
32
|
+
"generate:diagram:architecture": "specverse gen diagram specs/main.specly -t model-architecture -o docs/diagrams/architecture.mmd",
|
|
33
|
+
"generate:complete": "npm run infer && npm run infer:docs",
|
|
34
|
+
|
|
35
|
+
"_comment_inference_docs": "=== Inference Documentation ===",
|
|
36
|
+
"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",
|
|
37
|
+
"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",
|
|
38
|
+
"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",
|
|
39
|
+
|
|
40
|
+
"_comment_realization": "=== Code Realization (v3.3) ===",
|
|
41
|
+
"realize:orm": "specverse realize orm specs/main.specly -m manifests/implementation.yaml",
|
|
42
|
+
"realize:services": "specverse realize services specs/main.specly -m manifests/implementation.yaml",
|
|
43
|
+
"realize:routes": "specverse realize routes specs/main.specly -m manifests/implementation.yaml",
|
|
44
|
+
"realize:all": "specverse realize all specs/main.specly -m manifests/implementation.yaml -o generated/code",
|
|
45
|
+
|
|
46
|
+
"_comment_utilities": "=== Utilities ===",
|
|
47
|
+
"process": "specverse gen yaml specs/main.specly -o generated/{{projectNameKebab}}-processed.yaml",
|
|
48
|
+
"format": "specverse dev format specs/main.specly --write",
|
|
49
|
+
|
|
50
|
+
"_comment_testing": "=== Testing ===",
|
|
51
|
+
"test:all": "./scripts/test-all.sh",
|
|
52
|
+
"test:generated:compile": "cd generated/code && npx tsc --noEmit --skipLibCheck 2>&1 || echo 'TypeScript compilation check (some errors expected without npm install)'",
|
|
53
|
+
"test:generated:run": "cd generated/code && npm install && npm run db:generate && echo 'Generated code is ready to run with: npm run dev'"
|
|
54
|
+
},
|
|
55
|
+
"keywords": ["specverse", "specification", "ai", "inference"],
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
},
|
|
58
|
+
"engines": {
|
|
59
|
+
"node": ">=18.0.0"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -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"
|