{ "project": "standards", "template": "templates/app", "seed": { "resource": "item", "family": "example" }, "components": [ { "kind": "model", "path": "domain/item/models.py", "placeholder": "resource", "description": "Business Pydantic model for a resource." }, { "kind": "ports-db", "path": "domain/item/ports/db.py", "placeholder": "resource", "description": "Document model + repository factory for a resource." }, { "kind": "ports-service", "path": "domain/item/ports/service.py", "placeholder": "resource", "description": "CRUD service wired through the DI library." }, { "kind": "converters", "path": "domain/item/ports/converters.py", "placeholder": "resource", "description": "Optional pure converters between domain types." }, { "kind": "routes", "path": "interfaces/item/routes.py", "placeholder": "resource", "description": "Thin HTTP handlers bound to operationIds." }, { "kind": "openapi-routes", "path": "interfaces/openapi.py", "placeholder": "", "description": "Route registry: flat re-export of every handler namespace." }, { "kind": "auth", "path": "interfaces/auth/security.yaml", "placeholder": "", "description": "Mergeable bearerAuth security scheme + global security for openapi.yaml." }, { "kind": "test-model", "path": "tests/unit/test_item_models.py", "placeholder": "resource", "description": "Unit test for the resource model." }, { "kind": "test-routes", "path": "tests/integration/test_item_routes.py", "placeholder": "resource", "description": "Integration test at the HTTP edge." }, { "kind": "test-openapi-build", "path": "tests/integration/test_openapi_app_builds.py", "placeholder": "", "description": "Generic test: every spec operationId resolves and the app builds." }, { "kind": "test-pipeline", "path": "tests/unit/test_item_sync.py", "placeholder": "", "description": "Unit test for the smallest pipeline form." }, { "kind": "pipeline-abc", "path": "pipelines/example/abc.py", "placeholder": "family", "description": "Port contracts for a pipeline family." }, { "kind": "pipeline-impl", "path": "pipelines/example/impl.py", "placeholder": "family", "description": "Concrete stages, wired root, and family registration." }, { "kind": "pipeline-yaml", "path": "pipelines/example/pipeline.yaml", "placeholder": "family", "description": "Graph spec (nodes, edges, roots, schema)." }, { "kind": "pipeline-resources", "path": "pipelines/example/resources/pipeline.yaml", "placeholder": "family", "description": "Runtime spec consumed by the shared loader." }, { "kind": "pipeline-pattern", "path": "pipelines/example/resources/patterns/example.yaml", "placeholder": "family", "description": "Pattern/rule fragment merged by the loader." }, { "kind": "pipeline-ports", "path": "pipelines/shared/ports.py", "placeholder": "", "description": "Shared pipeline ports (FinalizePort, RegistryPort)." }, { "kind": "pipeline-loader", "path": "pipelines/shared/loader.py", "placeholder": "", "description": "Shared loader: DI wiring + pattern merge." }, { "kind": "pipeline-registry", "path": "pipelines/shared/registry.py", "placeholder": "", "description": "Shared registry: (kind, variant, mode) -> root class." }, { "kind": "pipeline-simple", "path": "pipelines/item_sync.py", "placeholder": "", "description": "Smallest pipeline form (plain async steps)." }, { "kind": "job-model", "path": "domain/job/models.py", "placeholder": "", "description": "Seeded second resource model (job)." }, { "kind": "job-ports-db", "path": "domain/job/ports/db.py", "placeholder": "", "description": "Seeded second resource repository (job)." }, { "kind": "job-ports-service", "path": "domain/job/ports/service.py", "placeholder": "", "description": "Seeded second resource service (job)." }, { "kind": "job-routes", "path": "interfaces/job/routes.py", "placeholder": "", "description": "Seeded second resource routes (job)." }, { "kind": "config", "path": "config.py", "placeholder": "", "description": "Settings dataclass + singleton." }, { "kind": "init", "path": "init.py", "placeholder": "", "description": "Composition root (init/shutdown, get_svc)." }, { "kind": "main", "path": "main.py", "placeholder": "", "description": "Spec-first app bootstrap + lifespan." }, { "kind": "worker", "path": "worker.py", "placeholder": "", "description": "Poll loop + job status machine." }, { "kind": "openapi", "path": "openapi.yaml", "placeholder": "", "description": "OpenAPI contract skeleton." }, { "kind": "pyproject", "path": "pyproject.toml", "placeholder": "", "description": "Packaging + dependency pins." }, { "kind": "dockerfile", "path": "Dockerfile", "placeholder": "", "description": "API + worker image with private-index wiring." }, { "kind": "dockerignore", "path": ".dockerignore", "placeholder": "", "description": "Docker build-context exclusions." }, { "kind": "gitignore", "path": ".gitignore", "placeholder": "", "description": "VCS exclusions (caches, venv, generated _gen/)." }, { "kind": "compose", "path": "docker-compose.yaml", "placeholder": "", "description": "api + worker + mongo compose file." }, { "kind": "env-example", "path": ".env.example", "placeholder": "", "description": "Environment variable template." }, { "kind": "db-setup", "path": "infra/db/setup.py", "placeholder": "", "description": "Mongo connection lifecycle." }, { "kind": "repo", "path": "infra/db/repos/mongo.py", "placeholder": "", "description": "Repository factory (base/populating/cached)." }, { "kind": "service-adapter", "path": "infra/adapters/service.py", "placeholder": "", "description": "Generic CRUD service adaptor." }, { "kind": "http-cache", "path": "infra/http_cache.py", "placeholder": "", "description": "Response cache decorator + Redis store (generation invalidation)." }, { "kind": "progress-bus", "path": "infra/adapters/sse.py", "placeholder": "", "description": "In-memory SSE progress bus (keyed by an event attribute)." }, { "kind": "kv-store", "path": "infra/adapters/kv.py", "placeholder": "", "description": "KV port + in-memory fallback + optional Redis adaptor." }, { "kind": "package-init", "path": "domain/__init__.py", "placeholder": "", "description": "Empty package marker; add an __init__.py to every package dir." }, { "kind": "script-seed", "path": "scripts/seed.py", "placeholder": "", "description": "Operator seed script." }, { "kind": "script-drop", "path": "scripts/drop.py", "placeholder": "", "description": "Operator drop script." } ] }