@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,392 @@
|
|
|
1
|
+
# SpecVerse AI Development Guide
|
|
2
|
+
|
|
3
|
+
This guide helps AI assistants work with SpecVerse projects across any domain.
|
|
4
|
+
|
|
5
|
+
## Project Context
|
|
6
|
+
|
|
7
|
+
**SpecVerse Version**: v3.1.0
|
|
8
|
+
**AI Operations**: `analyse` (extract from implementations) and `create` (generate from prompts)
|
|
9
|
+
|
|
10
|
+
**See `INPUT.md` in each directory for domain-specific test case details and customizations.**
|
|
11
|
+
|
|
12
|
+
## SpecVerse v3.1 Quick Reference
|
|
13
|
+
|
|
14
|
+
### Convention Syntax
|
|
15
|
+
```yaml
|
|
16
|
+
# Use this pattern for 90% of attributes:
|
|
17
|
+
attributeName: TypeName modifiers
|
|
18
|
+
|
|
19
|
+
# Examples:
|
|
20
|
+
email: Email required unique
|
|
21
|
+
name: String required
|
|
22
|
+
age: Integer min=0 max=150
|
|
23
|
+
status: String default=active values=["pending","active","inactive"]
|
|
24
|
+
totalAmount: Money currency=USD
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Common Types
|
|
28
|
+
- `String` - Text data (names, descriptions)
|
|
29
|
+
- `Integer` - Numbers (capacity, counts)
|
|
30
|
+
- `UUID` - Unique identifiers
|
|
31
|
+
- `Email` - Email addresses
|
|
32
|
+
- `DateTime` - Timestamps (createdAt, updatedAt)
|
|
33
|
+
- `Date` - Dates only (checkIn, checkOut)
|
|
34
|
+
- `Boolean` - True/false flags
|
|
35
|
+
- `Money` - Currency values (pricing, payments)
|
|
36
|
+
- `URL` - Web addresses
|
|
37
|
+
|
|
38
|
+
### Common Modifiers
|
|
39
|
+
- `required` - Field must be provided
|
|
40
|
+
- `optional` - Field is optional (default)
|
|
41
|
+
- `unique` - Must be unique across records
|
|
42
|
+
- `auto=uuid4` - Auto-generate UUID
|
|
43
|
+
- `auto=now` - Auto-timestamp
|
|
44
|
+
- `default=value` - Default value
|
|
45
|
+
- `min=n` / `max=n` - Numeric bounds
|
|
46
|
+
- `values=[...]` - Enumerated options
|
|
47
|
+
- `searchable` - Index for searching
|
|
48
|
+
|
|
49
|
+
## AI Inference Capabilities
|
|
50
|
+
|
|
51
|
+
SpecVerse v3.1 can automatically infer and generate:
|
|
52
|
+
|
|
53
|
+
1. **Controllers**: CURED operations (Create, Update, Retrieve, Evolve, Delete)
|
|
54
|
+
2. **Services**: Business logic, validation, integration services
|
|
55
|
+
3. **Events**: Lifecycle events, relationship events, business events
|
|
56
|
+
4. **Views**: List views, detail views, forms, analytics dashboards
|
|
57
|
+
5. **Types**: Request/response types, filters, common definitions
|
|
58
|
+
6. **Deployments**: Logical instances with capability-based architecture
|
|
59
|
+
7. **Manifests**: Implementation guidance with technology mappings
|
|
60
|
+
|
|
61
|
+
### Expansion Patterns by Scale
|
|
62
|
+
- **Demo/Personal**: 4x expansion (60→240, 200→800 lines)
|
|
63
|
+
- **Business**: 4x expansion (350→1,400 lines)
|
|
64
|
+
- **Enterprise**: 8x expansion (500→4,000+ lines)
|
|
65
|
+
|
|
66
|
+
## AI Operation Patterns
|
|
67
|
+
|
|
68
|
+
### For `analyse` Operations (Implementation Analysis)
|
|
69
|
+
**Input**: Existing codebase with authentication, database, APIs
|
|
70
|
+
**Focus**: Extract the *business logic* and *domain models*, not implementation details
|
|
71
|
+
**Output**: Clean SpecVerse specification that captures the essence
|
|
72
|
+
|
|
73
|
+
**Key Extraction Patterns**:
|
|
74
|
+
- Database schemas → SpecVerse models
|
|
75
|
+
- API endpoints → Controller actions
|
|
76
|
+
- Business rules → Behaviors and lifecycles
|
|
77
|
+
- User roles → RBAC modeling
|
|
78
|
+
- Integrations → Service definitions
|
|
79
|
+
|
|
80
|
+
### For `create` Operations (Natural Language)
|
|
81
|
+
**Input**: User requirements in natural language
|
|
82
|
+
**Focus**: Transform user intent into appropriate scale architecture
|
|
83
|
+
**Output**: Complete specification matching user scale and needs
|
|
84
|
+
|
|
85
|
+
**Key Creation Patterns**:
|
|
86
|
+
- User terminology → Domain models
|
|
87
|
+
- Business requirements → Technical architecture
|
|
88
|
+
- Scale indicators → Deployment complexity
|
|
89
|
+
- Compliance needs → Security and audit features
|
|
90
|
+
|
|
91
|
+
## Development Workflow
|
|
92
|
+
|
|
93
|
+
### Standard AI Workflow
|
|
94
|
+
1. **Read INPUT.md**: Understand the specific test case and domain
|
|
95
|
+
2. **Analyze/Create**: Use appropriate AI operation based on input type
|
|
96
|
+
3. **Validate**: Ensure output validates with SpecVerse schema
|
|
97
|
+
4. **Infer**: Use AI inference to expand to complete architecture
|
|
98
|
+
5. **Generate**: Create diagrams and documentation
|
|
99
|
+
|
|
100
|
+
### Template Customization Approach
|
|
101
|
+
- **Don't modify templates**: Let AI operations customize `specs/main.specly`
|
|
102
|
+
- **Start with generic**: AI will transform `Item` → domain models
|
|
103
|
+
- **Scale appropriately**: AI will add complexity based on input scale
|
|
104
|
+
- **Preserve user intent**: Maintain terminology and requirements from input
|
|
105
|
+
|
|
106
|
+
## Deployment Specifications
|
|
107
|
+
|
|
108
|
+
SpecVerse v3.1 supports logical deployment specifications with capability-based architecture:
|
|
109
|
+
|
|
110
|
+
### Basic Deployment Structure
|
|
111
|
+
```yaml
|
|
112
|
+
deployments:
|
|
113
|
+
development: # Deployment name
|
|
114
|
+
version: "1.0.0"
|
|
115
|
+
environment: development # or production, staging, etc.
|
|
116
|
+
instances:
|
|
117
|
+
controllers:
|
|
118
|
+
ComponentController:
|
|
119
|
+
component: "ComponentName"
|
|
120
|
+
namespace: "api"
|
|
121
|
+
advertises: "*" # All capabilities
|
|
122
|
+
uses: ["database.*", "cache.*"]
|
|
123
|
+
scale: 2
|
|
124
|
+
services:
|
|
125
|
+
ComponentService:
|
|
126
|
+
component: "ComponentName"
|
|
127
|
+
namespace: "services"
|
|
128
|
+
advertises: ["process.*", "validate.*"]
|
|
129
|
+
uses: ["database.*"]
|
|
130
|
+
scale: 3
|
|
131
|
+
views:
|
|
132
|
+
webInterface:
|
|
133
|
+
component: "ComponentName"
|
|
134
|
+
namespace: "web"
|
|
135
|
+
uses: ["api.*", "services.*"]
|
|
136
|
+
scale: 1
|
|
137
|
+
communications:
|
|
138
|
+
mainBus:
|
|
139
|
+
namespace: "global"
|
|
140
|
+
capabilities: ["*"]
|
|
141
|
+
type: "pubsub" # or rpc, queue, streaming
|
|
142
|
+
storage:
|
|
143
|
+
mainDatabase:
|
|
144
|
+
component: "ComponentName"
|
|
145
|
+
namespace: "data"
|
|
146
|
+
type: "relational" # or document, keyvalue, cache, file, blob, queue, search
|
|
147
|
+
advertises: ["persistence.*", "query.*"]
|
|
148
|
+
persistence: "durable" # or session, cache, temporary
|
|
149
|
+
consistency: "strong" # or eventual, weak
|
|
150
|
+
scale: 2
|
|
151
|
+
backup: true
|
|
152
|
+
encryption: true
|
|
153
|
+
security:
|
|
154
|
+
authSystem:
|
|
155
|
+
component: "ComponentName"
|
|
156
|
+
namespace: "auth"
|
|
157
|
+
type: "authentication" # or authorization, encryption, audit, firewall, scanning, secrets, identity
|
|
158
|
+
provider: "oauth" # or saml, jwt, ldap, local, external, cloud, enterprise
|
|
159
|
+
scope: "global" # or component, namespace, instance, user, role
|
|
160
|
+
advertises: ["auth.*", "identity.*"]
|
|
161
|
+
policies: ["require-2fa", "session-timeout"]
|
|
162
|
+
encryption: "strong" # or none, basic, enterprise
|
|
163
|
+
auditLevel: "detailed" # or none, basic, comprehensive
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Deployment Scales
|
|
167
|
+
|
|
168
|
+
**Personal/Demo Scale:**
|
|
169
|
+
```yaml
|
|
170
|
+
deployments:
|
|
171
|
+
personal:
|
|
172
|
+
instances:
|
|
173
|
+
controllers:
|
|
174
|
+
simpleAPI: { component: "ComponentName", scale: 1 }
|
|
175
|
+
storage:
|
|
176
|
+
localDB:
|
|
177
|
+
component: "ComponentName"
|
|
178
|
+
type: "relational"
|
|
179
|
+
persistence: "durable"
|
|
180
|
+
scale: 1
|
|
181
|
+
security:
|
|
182
|
+
simpleAuth:
|
|
183
|
+
component: "ComponentName"
|
|
184
|
+
type: "authentication"
|
|
185
|
+
provider: "local"
|
|
186
|
+
scope: "component"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Commercial Scale:**
|
|
190
|
+
```yaml
|
|
191
|
+
deployments:
|
|
192
|
+
production:
|
|
193
|
+
instances:
|
|
194
|
+
controllers:
|
|
195
|
+
apiController: { component: "ComponentName", scale: 3 }
|
|
196
|
+
services:
|
|
197
|
+
authService: { component: "ComponentName", scale: 2 }
|
|
198
|
+
storage:
|
|
199
|
+
mainDB:
|
|
200
|
+
component: "ComponentName"
|
|
201
|
+
type: "relational"
|
|
202
|
+
persistence: "durable"
|
|
203
|
+
consistency: "strong"
|
|
204
|
+
scale: 2
|
|
205
|
+
backup: true
|
|
206
|
+
cache:
|
|
207
|
+
component: "ComponentName"
|
|
208
|
+
type: "keyvalue"
|
|
209
|
+
persistence: "cache"
|
|
210
|
+
scale: 1
|
|
211
|
+
security:
|
|
212
|
+
oauthAuth:
|
|
213
|
+
component: "ComponentName"
|
|
214
|
+
type: "authentication"
|
|
215
|
+
provider: "oauth"
|
|
216
|
+
scope: "global"
|
|
217
|
+
policies: ["session-management"]
|
|
218
|
+
rbacAuth:
|
|
219
|
+
component: "ComponentName"
|
|
220
|
+
type: "authorization"
|
|
221
|
+
provider: "local"
|
|
222
|
+
scope: "component"
|
|
223
|
+
policies: ["role-based"]
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Enterprise Scale:**
|
|
227
|
+
```yaml
|
|
228
|
+
deployments:
|
|
229
|
+
enterprise:
|
|
230
|
+
instances:
|
|
231
|
+
controllers:
|
|
232
|
+
apiGateway: { component: "ComponentName", scale: 10 }
|
|
233
|
+
services:
|
|
234
|
+
authService: { component: "ComponentName", scale: 5 }
|
|
235
|
+
storage:
|
|
236
|
+
primaryDB:
|
|
237
|
+
component: "ComponentName"
|
|
238
|
+
type: "relational"
|
|
239
|
+
persistence: "durable"
|
|
240
|
+
consistency: "strong"
|
|
241
|
+
scale: 5
|
|
242
|
+
replication: 2
|
|
243
|
+
backup: true
|
|
244
|
+
encryption: true
|
|
245
|
+
distributedCache:
|
|
246
|
+
component: "ComponentName"
|
|
247
|
+
type: "keyvalue"
|
|
248
|
+
persistence: "cache"
|
|
249
|
+
consistency: "eventual"
|
|
250
|
+
scale: 3
|
|
251
|
+
security:
|
|
252
|
+
enterpriseAuth:
|
|
253
|
+
component: "ComponentName"
|
|
254
|
+
type: "authentication"
|
|
255
|
+
provider: "enterprise"
|
|
256
|
+
scope: "global"
|
|
257
|
+
policies: ["sso", "mfa", "compliance"]
|
|
258
|
+
protocols: ["saml", "oauth2", "openid"]
|
|
259
|
+
encryption: "enterprise"
|
|
260
|
+
auditLevel: "comprehensive"
|
|
261
|
+
monitoring:
|
|
262
|
+
appMonitoring:
|
|
263
|
+
component: "ComponentName"
|
|
264
|
+
namespace: "monitoring"
|
|
265
|
+
type: "metrics" # metrics, logging, tracing, alerting, analytics, profiling, uptime, synthetic
|
|
266
|
+
provider: "prometheus" # prometheus, grafana, datadog, newrelic, splunk, elasticsearch, jaeger, zipkin, sentry, rollbar, cloudwatch, stackdriver, azure-monitor, local
|
|
267
|
+
scope: "component" # global, component, namespace, instance, service, request
|
|
268
|
+
retention: "medium" # short, medium, long, permanent
|
|
269
|
+
resolution: "high" # high, medium, low
|
|
270
|
+
sampling: 1.0 # 0.0 to 1.0
|
|
271
|
+
advertises: ["metrics.*"]
|
|
272
|
+
dashboards: ["overview", "errors"]
|
|
273
|
+
alerts: ["high-error-rate", "service-down"]
|
|
274
|
+
aggregation: true
|
|
275
|
+
realtime: false
|
|
276
|
+
infrastructure:
|
|
277
|
+
apiGateway:
|
|
278
|
+
component: "ComponentName"
|
|
279
|
+
namespace: "gateway"
|
|
280
|
+
type: "gateway" # gateway, loadbalancer, proxy, cdn, dns, registry, mesh, ingress
|
|
281
|
+
provider: "nginx" # aws, gcp, azure, cloudflare, vercel, netlify, kubernetes, istio, envoy, nginx, traefik, consul, local
|
|
282
|
+
tier: "regional" # edge, regional, global, local
|
|
283
|
+
redundancy: "basic" # none, basic, high, enterprise
|
|
284
|
+
advertises: ["routing.*"]
|
|
285
|
+
protocols: ["http", "https"]
|
|
286
|
+
healthChecks: true
|
|
287
|
+
autoScaling: false
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Auto-Generation
|
|
291
|
+
Deployments can be auto-generated using the `--deployment` flag:
|
|
292
|
+
```bash
|
|
293
|
+
# Generate deployment for development
|
|
294
|
+
specverse infer specs/main.specly --deployment --environment development
|
|
295
|
+
|
|
296
|
+
# Generate deployment for production
|
|
297
|
+
specverse infer specs/main.specly --deployment --environment production
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
## Manifest System
|
|
301
|
+
|
|
302
|
+
SpecVerse v3.1 manifests provide implementation guidance with DRY architecture:
|
|
303
|
+
|
|
304
|
+
### Modern Manifest Structure
|
|
305
|
+
```yaml
|
|
306
|
+
specVersion: "3.1.0"
|
|
307
|
+
name: "ProjectName Implementation Manifest"
|
|
308
|
+
version: "1.0.0"
|
|
309
|
+
|
|
310
|
+
# Import standardized definitions
|
|
311
|
+
import:
|
|
312
|
+
- library: "@specverse/standards/nextjs"
|
|
313
|
+
select: ["controller", "view", "authentication"]
|
|
314
|
+
- library: "@specverse/standards/databases"
|
|
315
|
+
select: ["postgresql"]
|
|
316
|
+
|
|
317
|
+
# Define implementation types (DRY pattern)
|
|
318
|
+
implementationTypes:
|
|
319
|
+
nextjs-api:
|
|
320
|
+
extends: "@nextjs/controller"
|
|
321
|
+
localExtensions:
|
|
322
|
+
appRouterVersion: "14"
|
|
323
|
+
renderingMode: "SSR"
|
|
324
|
+
|
|
325
|
+
# Map logical deployments to implementations
|
|
326
|
+
logicalDeployment:
|
|
327
|
+
instances:
|
|
328
|
+
controllers:
|
|
329
|
+
ComponentController: "nextjs-api"
|
|
330
|
+
|
|
331
|
+
# Define capability mappings
|
|
332
|
+
capabilityMappings:
|
|
333
|
+
- capability: "api.*"
|
|
334
|
+
implementationType: "nextjs-api"
|
|
335
|
+
capabilityType: "advertises"
|
|
336
|
+
namespace: "web"
|
|
337
|
+
|
|
338
|
+
# Communication channels
|
|
339
|
+
communicationChannels:
|
|
340
|
+
- channelName: "mainBus"
|
|
341
|
+
implementationType: "nextjs-rpc"
|
|
342
|
+
namespace: "global"
|
|
343
|
+
capabilities: ["api.*"]
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
## Validation and Quality
|
|
347
|
+
|
|
348
|
+
### Success Criteria
|
|
349
|
+
- **Domain Accuracy**: Models reflect the intended domain
|
|
350
|
+
- **Scale Appropriateness**: Complexity matches intended use case
|
|
351
|
+
- **Schema Compliance**: Output validates with SpecVerse v3.1 schema
|
|
352
|
+
- **User Intent Preservation**: Original requirements clearly addressed
|
|
353
|
+
- **Expansion Ratio**: Meets target expansion patterns
|
|
354
|
+
|
|
355
|
+
### Common Pitfalls
|
|
356
|
+
- **Over-engineering**: Don't add enterprise features to simple use cases
|
|
357
|
+
- **Under-engineering**: Don't skip required features for target scale
|
|
358
|
+
- **Generic models**: Ensure models reflect specific domain
|
|
359
|
+
- **Authentication complexity**: Match auth complexity to scale
|
|
360
|
+
|
|
361
|
+
## AI Prompting Best Practices
|
|
362
|
+
|
|
363
|
+
When working with any domain:
|
|
364
|
+
|
|
365
|
+
1. **Reference INPUT.md**: Always start with the specific test case requirements
|
|
366
|
+
2. **Preserve user terminology**: User language matters for scale and intent
|
|
367
|
+
3. **Focus on domain**: Business domain models, not generic abstractions
|
|
368
|
+
4. **Scale appropriately**: Personal ≠ Enterprise complexity
|
|
369
|
+
5. **Include required features**: Domain-specific requirements are critical
|
|
370
|
+
6. **Validate early**: Check schema compliance before expansion
|
|
371
|
+
|
|
372
|
+
### AI Prompting Tips
|
|
373
|
+
|
|
374
|
+
When asking an AI to help with any project:
|
|
375
|
+
|
|
376
|
+
1. **Reference guidance files**: "Follow the guidelines in AI-GUIDE.md and INPUT.md"
|
|
377
|
+
2. **Use convention syntax**: "Use SpecVerse convention syntax"
|
|
378
|
+
3. **Start minimal**: "Create minimal models, let inference expand"
|
|
379
|
+
4. **Business focus**: "Focus on business logic, not implementation"
|
|
380
|
+
5. **Include deployments**: "Add deployment specification for target environment"
|
|
381
|
+
6. **Create manifests**: "Generate v3.1.0 manifest with standardized imports"
|
|
382
|
+
|
|
383
|
+
## Schema Reference
|
|
384
|
+
|
|
385
|
+
For complete SpecVerse v3.1 schema with AI guidance, see:
|
|
386
|
+
- Local: `docs/ai-guidance/SPECVERSE-V3.1-SCHEMA-AI.yaml`
|
|
387
|
+
- Convention examples and patterns included
|
|
388
|
+
- Comprehensive type and modifier reference
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
*SpecVerse v3.1 - AI-Powered Specification Language*
|
|
392
|
+
*Universal AI Development Guide*
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Deployments Directory
|
|
2
|
+
|
|
3
|
+
This directory can be used to organize deployment specifications when you need multiple deployment targets or environment-specific configurations.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
Deployments can be organized by environment, scale, or target platform:
|
|
8
|
+
|
|
9
|
+
1. **Environment-based organization**:
|
|
10
|
+
```
|
|
11
|
+
deployments/
|
|
12
|
+
├── development.specly
|
|
13
|
+
├── staging.specly
|
|
14
|
+
└── production.specly
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
2. **Scale-based organization**:
|
|
18
|
+
```
|
|
19
|
+
deployments/
|
|
20
|
+
├── personal.specly # Single developer, local database
|
|
21
|
+
├── team.specly # Small team, shared database
|
|
22
|
+
├── business.specly # Business scale, clustering
|
|
23
|
+
└── enterprise.specly # Enterprise scale, multi-tenant
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. **Platform-based organization**:
|
|
27
|
+
```
|
|
28
|
+
deployments/
|
|
29
|
+
├── local.specly # Local development
|
|
30
|
+
├── cloud.specly # Cloud deployment (AWS, GCP, Azure)
|
|
31
|
+
├── kubernetes.specly # Kubernetes clusters
|
|
32
|
+
└── serverless.specly # Serverless functions
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Deployment Patterns
|
|
36
|
+
|
|
37
|
+
### Based on SpecVerse Library Patterns
|
|
38
|
+
|
|
39
|
+
You can reference deployment patterns from the SpecVerse library system:
|
|
40
|
+
|
|
41
|
+
- **Monolith Pattern**: Single-instance deployment (from `libs/deployments/monolith/`)
|
|
42
|
+
- **Microservices Pattern**: Service-based deployment (from `libs/deployments/microservices/`)
|
|
43
|
+
- **JAMstack Pattern**: Static + API deployment (from `libs/deployments/jamstack/`)
|
|
44
|
+
- **Enterprise Pattern**: Multi-tenant, compliance-ready (from `libs/deployments/enterprise/`)
|
|
45
|
+
|
|
46
|
+
### Example Deployment Structure
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
# deployments/development.specly
|
|
50
|
+
components:
|
|
51
|
+
my-app-dev:
|
|
52
|
+
version: "3.1.0"
|
|
53
|
+
|
|
54
|
+
# Reference library patterns
|
|
55
|
+
import:
|
|
56
|
+
- file: ../../../libs/deployments/monolith/lib/development.yaml
|
|
57
|
+
select: ["development"]
|
|
58
|
+
|
|
59
|
+
deployments:
|
|
60
|
+
development:
|
|
61
|
+
version: "3.1.0"
|
|
62
|
+
environment: "development"
|
|
63
|
+
|
|
64
|
+
# Based on monolith development pattern
|
|
65
|
+
instances:
|
|
66
|
+
controllers:
|
|
67
|
+
appController:
|
|
68
|
+
component: "my-app"
|
|
69
|
+
namespace: "api"
|
|
70
|
+
scale: 1
|
|
71
|
+
advertises: ["api.*"]
|
|
72
|
+
uses: ["database.*"]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Instance Types
|
|
76
|
+
|
|
77
|
+
SpecVerse v3.1 supports these logical instance types:
|
|
78
|
+
|
|
79
|
+
- **Controllers**: API endpoints, request handlers
|
|
80
|
+
- **Services**: Business logic, background processing
|
|
81
|
+
- **Views**: UI components, frontend applications
|
|
82
|
+
- **Storage**: Databases, caches, file systems
|
|
83
|
+
- **Security**: Authentication, authorization, encryption
|
|
84
|
+
- **Infrastructure**: Load balancers, CDNs, service mesh
|
|
85
|
+
- **Monitoring**: Metrics, logging, alerting, analytics
|
|
86
|
+
- **Communications**: Message queues, event buses, RPC channels
|
|
87
|
+
|
|
88
|
+
## Capability Patterns
|
|
89
|
+
|
|
90
|
+
Use capability patterns to define instance communication:
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
instances:
|
|
94
|
+
controllers:
|
|
95
|
+
apiController:
|
|
96
|
+
advertises: ["api.*", "auth.*"] # What this instance provides
|
|
97
|
+
uses: ["database.*", "cache.*"] # What this instance depends on
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Scaling Configuration
|
|
101
|
+
|
|
102
|
+
Define scaling behavior for different environments:
|
|
103
|
+
|
|
104
|
+
```yaml
|
|
105
|
+
instances:
|
|
106
|
+
controllers:
|
|
107
|
+
webApi:
|
|
108
|
+
scale: 3 # Number of instances
|
|
109
|
+
advertises: ["api.*"]
|
|
110
|
+
uses: ["database.*"]
|
|
111
|
+
config:
|
|
112
|
+
resources:
|
|
113
|
+
memory: "512Mi"
|
|
114
|
+
cpu: "200m"
|
|
115
|
+
healthCheck:
|
|
116
|
+
path: "/health"
|
|
117
|
+
interval: "30s"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Import Examples
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
# In main.specly, reference deployment specifications
|
|
124
|
+
deployments:
|
|
125
|
+
development:
|
|
126
|
+
import:
|
|
127
|
+
- file: deployments/development.specly
|
|
128
|
+
select: ["development"]
|
|
129
|
+
|
|
130
|
+
production:
|
|
131
|
+
import:
|
|
132
|
+
- file: deployments/production.specly
|
|
133
|
+
select: ["production"]
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Best Practices
|
|
137
|
+
|
|
138
|
+
1. **Environment Separation**: Keep development and production deployments separate
|
|
139
|
+
2. **Library Usage**: Reference standard patterns from `libs/deployments/`
|
|
140
|
+
3. **Capability Design**: Use clear advertises/uses patterns for dependencies
|
|
141
|
+
4. **Scaling Strategy**: Define appropriate scaling for each environment
|
|
142
|
+
5. **Security Layering**: Include security instances for authentication and authorization
|
|
143
|
+
6. **Monitoring Integration**: Add monitoring instances for production deployments
|
|
144
|
+
|
|
145
|
+
## See Also
|
|
146
|
+
|
|
147
|
+
- **Library Patterns**: `../../libs/deployments/` for standard deployment patterns
|
|
148
|
+
- **Manifests**: `../manifests/` for technology-specific implementation guidance
|
|
149
|
+
- **Main Specification**: `../specs/main.specly` for component definitions
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Development Deployment
|
|
2
|
+
# SpecVerse v3.1 deployment specification for local development
|
|
3
|
+
|
|
4
|
+
deployments:
|
|
5
|
+
development:
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
environment: "development"
|
|
8
|
+
description: "Local development deployment with SQLite"
|
|
9
|
+
|
|
10
|
+
# Based on libs/deployments/monolith/development pattern
|
|
11
|
+
instances:
|
|
12
|
+
controllers:
|
|
13
|
+
appController:
|
|
14
|
+
component: "{{componentName}}"
|
|
15
|
+
namespace: "api"
|
|
16
|
+
scale: 1
|
|
17
|
+
advertises: ["api.*"]
|
|
18
|
+
uses: ["database.*", "auth.*"]
|
|
19
|
+
|
|
20
|
+
services:
|
|
21
|
+
appService:
|
|
22
|
+
component: "{{componentName}}"
|
|
23
|
+
namespace: "services"
|
|
24
|
+
scale: 1
|
|
25
|
+
advertises: ["business.*", "validation.*"]
|
|
26
|
+
uses: ["database.*"]
|
|
27
|
+
|
|
28
|
+
storage:
|
|
29
|
+
localDB:
|
|
30
|
+
component: "{{componentName}}"
|
|
31
|
+
namespace: "data"
|
|
32
|
+
type: "relational"
|
|
33
|
+
scale: 1
|
|
34
|
+
advertises: ["persistence.*", "query.*"]
|
|
35
|
+
|
|
36
|
+
security:
|
|
37
|
+
devAuth:
|
|
38
|
+
component: "{{componentName}}"
|
|
39
|
+
namespace: "auth"
|
|
40
|
+
type: "authentication"
|
|
41
|
+
provider: "local"
|
|
42
|
+
scope: "component"
|
|
43
|
+
scale: 1
|
|
44
|
+
advertises: ["auth.*"]
|
|
45
|
+
policies: ["dev-access"]
|
|
46
|
+
encryption: "basic"
|
|
47
|
+
auditLevel: "basic"
|
|
48
|
+
|
|
49
|
+
communications:
|
|
50
|
+
localBus:
|
|
51
|
+
namespace: "local"
|
|
52
|
+
type: "rpc"
|
|
53
|
+
capabilities: ["*"]
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Production Deployment
|
|
2
|
+
# SpecVerse v3.1 deployment specification for production environment
|
|
3
|
+
|
|
4
|
+
deployments:
|
|
5
|
+
production:
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
environment: "production"
|
|
8
|
+
description: "Production deployment with PostgreSQL and monitoring"
|
|
9
|
+
|
|
10
|
+
# Based on libs/deployments/monolith/production pattern
|
|
11
|
+
instances:
|
|
12
|
+
controllers:
|
|
13
|
+
apiServer:
|
|
14
|
+
component: "{{componentName}}"
|
|
15
|
+
namespace: "api"
|
|
16
|
+
scale: 3
|
|
17
|
+
advertises: ["api.*"]
|
|
18
|
+
uses: ["database.*", "auth.*", "cache.*"]
|
|
19
|
+
|
|
20
|
+
services:
|
|
21
|
+
businessService:
|
|
22
|
+
component: "{{componentName}}"
|
|
23
|
+
namespace: "services"
|
|
24
|
+
scale: 2
|
|
25
|
+
advertises: ["business.*", "validation.*"]
|
|
26
|
+
uses: ["database.*", "cache.*"]
|
|
27
|
+
|
|
28
|
+
storage:
|
|
29
|
+
mainDB:
|
|
30
|
+
component: "{{componentName}}"
|
|
31
|
+
namespace: "data"
|
|
32
|
+
type: "relational"
|
|
33
|
+
scale: 2
|
|
34
|
+
backup: true
|
|
35
|
+
encryption: true
|
|
36
|
+
advertises: ["persistence.*", "query.*"]
|
|
37
|
+
|
|
38
|
+
cache:
|
|
39
|
+
component: "{{componentName}}"
|
|
40
|
+
namespace: "cache"
|
|
41
|
+
type: "keyvalue"
|
|
42
|
+
scale: 2
|
|
43
|
+
advertises: ["cache.*", "session.*"]
|
|
44
|
+
|
|
45
|
+
security:
|
|
46
|
+
authSystem:
|
|
47
|
+
component: "{{componentName}}"
|
|
48
|
+
namespace: "auth"
|
|
49
|
+
type: "authentication"
|
|
50
|
+
provider: "oauth"
|
|
51
|
+
scope: "global"
|
|
52
|
+
scale: 2
|
|
53
|
+
advertises: ["auth.*", "identity.*"]
|
|
54
|
+
policies: ["session-management", "rate-limiting"]
|
|
55
|
+
encryption: "strong"
|
|
56
|
+
auditLevel: "detailed"
|
|
57
|
+
|
|
58
|
+
monitoring:
|
|
59
|
+
appMetrics:
|
|
60
|
+
component: "{{componentName}}"
|
|
61
|
+
namespace: "monitoring"
|
|
62
|
+
type: "metrics"
|
|
63
|
+
provider: "prometheus"
|
|
64
|
+
scope: "global"
|
|
65
|
+
retention: "medium"
|
|
66
|
+
resolution: "high"
|
|
67
|
+
advertises: ["metrics.*"]
|
|
68
|
+
dashboards: ["overview", "errors", "performance"]
|
|
69
|
+
alerts: ["high-error-rate", "service-down", "high-latency"]
|
|
70
|
+
|
|
71
|
+
infrastructure:
|
|
72
|
+
loadBalancer:
|
|
73
|
+
component: "{{componentName}}"
|
|
74
|
+
namespace: "gateway"
|
|
75
|
+
type: "gateway"
|
|
76
|
+
provider: "nginx"
|
|
77
|
+
tier: "regional"
|
|
78
|
+
redundancy: "basic"
|
|
79
|
+
advertises: ["routing.*", "balancing.*"]
|
|
80
|
+
protocols: ["http", "https"]
|
|
81
|
+
healthChecks: true
|
|
82
|
+
|
|
83
|
+
communications:
|
|
84
|
+
prodBus:
|
|
85
|
+
namespace: "global"
|
|
86
|
+
type: "pubsub"
|
|
87
|
+
capabilities: ["*"]
|