@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,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"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# SpecVerse Backend-Only API
|
|
2
|
+
# A REST API service without frontend - perfect for microservices and API-first development
|
|
3
|
+
#
|
|
4
|
+
# To use:
|
|
5
|
+
# 1. Run: npm run realize:all
|
|
6
|
+
# 2. Run: cd generated/code && npm install
|
|
7
|
+
# 3. Run: npm run db:generate && npm run db:push
|
|
8
|
+
# 4. Run: npm run dev
|
|
9
|
+
# 5. Test: curl http://localhost:3000/api/products
|
|
10
|
+
|
|
11
|
+
components:
|
|
12
|
+
{{componentName}}:
|
|
13
|
+
version: "1.0.0"
|
|
14
|
+
description: "{{projectName}} - Backend API Service"
|
|
15
|
+
tags: ["backend", "api", "microservice"]
|
|
16
|
+
|
|
17
|
+
models:
|
|
18
|
+
Product:
|
|
19
|
+
description: "Product in the catalog"
|
|
20
|
+
|
|
21
|
+
metadata:
|
|
22
|
+
id: uuid
|
|
23
|
+
audit: true
|
|
24
|
+
|
|
25
|
+
attributes:
|
|
26
|
+
name: String required min=1 max=200
|
|
27
|
+
description: Text
|
|
28
|
+
price: Decimal required min=0
|
|
29
|
+
sku: String required unique
|
|
30
|
+
inStock: Boolean default=true
|
|
31
|
+
category: String values=["Electronics", "Clothing", "Books", "Home", "Other"] default="Other"
|
|
32
|
+
|
|
33
|
+
controllers:
|
|
34
|
+
ProductController:
|
|
35
|
+
model: Product
|
|
36
|
+
description: "REST API for product management"
|
|
37
|
+
|
|
38
|
+
cured:
|
|
39
|
+
create: {}
|
|
40
|
+
retrieve: {}
|
|
41
|
+
update: {}
|
|
42
|
+
validate: {}
|
|
43
|
+
evolve: {}
|
|
44
|
+
delete: {}
|
|
45
|
+
|
|
46
|
+
deployments:
|
|
47
|
+
development:
|
|
48
|
+
version: "1.0.0"
|
|
49
|
+
description: "{{projectName}} development environment"
|
|
50
|
+
environment: "development"
|
|
51
|
+
|
|
52
|
+
instances:
|
|
53
|
+
controllers:
|
|
54
|
+
apiServer:
|
|
55
|
+
component: {{componentName}}
|
|
56
|
+
namespace: api
|
|
57
|
+
scale: 1
|
|
58
|
+
advertises: [api.*]
|
|
59
|
+
uses: [database.*]
|
|
60
|
+
|
|
61
|
+
storage:
|
|
62
|
+
mainDB:
|
|
63
|
+
component: {{componentName}}
|
|
64
|
+
namespace: data
|
|
65
|
+
type: relational
|
|
66
|
+
scale: 1
|
|
67
|
+
advertises: [persistence.*]
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# {{projectName}} - Claude Code Development Guide
|
|
2
|
+
|
|
3
|
+
This file provides Claude-specific guidance for working with this SpecVerse project.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
**Project**: {{projectName}}
|
|
8
|
+
**Component**: {{componentName}}
|
|
9
|
+
**Type**: SpecVerse Specification
|
|
10
|
+
|
|
11
|
+
**For comprehensive SpecVerse guidance, see `AI-GUIDE.md`**
|
|
12
|
+
|
|
13
|
+
## Claude Code Specific Features
|
|
14
|
+
|
|
15
|
+
### File Operations
|
|
16
|
+
- **Read specifications**: Use Read tool to examine `specs/main.specly`
|
|
17
|
+
- **Edit specifications**: Use Edit tool to modify models and deployments
|
|
18
|
+
- **Run validation**: Use Bash tool with `specverse validate specs/main.specly`
|
|
19
|
+
- **Generate artifacts**: Use Bash tool with `specverse generate` commands
|
|
20
|
+
|
|
21
|
+
### Development Workflow with Claude Code
|
|
22
|
+
1. **Read current spec**: `specs/main.specly`
|
|
23
|
+
2. **Understand requirements**: Check project documentation
|
|
24
|
+
3. **Make targeted changes**: Use Edit tool for specific modifications
|
|
25
|
+
4. **Validate changes**: Run `specverse validate`
|
|
26
|
+
5. **Generate outputs**: Create diagrams, docs as needed
|
|
27
|
+
|
|
28
|
+
### Common Claude Code Tasks
|
|
29
|
+
|
|
30
|
+
#### Adding Models
|
|
31
|
+
```bash
|
|
32
|
+
# Read current spec
|
|
33
|
+
# Use Edit tool to add new models
|
|
34
|
+
# Validate with: specverse validate specs/main.specly
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### Generating Documentation
|
|
38
|
+
```bash
|
|
39
|
+
specverse gen docs specs/main.specly --output docs/
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### Creating Diagrams
|
|
43
|
+
```bash
|
|
44
|
+
# Generate all diagrams
|
|
45
|
+
specverse gen diagram specs/main.specly --output docs/diagrams/
|
|
46
|
+
|
|
47
|
+
# Generate specific diagram types
|
|
48
|
+
specverse gen diagram specs/main.specly -t er-diagram -o docs/diagrams/er.mmd
|
|
49
|
+
specverse gen diagram specs/main.specly -t event-flow-layered -o docs/diagrams/events.mmd
|
|
50
|
+
specverse gen diagram specs/main.specly -t lifecycle -o docs/diagrams/lifecycle.mmd
|
|
51
|
+
specverse gen diagram specs/main.specly -t deployment-topology -o docs/diagrams/deploy.mmd
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Event-Flow Diagrams
|
|
55
|
+
The event-flow-layered diagram type uses topological sorting to visualize:
|
|
56
|
+
- Models publishing events
|
|
57
|
+
- Services subscribing to events
|
|
58
|
+
- Controllers orchestrating flows
|
|
59
|
+
- Views consuming data
|
|
60
|
+
|
|
61
|
+
Example: `npm run generate:diagram:event-flow`
|
|
62
|
+
|
|
63
|
+
#### Running Inference
|
|
64
|
+
```bash
|
|
65
|
+
specverse infer specs/main.specly -o specs/{{projectNameKebab}}-complete.specly
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
#### Working with Manifests (v3.3)
|
|
69
|
+
```bash
|
|
70
|
+
# Implementation manifest (default)
|
|
71
|
+
manifests/implementation.yaml
|
|
72
|
+
|
|
73
|
+
# Platform-specific manifests
|
|
74
|
+
manifests/docker-compose.specly # Development with Docker
|
|
75
|
+
manifests/kubernetes.specly # Production with Kubernetes
|
|
76
|
+
|
|
77
|
+
# Generate code using manifest
|
|
78
|
+
specverse realize specs/main.specly --manifest manifests/implementation.yaml
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Manifest v3.3 Format**: All manifests now use the v3.3 format with:
|
|
82
|
+
- `specVersion: "3.3.0"` (REQUIRED)
|
|
83
|
+
- `deployment:` section (REQUIRED - references spec and deployment name)
|
|
84
|
+
- `defaultMappings:` for technology stack defaults
|
|
85
|
+
- `capabilityMappings:` for capability-to-factory mappings (using `instanceFactory` field)
|
|
86
|
+
- `configuration:` section for platform-specific settings
|
|
87
|
+
|
|
88
|
+
## Claude Code Best Practices
|
|
89
|
+
|
|
90
|
+
### When Reading Files
|
|
91
|
+
- Always read `specs/main.specly` first to understand current state
|
|
92
|
+
- Check for existing models, relationships, and deployments
|
|
93
|
+
- Look for TODOs or placeholder content
|
|
94
|
+
|
|
95
|
+
### When Making Changes
|
|
96
|
+
- Use Edit tool for precise modifications
|
|
97
|
+
- Preserve existing structure and formatting
|
|
98
|
+
- Follow SpecVerse convention syntax
|
|
99
|
+
- Validate immediately after changes
|
|
100
|
+
|
|
101
|
+
### When Running Commands
|
|
102
|
+
- Use descriptive descriptions for Bash commands
|
|
103
|
+
- Check command output for errors
|
|
104
|
+
- Run validation after structural changes
|
|
105
|
+
|
|
106
|
+
## Quick Reference
|
|
107
|
+
|
|
108
|
+
### Essential Commands
|
|
109
|
+
```bash
|
|
110
|
+
# Validate specification
|
|
111
|
+
specverse validate specs/main.specly
|
|
112
|
+
|
|
113
|
+
# Generate complete architecture
|
|
114
|
+
specverse infer specs/main.specly -o specs/expanded.specly
|
|
115
|
+
|
|
116
|
+
# Generate all diagrams
|
|
117
|
+
specverse gen uml specs/main.specly
|
|
118
|
+
|
|
119
|
+
# Generate deployment diagram
|
|
120
|
+
specverse gen uml specs/main.specly
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### File Structure
|
|
124
|
+
```
|
|
125
|
+
{{projectName}}/
|
|
126
|
+
├── CLAUDE.md # This file
|
|
127
|
+
├── AI-GUIDE.md # Reference to comprehensive guide
|
|
128
|
+
├── README.md # Project overview
|
|
129
|
+
├── specs/
|
|
130
|
+
│ └── main.specly # Main specification (v3.3)
|
|
131
|
+
├── manifests/
|
|
132
|
+
│ ├── implementation.yaml # Implementation manifest (v3.3)
|
|
133
|
+
│ ├── docker-compose.specly # Docker deployment manifest (v3.3)
|
|
134
|
+
│ └── kubernetes.specly # Kubernetes deployment manifest (v3.3)
|
|
135
|
+
└── docs/ # Generated documentation
|
|
136
|
+
└── diagrams/ # Generated diagrams
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
*Generated for SpecVerse - AI-Powered Specification Language*
|
|
141
|
+
*Claude Code Integration Guide*
|