{
  "slug": "dsl/reference",
  "title": "DSL reference",
  "description": "Canonical Cuitty DSL blocks and adapter targets.",
  "url": "https://cuitty.com/docs/dsl/reference",
  "markdown_url": "https://cuitty.com/docs/dsl/reference.md",
  "json_url": "https://cuitty.com/docs/dsl/reference.json",
  "frontmatter": {
    "title": "DSL reference",
    "description": "Canonical Cuitty DSL blocks and adapter targets.",
    "order": 2,
    "section": "DSL",
    "updatedAt": "2026-06-05"
  },
  "headings": [
    {
      "depth": 1,
      "slug": "dsl-reference",
      "text": "DSL reference"
    }
  ],
  "body_markdown": "# DSL reference\n\nThe canonical file extension is `.cuitty`. Bare `.cuitty` files, `.cuitty.hcl`,\n`.ctest`, and `.cuitty/**/*.hcl` are detected by the Cuitty DSL tooling and LSP.\n\n| Block | Product | Purpose |\n| --- | --- | --- |\n| `cuitty` | Core | Schema version, project metadata, enabled extensions, export targets. |\n| `test_suite` | Tests | HTTP, gRPC, Pilot, and unit test workflows. |\n| `playbook` | Pilot | Browser automation and provider operations. |\n| `video` | Video | Declarative composition timelines and output settings. |\n| `code_app` | Code | App manifests, permissions, ownership, and runtime. |\n| `module` | Observe | Module registry and portal metadata. |\n| `store` | Store | Storage profiles and adapter configuration. |\n| `persist` | Store | Deprecated compatibility alias for `store` blocks during the rebrand window. |\n\nAdapter targets keep product runtimes stable while authoring converges:\n\n```bash\ncuitty-dsl export --target ctest examples/tests/auth-flow.cuitty\ncuitty-dsl export --target pilot-yaml examples/pilot/cloudflare-dns.cuitty\ncuitty-dsl export --target video-yaml examples/video/code-demo.cuitty\n```",
  "links_out": []
}