@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,630 @@
|
|
|
1
|
+
# SpecVerse MCP Server Deployment Guide
|
|
2
|
+
|
|
3
|
+
## Overview (v1.1.7 Updated)
|
|
4
|
+
|
|
5
|
+
The SpecVerse MCP Server supports four deployment targets, each optimized for different user environments and use cases. **v1.1.7 introduces dynamic CLI integration** requiring both `@specverse/lang` and `@specverse/mcp` packages for full functionality.
|
|
6
|
+
|
|
7
|
+
### **⚠️ New Dependency Requirements**
|
|
8
|
+
|
|
9
|
+
All deployment modes now require access to the `@specverse/lang` package for dynamic CLI discovery:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# For global deployments
|
|
13
|
+
npm install -g @specverse/lang @specverse/mcp
|
|
14
|
+
|
|
15
|
+
# For container/local deployments
|
|
16
|
+
npm install @specverse/lang @specverse/mcp
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Build all deployment targets
|
|
23
|
+
npm run build:all
|
|
24
|
+
|
|
25
|
+
# Test specific deployment
|
|
26
|
+
npm run start:local # Local terminal users
|
|
27
|
+
npm run start:web # Web-based LLM users
|
|
28
|
+
npm run docker:compose # Enterprise deployment
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Deployment Targets
|
|
32
|
+
|
|
33
|
+
### 🗂️ Local Deployment
|
|
34
|
+
|
|
35
|
+
**Target Users**: Local developers, terminal users, development environments
|
|
36
|
+
|
|
37
|
+
**Architecture**:
|
|
38
|
+
- AI API integration with @specverse/lang
|
|
39
|
+
- Essential resources only (examples)
|
|
40
|
+
- Full orchestrator integration (optional)
|
|
41
|
+
- Native Node.js execution
|
|
42
|
+
|
|
43
|
+
#### Build and Start
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Build local deployment
|
|
47
|
+
npm run build:local
|
|
48
|
+
|
|
49
|
+
# Start local MCP server
|
|
50
|
+
npm run start:local
|
|
51
|
+
|
|
52
|
+
# Or run directly
|
|
53
|
+
node dist/local/server/mcp-server.js --mode local
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
#### Configuration
|
|
57
|
+
|
|
58
|
+
**Location**: `dist/local/config.json`
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mode": "local",
|
|
63
|
+
"features": {
|
|
64
|
+
"orchestrator": true,
|
|
65
|
+
"fileSystemResources": true,
|
|
66
|
+
"embeddedResources": false
|
|
67
|
+
},
|
|
68
|
+
"resourcesPath": "./resources"
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Directory Structure (Phase 3 Optimized)
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
dist/local/
|
|
76
|
+
├── server/
|
|
77
|
+
│ └── mcp-server.js # Main server executable
|
|
78
|
+
├── controllers/ # MCP request handlers
|
|
79
|
+
├── services/ # AI-powered services
|
|
80
|
+
├── resources/ # Essential examples only (~71KB)
|
|
81
|
+
│ └── examples/ # Terminal/chat examples
|
|
82
|
+
└── config.json # Local configuration
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Note**: Schemas, prompts, and library catalogs are now provided through AI tools for better contextual responses.
|
|
86
|
+
|
|
87
|
+
#### Usage
|
|
88
|
+
|
|
89
|
+
**MCP Client Integration**:
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"mcpServers": {
|
|
93
|
+
"specverse-local": {
|
|
94
|
+
"command": "node",
|
|
95
|
+
"args": ["dist/local/server/mcp-server.js", "--mode", "local"],
|
|
96
|
+
"cwd": "/path/to/specverse-mcp"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Direct Usage**:
|
|
103
|
+
```bash
|
|
104
|
+
# Start server in background
|
|
105
|
+
node dist/local/server/mcp-server.js --mode local &
|
|
106
|
+
|
|
107
|
+
# The server will connect via stdio transport
|
|
108
|
+
# Perfect for Claude Desktop, Continue.dev, etc.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### 🌐 Web Deployment
|
|
114
|
+
|
|
115
|
+
**Target Users**: Web-based LLM terminals (Claude.ai, ChatGPT, etc.)
|
|
116
|
+
|
|
117
|
+
**Architecture**:
|
|
118
|
+
- AI API integration with @specverse/lang
|
|
119
|
+
- Embedded resources (71KB total - 96KB smaller!)
|
|
120
|
+
- HTTP API endpoints
|
|
121
|
+
- Serverless-friendly
|
|
122
|
+
|
|
123
|
+
#### Build and Deploy
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Build web deployment
|
|
127
|
+
npm run build:web
|
|
128
|
+
|
|
129
|
+
# Start local web server (for testing)
|
|
130
|
+
npm run start:web
|
|
131
|
+
|
|
132
|
+
# Deploy to cloud platform
|
|
133
|
+
# See platform-specific instructions below
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Configuration
|
|
137
|
+
|
|
138
|
+
**Location**: `dist/web/config.json`
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"mode": "web",
|
|
143
|
+
"features": {
|
|
144
|
+
"orchestrator": false,
|
|
145
|
+
"fileSystemResources": false,
|
|
146
|
+
"embeddedResources": true
|
|
147
|
+
},
|
|
148
|
+
"resourcesStrategy": "embedded",
|
|
149
|
+
"embeddedResourcesCount": 2
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
#### Directory Structure
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
dist/web/
|
|
157
|
+
├── server/
|
|
158
|
+
│ └── mcp-server.js # HTTP server
|
|
159
|
+
├── embedded-resources.js # Essential examples only (71KB)
|
|
160
|
+
├── deployment-manifest.json # Deployment metadata
|
|
161
|
+
├── controllers/ # HTTP request handlers
|
|
162
|
+
├── services/ # AI-powered services
|
|
163
|
+
└── config.json # Web configuration
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### HTTP API Endpoints
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
GET /health # Health check + metrics
|
|
170
|
+
GET /mcp # MCP capabilities
|
|
171
|
+
GET /mcp/resources # List all resources
|
|
172
|
+
GET /mcp/resource/{uri} # Get specific resource
|
|
173
|
+
POST /mcp/tools/{name} # Call MCP tool (future)
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
#### Platform Deployment
|
|
177
|
+
|
|
178
|
+
**Vercel**:
|
|
179
|
+
```json
|
|
180
|
+
// vercel.json
|
|
181
|
+
{
|
|
182
|
+
"version": 2,
|
|
183
|
+
"builds": [
|
|
184
|
+
{
|
|
185
|
+
"src": "dist/web/server/mcp-server.js",
|
|
186
|
+
"use": "@vercel/node"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"routes": [
|
|
190
|
+
{
|
|
191
|
+
"src": "/(.*)",
|
|
192
|
+
"dest": "/dist/web/server/mcp-server.js"
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**Railway**:
|
|
199
|
+
```dockerfile
|
|
200
|
+
FROM node:18-alpine
|
|
201
|
+
WORKDIR /app
|
|
202
|
+
|
|
203
|
+
# Copy package files
|
|
204
|
+
COPY package*.json ./
|
|
205
|
+
|
|
206
|
+
# Install dependencies including @specverse/lang
|
|
207
|
+
RUN npm ci --only=production
|
|
208
|
+
|
|
209
|
+
# Copy built application
|
|
210
|
+
COPY dist/web ./dist/web
|
|
211
|
+
|
|
212
|
+
# Expose port
|
|
213
|
+
EXPOSE 3000
|
|
214
|
+
|
|
215
|
+
# Start server
|
|
216
|
+
CMD ["node", "dist/web/server/mcp-server.js", "--mode", "remote", "--port", "3000"]
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Note**: Ensure your `package.json` includes `@specverse/lang` as a dependency:
|
|
220
|
+
|
|
221
|
+
```json
|
|
222
|
+
{
|
|
223
|
+
"dependencies": {
|
|
224
|
+
"@specverse/lang": "^3.1.17",
|
|
225
|
+
"@specverse/mcp": "^1.1.7"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Render**:
|
|
231
|
+
```yaml
|
|
232
|
+
# render.yaml
|
|
233
|
+
services:
|
|
234
|
+
- type: web
|
|
235
|
+
name: specverse-mcp
|
|
236
|
+
env: node
|
|
237
|
+
plan: free
|
|
238
|
+
buildCommand: npm run build:web
|
|
239
|
+
startCommand: node dist/web/server/mcp-server.js --mode remote --port $PORT
|
|
240
|
+
envVars:
|
|
241
|
+
- key: NODE_ENV
|
|
242
|
+
value: production
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
#### Usage Examples
|
|
246
|
+
|
|
247
|
+
**Health Check**:
|
|
248
|
+
```bash
|
|
249
|
+
curl https://your-domain.com/health
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**List Resources**:
|
|
253
|
+
```bash
|
|
254
|
+
curl https://your-domain.com/mcp/resources
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Get Schema**:
|
|
258
|
+
```bash
|
|
259
|
+
curl "https://your-domain.com/mcp/resource/specverse%3A%2F%2Fschema%2Fjson"
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
### 💻 VSCode Extension Deployment
|
|
265
|
+
|
|
266
|
+
**Target Users**: VSCode developers, IDE integration users
|
|
267
|
+
|
|
268
|
+
**Architecture**:
|
|
269
|
+
- AI API integration with @specverse/lang
|
|
270
|
+
- Hybrid resource mode (embedded + filesystem fallback)
|
|
271
|
+
- Extension wrapper for VSCode integration
|
|
272
|
+
- Orchestrator detection
|
|
273
|
+
|
|
274
|
+
#### Build and Package
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Build extension deployment
|
|
278
|
+
npm run build:extension
|
|
279
|
+
|
|
280
|
+
# The extension wrapper is created at:
|
|
281
|
+
# dist/extension/extension-wrapper.js
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
#### Configuration
|
|
285
|
+
|
|
286
|
+
**Location**: `dist/extension/config.json`
|
|
287
|
+
|
|
288
|
+
```json
|
|
289
|
+
{
|
|
290
|
+
"mode": "extension",
|
|
291
|
+
"features": {
|
|
292
|
+
"orchestrator": "conditional",
|
|
293
|
+
"fileSystemResources": true,
|
|
294
|
+
"embeddedResources": true,
|
|
295
|
+
"hybridMode": true
|
|
296
|
+
},
|
|
297
|
+
"vscode": {
|
|
298
|
+
"activationEvents": [
|
|
299
|
+
"onLanguage:specverse",
|
|
300
|
+
"workspaceContains:**/*.specly"
|
|
301
|
+
],
|
|
302
|
+
"capabilities": [
|
|
303
|
+
"mcp-server",
|
|
304
|
+
"resource-provider",
|
|
305
|
+
"tool-provider"
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
#### Directory Structure
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
dist/extension/
|
|
315
|
+
├── extension-wrapper.js # VSCode integration wrapper
|
|
316
|
+
├── package.json # Extension package manifest
|
|
317
|
+
├── server/ # MCP server files
|
|
318
|
+
├── resources/ # Essential examples only
|
|
319
|
+
└── config.json # Extension configuration
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
#### VSCode Extension Integration
|
|
323
|
+
|
|
324
|
+
```typescript
|
|
325
|
+
// In your VSCode extension
|
|
326
|
+
import { VSCodeExtensionMCPServer } from './extension-wrapper.js';
|
|
327
|
+
|
|
328
|
+
const mcpServer = new VSCodeExtensionMCPServer(context.extensionPath);
|
|
329
|
+
await mcpServer.start();
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
#### Features
|
|
333
|
+
|
|
334
|
+
- **Orchestrator Detection**: Automatically detects if full SpecVerse orchestrator is available
|
|
335
|
+
- **Resource Fallback**: Uses embedded resources if filesystem not available
|
|
336
|
+
- **IDE Integration**: Designed for VSCode command palette and editor integration
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
### 🏢 Enterprise Deployment
|
|
341
|
+
|
|
342
|
+
**Target Users**: Enterprise teams, CI/CD systems, production environments
|
|
343
|
+
|
|
344
|
+
**Architecture**:
|
|
345
|
+
- AI API integration with @specverse/lang
|
|
346
|
+
- Containerized deployment
|
|
347
|
+
- Full monitoring stack
|
|
348
|
+
- Horizontal scaling support
|
|
349
|
+
- Production security
|
|
350
|
+
|
|
351
|
+
#### Build and Deploy
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
# Build enterprise deployment
|
|
355
|
+
npm run build:enterprise
|
|
356
|
+
|
|
357
|
+
# Build Docker image
|
|
358
|
+
npm run docker:build
|
|
359
|
+
|
|
360
|
+
# Start full stack with monitoring
|
|
361
|
+
npm run docker:compose
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
#### Configuration
|
|
365
|
+
|
|
366
|
+
**Location**: `dist/enterprise/config.json`
|
|
367
|
+
|
|
368
|
+
```json
|
|
369
|
+
{
|
|
370
|
+
"mode": "enterprise",
|
|
371
|
+
"features": {
|
|
372
|
+
"orchestrator": true,
|
|
373
|
+
"fileSystemResources": true,
|
|
374
|
+
"embeddedResources": true,
|
|
375
|
+
"monitoring": true,
|
|
376
|
+
"clustering": true,
|
|
377
|
+
"healthCheck": true
|
|
378
|
+
},
|
|
379
|
+
"monitoring": {
|
|
380
|
+
"prometheus": {
|
|
381
|
+
"enabled": true,
|
|
382
|
+
"port": 9090,
|
|
383
|
+
"endpoint": "/metrics"
|
|
384
|
+
},
|
|
385
|
+
"healthCheck": {
|
|
386
|
+
"enabled": true,
|
|
387
|
+
"endpoint": "/health",
|
|
388
|
+
"interval": 30
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
"security": {
|
|
392
|
+
"cors": {
|
|
393
|
+
"enabled": true,
|
|
394
|
+
"origins": ["https://*.enterprise.com"]
|
|
395
|
+
},
|
|
396
|
+
"rateLimit": {
|
|
397
|
+
"enabled": true,
|
|
398
|
+
"windowMs": 60000,
|
|
399
|
+
"maxRequests": 1000
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
#### Directory Structure
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
dist/enterprise/
|
|
409
|
+
├── server/ # MCP server
|
|
410
|
+
├── Dockerfile # Multi-stage container build
|
|
411
|
+
├── docker-compose.yml # Full stack deployment
|
|
412
|
+
├── monitoring/ # Monitoring configuration
|
|
413
|
+
│ └── prometheus.yml # Metrics collection
|
|
414
|
+
├── resources/ # Resource files
|
|
415
|
+
└── README.md # Deployment instructions
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
#### Docker Compose Stack
|
|
419
|
+
|
|
420
|
+
```yaml
|
|
421
|
+
version: '3.8'
|
|
422
|
+
|
|
423
|
+
services:
|
|
424
|
+
specverse-mcp:
|
|
425
|
+
build: .
|
|
426
|
+
ports:
|
|
427
|
+
- "3000:3000"
|
|
428
|
+
environment:
|
|
429
|
+
- NODE_ENV=production
|
|
430
|
+
- MCP_MODE=enterprise
|
|
431
|
+
volumes:
|
|
432
|
+
- specverse-data:/app/data
|
|
433
|
+
- specverse-logs:/app/logs
|
|
434
|
+
healthcheck:
|
|
435
|
+
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
|
|
436
|
+
interval: 30s
|
|
437
|
+
timeout: 10s
|
|
438
|
+
retries: 3
|
|
439
|
+
|
|
440
|
+
prometheus:
|
|
441
|
+
image: prom/prometheus:latest
|
|
442
|
+
ports:
|
|
443
|
+
- "9090:9090"
|
|
444
|
+
volumes:
|
|
445
|
+
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
446
|
+
restart: unless-stopped
|
|
447
|
+
|
|
448
|
+
grafana:
|
|
449
|
+
image: grafana/grafana:latest
|
|
450
|
+
ports:
|
|
451
|
+
- "3001:3000"
|
|
452
|
+
environment:
|
|
453
|
+
- GF_SECURITY_ADMIN_PASSWORD=specverse
|
|
454
|
+
restart: unless-stopped
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
#### Deployment Commands
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
# Start full stack
|
|
461
|
+
docker-compose up -d
|
|
462
|
+
|
|
463
|
+
# Scale MCP server
|
|
464
|
+
docker-compose up -d --scale specverse-mcp=3
|
|
465
|
+
|
|
466
|
+
# View logs
|
|
467
|
+
docker-compose logs -f specverse-mcp
|
|
468
|
+
|
|
469
|
+
# Stop stack
|
|
470
|
+
docker-compose down
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
#### Monitoring
|
|
474
|
+
|
|
475
|
+
**Prometheus Metrics**: `http://localhost:9090`
|
|
476
|
+
**Grafana Dashboard**: `http://localhost:3001` (admin/specverse)
|
|
477
|
+
**Health Check**: `http://localhost:3000/health`
|
|
478
|
+
|
|
479
|
+
#### Production Deployment
|
|
480
|
+
|
|
481
|
+
**Kubernetes**:
|
|
482
|
+
```yaml
|
|
483
|
+
apiVersion: apps/v1
|
|
484
|
+
kind: Deployment
|
|
485
|
+
metadata:
|
|
486
|
+
name: specverse-mcp
|
|
487
|
+
spec:
|
|
488
|
+
replicas: 3
|
|
489
|
+
selector:
|
|
490
|
+
matchLabels:
|
|
491
|
+
app: specverse-mcp
|
|
492
|
+
template:
|
|
493
|
+
spec:
|
|
494
|
+
containers:
|
|
495
|
+
- name: specverse-mcp
|
|
496
|
+
image: specverse-mcp-enterprise:latest
|
|
497
|
+
ports:
|
|
498
|
+
- containerPort: 3000
|
|
499
|
+
env:
|
|
500
|
+
- name: NODE_ENV
|
|
501
|
+
value: "production"
|
|
502
|
+
- name: MCP_MODE
|
|
503
|
+
value: "enterprise"
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
## Deployment Comparison
|
|
507
|
+
|
|
508
|
+
| Feature | Local | Web | Extension | Enterprise |
|
|
509
|
+
|---------|-------|-----|-----------|------------|
|
|
510
|
+
| **Resource Strategy** | AI + Examples | AI + Embedded | AI + Hybrid | AI + Hybrid |
|
|
511
|
+
| **Orchestrator** | Optional | None | Conditional | Full |
|
|
512
|
+
| **Deployment Size** | ~200KB | ~200KB | ~500KB | ~1MB+ |
|
|
513
|
+
| **Startup Time** | ~50ms | ~50ms | ~200ms | ~500ms |
|
|
514
|
+
| **Memory Usage** | ~30MB | ~20MB | ~30MB | ~100MB |
|
|
515
|
+
| **Scaling** | Single | Serverless | Single | Horizontal |
|
|
516
|
+
| **Monitoring** | Basic | None | Basic | Full |
|
|
517
|
+
| **Security** | Local | HTTPS | IDE | Enterprise |
|
|
518
|
+
|
|
519
|
+
## Health Checks
|
|
520
|
+
|
|
521
|
+
All deployments include health check endpoints:
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
# Check server status
|
|
525
|
+
curl http://localhost:PORT/health
|
|
526
|
+
|
|
527
|
+
# Example response
|
|
528
|
+
{
|
|
529
|
+
"status": "healthy",
|
|
530
|
+
"mode": "local|web|extension|enterprise",
|
|
531
|
+
"metrics": {
|
|
532
|
+
"cached_resources": 2,
|
|
533
|
+
"server_mode": "local",
|
|
534
|
+
"uptime": 123.456,
|
|
535
|
+
"memory_usage": {...},
|
|
536
|
+
"resources_provider": {
|
|
537
|
+
"mode": "filesystem|embedded",
|
|
538
|
+
"type": "ResourcesProviderService|EmbeddedResourcesAdapter",
|
|
539
|
+
"resourcesInfo": {
|
|
540
|
+
"count": 2,
|
|
541
|
+
"totalSize": 71204
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"aiApiIntegration": true
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
## Troubleshooting
|
|
550
|
+
|
|
551
|
+
### Common Issues
|
|
552
|
+
|
|
553
|
+
**Package Dependency Issues (New in v1.1.7)**:
|
|
554
|
+
```bash
|
|
555
|
+
# Error: Cannot find module '@specverse/lang'
|
|
556
|
+
# Solution: Install both packages
|
|
557
|
+
npm install -g @specverse/lang @specverse/mcp
|
|
558
|
+
|
|
559
|
+
# Or for local development
|
|
560
|
+
npm install @specverse/lang @specverse/mcp
|
|
561
|
+
|
|
562
|
+
# Verify CLI is accessible
|
|
563
|
+
specverse --help
|
|
564
|
+
|
|
565
|
+
# Test CLI discovery
|
|
566
|
+
node -e "const { getAllCliCapabilities } = require('@specverse/lang'); console.log(getAllCliCapabilities());"
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
**CLI Command Failures**:
|
|
570
|
+
```bash
|
|
571
|
+
# Error: SpecVerse CLI not found
|
|
572
|
+
# Check CLI installation
|
|
573
|
+
which specverse
|
|
574
|
+
npm list -g @specverse/lang
|
|
575
|
+
|
|
576
|
+
# Test CLI with JSON output
|
|
577
|
+
specverse validate --help
|
|
578
|
+
specverse --json ai template create
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
**Resource Loading Failures**:
|
|
582
|
+
```bash
|
|
583
|
+
# Check resource paths
|
|
584
|
+
ls dist/local/resources/
|
|
585
|
+
ls dist/web/embedded-resources.js
|
|
586
|
+
|
|
587
|
+
# Verify resource loading
|
|
588
|
+
curl http://localhost:3000/mcp/resources
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
**Port Conflicts**:
|
|
592
|
+
```bash
|
|
593
|
+
# Find and kill process using port
|
|
594
|
+
lsof -ti:3000 | xargs kill
|
|
595
|
+
|
|
596
|
+
# Use different port
|
|
597
|
+
node server.js --port 3001
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
**Docker Issues**:
|
|
601
|
+
```bash
|
|
602
|
+
# Check logs
|
|
603
|
+
docker-compose logs specverse-mcp
|
|
604
|
+
|
|
605
|
+
# Rebuild image
|
|
606
|
+
docker-compose build --no-cache
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
### Performance Tuning
|
|
610
|
+
|
|
611
|
+
**Memory Optimization**:
|
|
612
|
+
- Reduce embedded resource size
|
|
613
|
+
- Enable resource compression
|
|
614
|
+
- Configure garbage collection
|
|
615
|
+
|
|
616
|
+
**Network Optimization**:
|
|
617
|
+
- Enable gzip compression
|
|
618
|
+
- Add CDN for web deployments
|
|
619
|
+
- Configure connection pooling
|
|
620
|
+
|
|
621
|
+
## Support
|
|
622
|
+
|
|
623
|
+
For deployment issues:
|
|
624
|
+
1. Check the health endpoint first
|
|
625
|
+
2. Review server logs for errors
|
|
626
|
+
3. Verify resource loading
|
|
627
|
+
4. Test with minimal configuration
|
|
628
|
+
5. Consult the troubleshooting section
|
|
629
|
+
|
|
630
|
+
Each deployment target is optimized for its specific use case while maintaining API compatibility across all environments.
|