{
  "slug": "dsl/quickstart",
  "title": "DSL quickstart",
  "description": "Start authoring Cuitty product workflows with .cuitty files.",
  "url": "https://cuitty.com/docs/dsl/quickstart",
  "markdown_url": "https://cuitty.com/docs/dsl/quickstart.md",
  "json_url": "https://cuitty.com/docs/dsl/quickstart.json",
  "frontmatter": {
    "title": "DSL quickstart",
    "description": "Start authoring Cuitty product workflows with .cuitty files.",
    "order": 1,
    "section": "DSL",
    "updatedAt": "2026-06-05"
  },
  "headings": [
    {
      "depth": 1,
      "slug": "dsl-quickstart",
      "text": "DSL quickstart"
    }
  ],
  "body_markdown": "# DSL quickstart\n\nCuitty DSL is an HCL-style language for product workflows across Cuitty. A\nsingle `.cuitty` file can declare project metadata, test suites, Pilot\nplaybooks, Video compositions, Code Apps, modules, and adapter targets.\n\n```hcl\ncuitty {\n  schema_version = 1\n  project = \"demo\"\n  extensions = [\"tests\", \"pilot\", \"video\"]\n  targets = [\"ctest\", \"pilot-yaml\", \"video-yaml\"]\n}\n\ntest_suite \"smoke\" {\n  test \"health\" {\n    type = \"http\"\n    request {\n      method = \"GET\"\n      url = \"${env.BASE_URL}/api/health\"\n    }\n    assert { status = 200 }\n  }\n}\n```\n\nOpen the hosted playground at [/playground/dsl](/playground/dsl), or run the\nlocal sandbox:\n\n```bash\ncd ~/Code/cuitty/dsl\n./run sandbox\n```\n\nThe playground validates source, shows diagnostics, lists symbols, and exposes\nthe normalized AST that adapters use.",
  "links_out": [
    "/playground/dsl"
  ]
}