@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,462 @@
|
|
|
1
|
+
# SpecVerse Template Enhancements for v3.3
|
|
2
|
+
|
|
3
|
+
**Date**: October 23, 2025
|
|
4
|
+
**Purpose**: Integrate v3.3 code generation testing into `specverse init` template
|
|
5
|
+
**Status**: ✅ Complete
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Enhanced the default `specverse init` template to include v3.3 code generation features, allowing new projects to immediately test code generation capabilities for ORM schemas, service layers, and route handlers.
|
|
12
|
+
|
|
13
|
+
## Changes Made
|
|
14
|
+
|
|
15
|
+
### 1. New Implementation Manifest ✨
|
|
16
|
+
|
|
17
|
+
**File**: `templates/default/manifests/implementation.yaml`
|
|
18
|
+
|
|
19
|
+
**Purpose**: Technology stack configuration for code generation
|
|
20
|
+
|
|
21
|
+
**Features**:
|
|
22
|
+
- ORM selection (Prisma/TypeORM)
|
|
23
|
+
- Server framework selection (Fastify/Express/NestJS)
|
|
24
|
+
- Database provider configuration
|
|
25
|
+
- v3.3 metadata strategy configuration:
|
|
26
|
+
- ID strategy: uuid | integer | auto
|
|
27
|
+
- Audit fields: true | false
|
|
28
|
+
- Soft delete strategy: deletedAt | isDeleted
|
|
29
|
+
- Status field: true | false
|
|
30
|
+
- Version field (optimistic locking): true | false
|
|
31
|
+
- Environment variable templates
|
|
32
|
+
|
|
33
|
+
**Example**:
|
|
34
|
+
```yaml
|
|
35
|
+
implementation:
|
|
36
|
+
orm: prisma
|
|
37
|
+
server: fastify
|
|
38
|
+
database:
|
|
39
|
+
provider: postgresql
|
|
40
|
+
metadata:
|
|
41
|
+
idStrategy: uuid
|
|
42
|
+
auditFields: true
|
|
43
|
+
softDeleteStrategy: deletedAt
|
|
44
|
+
statusField: true
|
|
45
|
+
versionField: true
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Enhanced Package Scripts 🔧
|
|
49
|
+
|
|
50
|
+
**File**: `templates/default/package.json`
|
|
51
|
+
|
|
52
|
+
**New Scripts**:
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"generate:services": "Generate service layer code",
|
|
56
|
+
"generate:routes": "Generate route handlers",
|
|
57
|
+
"generate:orm": "Generate ORM schemas",
|
|
58
|
+
"generate:code": "Generate all code (ORM + services + routes)",
|
|
59
|
+
"generate:code:verify": "Generate code with verification messages",
|
|
60
|
+
"test:generators": "Test code generators with verification"
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**How They Work**:
|
|
65
|
+
- Use `node_modules/@specverse/lang/scripts/generate-*.js` scripts
|
|
66
|
+
- Read from `specs/main.specly` specification
|
|
67
|
+
- Use configuration from `manifests/implementation.yaml`
|
|
68
|
+
- Output to `generated/code/` directory
|
|
69
|
+
|
|
70
|
+
### 3. Updated Test Script 🧪
|
|
71
|
+
|
|
72
|
+
**File**: `templates/default/scripts/test-all.sh`
|
|
73
|
+
|
|
74
|
+
**New Step 8**: v3.3 Code Generator Testing
|
|
75
|
+
- Generates ORM schemas
|
|
76
|
+
- Generates service layer
|
|
77
|
+
- Generates route handlers
|
|
78
|
+
- Verifies v3.3 features:
|
|
79
|
+
- ✅ Unified validation method
|
|
80
|
+
- ✅ Optimistic locking support
|
|
81
|
+
- ✅ Soft delete filtering
|
|
82
|
+
|
|
83
|
+
**Output Example**:
|
|
84
|
+
```bash
|
|
85
|
+
🔧 Step 8: Testing v3.3 code generators...
|
|
86
|
+
→ Generating ORM schemas...
|
|
87
|
+
→ Generating service layer...
|
|
88
|
+
→ Generating route handlers...
|
|
89
|
+
→ Verifying generated code...
|
|
90
|
+
✅ Service layer generated
|
|
91
|
+
✅ Route handlers generated
|
|
92
|
+
✅ Unified validation method present
|
|
93
|
+
✅ Optimistic locking support present
|
|
94
|
+
✅ Soft delete filtering present
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 4. v3.3 Example Specification 📝
|
|
98
|
+
|
|
99
|
+
**File**: `templates/default/specs/example-v33.specly`
|
|
100
|
+
|
|
101
|
+
**Purpose**: Complete example demonstrating all v3.3 features
|
|
102
|
+
|
|
103
|
+
**Includes**:
|
|
104
|
+
- Task model with full v3.3 metadata primitives
|
|
105
|
+
- Comment model with relationships
|
|
106
|
+
- CURED controllers with validate operations
|
|
107
|
+
- Events for all operations
|
|
108
|
+
- Development deployment configuration
|
|
109
|
+
|
|
110
|
+
**Metadata Example**:
|
|
111
|
+
```yaml
|
|
112
|
+
models:
|
|
113
|
+
Task:
|
|
114
|
+
metadata:
|
|
115
|
+
id: uuid
|
|
116
|
+
audit: true
|
|
117
|
+
softDelete: deletedAt
|
|
118
|
+
status: true
|
|
119
|
+
version: true
|
|
120
|
+
attributes:
|
|
121
|
+
title: String required
|
|
122
|
+
description: Text optional
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**CURED Operations**:
|
|
126
|
+
```yaml
|
|
127
|
+
controllers:
|
|
128
|
+
TaskController:
|
|
129
|
+
model: Task
|
|
130
|
+
cured:
|
|
131
|
+
create: {}
|
|
132
|
+
retrieve: {}
|
|
133
|
+
retrieveMany: {}
|
|
134
|
+
update: {}
|
|
135
|
+
evolve: {}
|
|
136
|
+
destroy: {}
|
|
137
|
+
validate: {} # ← v3.3 unified validation
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 5. Enhanced Documentation 📚
|
|
141
|
+
|
|
142
|
+
**File**: `templates/default/README.md`
|
|
143
|
+
|
|
144
|
+
**New Section**: "v3.3 Code Generation (NEW)"
|
|
145
|
+
|
|
146
|
+
**Content**:
|
|
147
|
+
- Quick start guide for code generation
|
|
148
|
+
- Code generator commands reference
|
|
149
|
+
- What gets generated (ORM/services/routes)
|
|
150
|
+
- v3.3 metadata primitives explanation
|
|
151
|
+
- Generated features list
|
|
152
|
+
- Tech stack support matrix
|
|
153
|
+
|
|
154
|
+
**File**: `templates/default/manifests/README.md`
|
|
155
|
+
|
|
156
|
+
**Updates**:
|
|
157
|
+
- Added `implementation.yaml` documentation
|
|
158
|
+
- Commands for code generation
|
|
159
|
+
- Use cases and features
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## User Workflow
|
|
164
|
+
|
|
165
|
+
### For New Projects Created with `specverse init`
|
|
166
|
+
|
|
167
|
+
1. **Initialize project**:
|
|
168
|
+
```bash
|
|
169
|
+
npx @specverse/lang init my-project
|
|
170
|
+
cd my-project
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
2. **Use v3.3 example**:
|
|
174
|
+
```bash
|
|
175
|
+
cp specs/example-v33.specly specs/main.specly
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
3. **Configure technology stack** (edit `manifests/implementation.yaml`):
|
|
179
|
+
```yaml
|
|
180
|
+
implementation:
|
|
181
|
+
orm: prisma # or typeorm
|
|
182
|
+
server: fastify # or express, nestjs
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
4. **Generate code**:
|
|
186
|
+
```bash
|
|
187
|
+
npm run generate:code
|
|
188
|
+
# Or with verification:
|
|
189
|
+
npm run test:generators
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
5. **Run full test suite**:
|
|
193
|
+
```bash
|
|
194
|
+
npm test
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Generated Code Structure
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
my-project/
|
|
201
|
+
├── generated/
|
|
202
|
+
│ └── code/
|
|
203
|
+
│ ├── prisma/ # or entities/ for TypeORM
|
|
204
|
+
│ │ └── schema.prisma # With v3.3 metadata
|
|
205
|
+
│ ├── services/
|
|
206
|
+
│ │ ├── task.service.ts # With validate() method
|
|
207
|
+
│ │ └── comment.service.ts
|
|
208
|
+
│ └── routes/
|
|
209
|
+
│ ├── task/
|
|
210
|
+
│ │ ├── create.js
|
|
211
|
+
│ │ ├── update.js
|
|
212
|
+
│ │ └── validate.js # ← Single unified endpoint
|
|
213
|
+
│ └── comment/
|
|
214
|
+
│ └── ...
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## v3.3 Features Demonstrated
|
|
220
|
+
|
|
221
|
+
### 1. Unified Validation Architecture
|
|
222
|
+
|
|
223
|
+
**Service Method**:
|
|
224
|
+
```typescript
|
|
225
|
+
validate(data: any, context: { operation: 'create' | 'update' | 'evolve' }): {
|
|
226
|
+
valid: boolean;
|
|
227
|
+
errors: string[]
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Internal Calls**:
|
|
232
|
+
```typescript
|
|
233
|
+
async create(data) {
|
|
234
|
+
const result = this.validate(data, { operation: 'create' });
|
|
235
|
+
// ...
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**External Endpoint**:
|
|
240
|
+
```
|
|
241
|
+
POST /api/tasks/validate
|
|
242
|
+
Body: { operation: "create", data: {...} }
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### 2. Metadata Primitives
|
|
246
|
+
|
|
247
|
+
| Primitive | Purpose | Generated Code |
|
|
248
|
+
|-----------|---------|----------------|
|
|
249
|
+
| `id: uuid` | ID strategy | `@id @default(uuid())` (Prisma) |
|
|
250
|
+
| `audit: true` | Timestamps | `createdAt`, `updatedAt`, `createdBy`, `updatedBy` |
|
|
251
|
+
| `softDelete: deletedAt` | Soft delete | `deletedAt DateTime?` + filtering |
|
|
252
|
+
| `status: true` | Lifecycle | `status String` field |
|
|
253
|
+
| `version: true` | Optimistic locking | `version Int @default(0)` + checking |
|
|
254
|
+
|
|
255
|
+
### 3. ORM Support
|
|
256
|
+
|
|
257
|
+
**Prisma**:
|
|
258
|
+
- Schema annotations (`@default`, `@updatedAt`, etc.)
|
|
259
|
+
- Relationship mappings
|
|
260
|
+
- Database-specific types
|
|
261
|
+
|
|
262
|
+
**TypeORM**:
|
|
263
|
+
- Decorators (`@CreateDateColumn()`, `@VersionColumn()`, etc.)
|
|
264
|
+
- Entity relationships
|
|
265
|
+
- Repository patterns
|
|
266
|
+
|
|
267
|
+
### 4. Framework Support
|
|
268
|
+
|
|
269
|
+
**Fastify**:
|
|
270
|
+
- Route plugins with schemas
|
|
271
|
+
- Async/await handlers
|
|
272
|
+
- Reply helpers
|
|
273
|
+
|
|
274
|
+
**Express**:
|
|
275
|
+
- Router modules
|
|
276
|
+
- Middleware integration
|
|
277
|
+
- Error handling
|
|
278
|
+
|
|
279
|
+
**NestJS**:
|
|
280
|
+
- Controller decorators
|
|
281
|
+
- Dependency injection
|
|
282
|
+
- DTO classes
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Testing the Template
|
|
287
|
+
|
|
288
|
+
### Method 1: Local Testing
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
# From specverse-lang root
|
|
292
|
+
cd templates/default
|
|
293
|
+
|
|
294
|
+
# Install SpecVerse (simulates user environment)
|
|
295
|
+
npm install -g @specverse/lang
|
|
296
|
+
|
|
297
|
+
# Copy example to main spec
|
|
298
|
+
cp specs/example-v33.specly specs/main.specly
|
|
299
|
+
|
|
300
|
+
# Run code generation
|
|
301
|
+
npm run generate:code
|
|
302
|
+
|
|
303
|
+
# Verify generated code
|
|
304
|
+
ls -la generated/code/services/
|
|
305
|
+
ls -la generated/code/routes/
|
|
306
|
+
cat generated/code/services/task.service.ts | grep "validate(data"
|
|
307
|
+
|
|
308
|
+
# Run full test suite
|
|
309
|
+
npm test
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Method 2: Via Init Command
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
# Create new project from template
|
|
316
|
+
specverse init test-project
|
|
317
|
+
cd test-project
|
|
318
|
+
|
|
319
|
+
# Use v3.3 example
|
|
320
|
+
cp specs/example-v33.specly specs/main.specly
|
|
321
|
+
|
|
322
|
+
# Generate code
|
|
323
|
+
npm run generate:code
|
|
324
|
+
|
|
325
|
+
# Run tests
|
|
326
|
+
npm test
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Expected Results
|
|
330
|
+
|
|
331
|
+
**Step 8 Output**:
|
|
332
|
+
```
|
|
333
|
+
🔧 Step 8: Testing v3.3 code generators...
|
|
334
|
+
→ Generating ORM schemas...
|
|
335
|
+
→ Generating service layer...
|
|
336
|
+
→ Generating route handlers...
|
|
337
|
+
→ Verifying generated code...
|
|
338
|
+
✅ Service layer generated
|
|
339
|
+
✅ Route handlers generated
|
|
340
|
+
✅ Unified validation method present
|
|
341
|
+
✅ Optimistic locking support present
|
|
342
|
+
✅ Soft delete filtering present
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
**Generated Files**:
|
|
346
|
+
- ✅ `generated/code/prisma/schema.prisma` or `generated/code/entities/*.entity.ts`
|
|
347
|
+
- ✅ `generated/code/services/task.service.ts`
|
|
348
|
+
- ✅ `generated/code/services/comment.service.ts`
|
|
349
|
+
- ✅ `generated/code/routes/task/create.js`, `update.js`, `validate.js`, etc.
|
|
350
|
+
- ✅ `generated/code/routes/comment/*`
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Benefits
|
|
355
|
+
|
|
356
|
+
### For Users
|
|
357
|
+
|
|
358
|
+
1. **Immediate Testing**: New projects can immediately test code generation
|
|
359
|
+
2. **Clear Examples**: `example-v33.specly` demonstrates all v3.3 features
|
|
360
|
+
3. **Easy Configuration**: Single manifest file for technology stack
|
|
361
|
+
4. **Integrated Workflow**: Code generation integrated into test suite
|
|
362
|
+
5. **Production-Ready**: Generated code follows v3.3 best practices
|
|
363
|
+
|
|
364
|
+
### For Development
|
|
365
|
+
|
|
366
|
+
1. **Dogfooding**: Template uses actual generator scripts
|
|
367
|
+
2. **Verification**: Automated checking of v3.3 features
|
|
368
|
+
3. **Documentation**: Examples embedded in every new project
|
|
369
|
+
4. **Testing**: Easy to verify generators work end-to-end
|
|
370
|
+
5. **Feedback Loop**: Users immediately see code generation results
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Integration with Week 7 Work
|
|
375
|
+
|
|
376
|
+
This template enhancement directly builds on Week 7's code generator updates:
|
|
377
|
+
|
|
378
|
+
| Week 7 Deliverable | Template Integration |
|
|
379
|
+
|--------------------|----------------------|
|
|
380
|
+
| ORM generators (Prisma/TypeORM) | `npm run generate:orm` |
|
|
381
|
+
| Service generator with validation | `npm run generate:services` |
|
|
382
|
+
| Route generators (Fastify/Express/NestJS) | `npm run generate:routes` |
|
|
383
|
+
| Unified validation architecture | Example spec + verification |
|
|
384
|
+
| Metadata primitives | `implementation.yaml` config |
|
|
385
|
+
| End-to-end verification | Step 8 in `test-all.sh` |
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Files Modified/Created
|
|
390
|
+
|
|
391
|
+
### Created
|
|
392
|
+
|
|
393
|
+
1. `templates/default/manifests/implementation.yaml` - Technology stack configuration
|
|
394
|
+
2. `templates/default/specs/example-v33.specly` - Complete v3.3 example
|
|
395
|
+
3. `templates/TEMPLATE-ENHANCEMENTS-V33.md` - This documentation
|
|
396
|
+
|
|
397
|
+
### Modified
|
|
398
|
+
|
|
399
|
+
1. `templates/default/package.json` - Added 6 new generator scripts
|
|
400
|
+
2. `templates/default/scripts/test-all.sh` - Added Step 8 (generator testing)
|
|
401
|
+
3. `templates/default/README.md` - Added v3.3 Code Generation section (~90 lines)
|
|
402
|
+
4. `templates/default/manifests/README.md` - Added implementation.yaml documentation
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## Next Steps
|
|
407
|
+
|
|
408
|
+
### For Users
|
|
409
|
+
|
|
410
|
+
After running `specverse init`:
|
|
411
|
+
1. Copy `specs/example-v33.specly` to `specs/main.specly`
|
|
412
|
+
2. Edit `manifests/implementation.yaml` to choose tech stack
|
|
413
|
+
3. Run `npm run generate:code`
|
|
414
|
+
4. Inspect generated code in `generated/code/`
|
|
415
|
+
5. Customize and integrate into your application
|
|
416
|
+
|
|
417
|
+
### For Future Development
|
|
418
|
+
|
|
419
|
+
1. **More Templates**: Add templates for different stacks (Next.js, Vue, Svelte)
|
|
420
|
+
2. **Interactive Setup**: Prompt for ORM/framework during init
|
|
421
|
+
3. **Validation Generator**: Add `npm run generate:validation` when Week 8 complete
|
|
422
|
+
4. **Event Bus Generator**: Add `npm run generate:events` when Week 8 complete
|
|
423
|
+
5. **Full Stack Templates**: Templates with frontend + backend
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## Documentation References
|
|
428
|
+
|
|
429
|
+
- **Week 7 Summary**: `/docs/implementation-plans/v3.3-implementation/WEEK-7-COMPLETION-SUMMARY.md`
|
|
430
|
+
- **v3.3 Validation Architecture**: `CLAUDE.md` lines 434-566
|
|
431
|
+
- **Generator Scripts**: `scripts/generate-services.js`, `scripts/generate-routes.js`, `scripts/generate-prisma.js`
|
|
432
|
+
- **User Guide**: Template README.md
|
|
433
|
+
|
|
434
|
+
---
|
|
435
|
+
|
|
436
|
+
## Success Criteria
|
|
437
|
+
|
|
438
|
+
✅ **Template includes v3.3 manifest** - `implementation.yaml` created
|
|
439
|
+
✅ **Package scripts for generators** - 6 new scripts added
|
|
440
|
+
✅ **Test script includes generator testing** - Step 8 added with verification
|
|
441
|
+
✅ **Example spec with v3.3 features** - `example-v33.specly` created
|
|
442
|
+
✅ **Documentation updated** - README and manifest docs enhanced
|
|
443
|
+
✅ **User workflow documented** - Clear steps for using generators
|
|
444
|
+
✅ **Integration with Week 7** - Direct connection to generator updates
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
**Status**: ✅ **COMPLETE**
|
|
449
|
+
|
|
450
|
+
All template enhancements for v3.3 code generation testing are complete and ready for use with `specverse init`.
|
|
451
|
+
|
|
452
|
+
Users can now:
|
|
453
|
+
1. Create new projects with `specverse init`
|
|
454
|
+
2. Generate production-ready code with `npm run generate:code`
|
|
455
|
+
3. Test all generators with `npm test`
|
|
456
|
+
4. See v3.3 features in action immediately
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
*Generated: October 23, 2025*
|
|
461
|
+
*Related: Week 7 Code Generators Update*
|
|
462
|
+
*Template Version: v3.3.0*
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# {{projectName}} - Backend API Development Guide
|
|
2
|
+
|
|
3
|
+
Backend-only SpecVerse project for API development.
|
|
4
|
+
|
|
5
|
+
## Project Type
|
|
6
|
+
|
|
7
|
+
**Backend API Only** - No frontend generation
|
|
8
|
+
- REST API with Fastify
|
|
9
|
+
- PostgreSQL + Prisma ORM
|
|
10
|
+
- Standalone deployment structure
|
|
11
|
+
|
|
12
|
+
## Quick Commands
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Generate backend code
|
|
16
|
+
npm run realize:all
|
|
17
|
+
|
|
18
|
+
# Setup and run
|
|
19
|
+
cd generated/code
|
|
20
|
+
npm install
|
|
21
|
+
npm run db:generate
|
|
22
|
+
npm run db:push
|
|
23
|
+
npm run dev
|
|
24
|
+
|
|
25
|
+
# Test API
|
|
26
|
+
curl http://localhost:3000/api/products
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## File Structure
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
{{projectName}}/
|
|
33
|
+
├── specs/main.specly # API specification
|
|
34
|
+
├── manifests/implementation.yaml # Backend-only manifest
|
|
35
|
+
└── generated/code/ # Standalone backend
|
|
36
|
+
├── src/ # Source code
|
|
37
|
+
├── prisma/ # Database schema
|
|
38
|
+
└── package.json # Backend dependencies
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Development Workflow
|
|
42
|
+
|
|
43
|
+
1. **Edit API Spec**: Modify `specs/main.specly`
|
|
44
|
+
2. **Regenerate**: Run `npm run realize:all`
|
|
45
|
+
3. **Update DB**: Run `npm run db:generate && npm run db:push`
|
|
46
|
+
4. **Test**: Use curl, Postman, or your frontend
|
|
47
|
+
|
|
48
|
+
## Key Features
|
|
49
|
+
|
|
50
|
+
- **Standalone Structure**: All code in root (no frontend/ or backend/ subdirs)
|
|
51
|
+
- **CORS Enabled**: Configured for frontend connections
|
|
52
|
+
- **Environment Variables**: Uses .env for configuration
|
|
53
|
+
- **Production Ready**: Can be deployed independently
|
|
54
|
+
|
|
55
|
+
## CORS Configuration
|
|
56
|
+
|
|
57
|
+
The backend accepts requests from frontends. Set in `.env`:
|
|
58
|
+
|
|
59
|
+
```env
|
|
60
|
+
CORS_ORIGINS="http://localhost:5173,https://your-frontend.com"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Deployment
|
|
64
|
+
|
|
65
|
+
This generates a standalone Node.js API that can deploy to:
|
|
66
|
+
- Docker containers
|
|
67
|
+
- Cloud platforms (AWS, GCP, Azure)
|
|
68
|
+
- Serverless (with minor modifications)
|
|
69
|
+
- Kubernetes as a microservice
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
For comprehensive SpecVerse guidance, see the main [SpecVerse CLAUDE.md](https://github.com/SpecVerse/specverse-lang/blob/main/CLAUDE.md)
|