[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tinybird-tinybird-cli-guidelines":3,"mdc--78gv63-key":34,"related-org-tinybird-tinybird-cli-guidelines":379,"related-repo-tinybird-tinybird-cli-guidelines":433},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":32,"mdContent":33},"tinybird-cli-guidelines","manage Tinybird operations via CLI","Tinybird CLI commands, workflows, and operations. Use when running tb commands, managing local development, deploying, or working with data operations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"tinybird","Tinybird","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftinybird.png","tinybirdco",[13,17,20,23],{"name":14,"slug":15,"type":16},"Operations","operations","tag",{"name":18,"slug":19,"type":16},"Data Engineering","data-engineering",{"name":21,"slug":22,"type":16},"CLI","cli",{"name":9,"slug":8,"type":16},20,"https:\u002F\u002Fgithub.com\u002Ftinybirdco\u002Ftinybird-agent-skills","2026-04-06T18:54:30.428581",null,2,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":27},[],"https:\u002F\u002Fgithub.com\u002Ftinybirdco\u002Ftinybird-agent-skills\u002Ftree\u002FHEAD\u002Fskills\u002Ftinybird-cli-guidelines","---\nname: tinybird-cli-guidelines\ndescription: Tinybird CLI commands, workflows, and operations. Use when running tb commands, managing local development, deploying, or working with data operations.\n---\n\n# Tinybird CLI Guidelines\n\nGuidance for using the Tinybird CLI (tb) for local development, deployments, data operations, and workspace management.\n\n## When to Apply\n\n- Running any `tb` command\n- Choosing a development workflow (local, branch, or cloud)\n- Local development with Tinybird Local\n- Branch development with Tinybird Cloud branches\n- Building and deploying projects\n- Setting up CI\u002FCD pipelines\n- Appending, replacing, or deleting data\n- Managing tokens and secrets via CLI\n- Generating mock data\n- Running tests\n\n## Rule Files\n\n- `rules\u002Fdevelopment-workflows.md`\n- `rules\u002Fcli-commands.md`\n- `rules\u002Fbuild-deploy.md`\n- `rules\u002Flocal-development.md`\n- `rules\u002Fbranch-development.md`\n- `rules\u002Fci-cd.md`\n- `rules\u002Fdata-operations.md`\n- `rules\u002Fappend-data.md`\n- `rules\u002Fmock-data.md`\n- `rules\u002Ftokens.md`\n- `rules\u002Fsecrets.md`\n\n## Quick Reference\n\n- CLI 4.0 workflow: configure `dev_mode` once, then use plain `tb build` and `tb deploy`.\n- `tb build` targets your configured development environment (`branch` or `local`) in tinybird.config.json.\n- `tb deploy` targets Tinybird Cloud production.\n- Use `--cloud`\u002F`--local`\u002F`--branch` only as explicit manual overrides.\n- Use `tb info` to check CLI context.\n- Use `tb endpoint data \u003Cpipe>` to test endpoints (not `tb pipe data`).\n- Never invent commands or flags; run `tb \u003Ccommand> --help` to verify.\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,47,53,60,124,130,232,238],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","Tinybird CLI Guidelines",{"type":40,"tag":48,"props":49,"children":50},"p",{},[51],{"type":45,"value":52},"Guidance for using the Tinybird CLI (tb) for local development, deployments, data operations, and workspace management.",{"type":40,"tag":54,"props":55,"children":57},"h2",{"id":56},"when-to-apply",[58],{"type":45,"value":59},"When to Apply",{"type":40,"tag":61,"props":62,"children":63},"ul",{},[64,79,84,89,94,99,104,109,114,119],{"type":40,"tag":65,"props":66,"children":67},"li",{},[68,70,77],{"type":45,"value":69},"Running any ",{"type":40,"tag":71,"props":72,"children":74},"code",{"className":73},[],[75],{"type":45,"value":76},"tb",{"type":45,"value":78}," command",{"type":40,"tag":65,"props":80,"children":81},{},[82],{"type":45,"value":83},"Choosing a development workflow (local, branch, or cloud)",{"type":40,"tag":65,"props":85,"children":86},{},[87],{"type":45,"value":88},"Local development with Tinybird Local",{"type":40,"tag":65,"props":90,"children":91},{},[92],{"type":45,"value":93},"Branch development with Tinybird Cloud branches",{"type":40,"tag":65,"props":95,"children":96},{},[97],{"type":45,"value":98},"Building and deploying projects",{"type":40,"tag":65,"props":100,"children":101},{},[102],{"type":45,"value":103},"Setting up CI\u002FCD pipelines",{"type":40,"tag":65,"props":105,"children":106},{},[107],{"type":45,"value":108},"Appending, replacing, or deleting data",{"type":40,"tag":65,"props":110,"children":111},{},[112],{"type":45,"value":113},"Managing tokens and secrets via CLI",{"type":40,"tag":65,"props":115,"children":116},{},[117],{"type":45,"value":118},"Generating mock data",{"type":40,"tag":65,"props":120,"children":121},{},[122],{"type":45,"value":123},"Running tests",{"type":40,"tag":54,"props":125,"children":127},{"id":126},"rule-files",[128],{"type":45,"value":129},"Rule Files",{"type":40,"tag":61,"props":131,"children":132},{},[133,142,151,160,169,178,187,196,205,214,223],{"type":40,"tag":65,"props":134,"children":135},{},[136],{"type":40,"tag":71,"props":137,"children":139},{"className":138},[],[140],{"type":45,"value":141},"rules\u002Fdevelopment-workflows.md",{"type":40,"tag":65,"props":143,"children":144},{},[145],{"type":40,"tag":71,"props":146,"children":148},{"className":147},[],[149],{"type":45,"value":150},"rules\u002Fcli-commands.md",{"type":40,"tag":65,"props":152,"children":153},{},[154],{"type":40,"tag":71,"props":155,"children":157},{"className":156},[],[158],{"type":45,"value":159},"rules\u002Fbuild-deploy.md",{"type":40,"tag":65,"props":161,"children":162},{},[163],{"type":40,"tag":71,"props":164,"children":166},{"className":165},[],[167],{"type":45,"value":168},"rules\u002Flocal-development.md",{"type":40,"tag":65,"props":170,"children":171},{},[172],{"type":40,"tag":71,"props":173,"children":175},{"className":174},[],[176],{"type":45,"value":177},"rules\u002Fbranch-development.md",{"type":40,"tag":65,"props":179,"children":180},{},[181],{"type":40,"tag":71,"props":182,"children":184},{"className":183},[],[185],{"type":45,"value":186},"rules\u002Fci-cd.md",{"type":40,"tag":65,"props":188,"children":189},{},[190],{"type":40,"tag":71,"props":191,"children":193},{"className":192},[],[194],{"type":45,"value":195},"rules\u002Fdata-operations.md",{"type":40,"tag":65,"props":197,"children":198},{},[199],{"type":40,"tag":71,"props":200,"children":202},{"className":201},[],[203],{"type":45,"value":204},"rules\u002Fappend-data.md",{"type":40,"tag":65,"props":206,"children":207},{},[208],{"type":40,"tag":71,"props":209,"children":211},{"className":210},[],[212],{"type":45,"value":213},"rules\u002Fmock-data.md",{"type":40,"tag":65,"props":215,"children":216},{},[217],{"type":40,"tag":71,"props":218,"children":220},{"className":219},[],[221],{"type":45,"value":222},"rules\u002Ftokens.md",{"type":40,"tag":65,"props":224,"children":225},{},[226],{"type":40,"tag":71,"props":227,"children":229},{"className":228},[],[230],{"type":45,"value":231},"rules\u002Fsecrets.md",{"type":40,"tag":54,"props":233,"children":235},{"id":234},"quick-reference",[236],{"type":45,"value":237},"Quick Reference",{"type":40,"tag":61,"props":239,"children":240},{},[241,270,296,306,334,346,366],{"type":40,"tag":65,"props":242,"children":243},{},[244,246,252,254,260,262,268],{"type":45,"value":245},"CLI 4.0 workflow: configure ",{"type":40,"tag":71,"props":247,"children":249},{"className":248},[],[250],{"type":45,"value":251},"dev_mode",{"type":45,"value":253}," once, then use plain ",{"type":40,"tag":71,"props":255,"children":257},{"className":256},[],[258],{"type":45,"value":259},"tb build",{"type":45,"value":261}," and ",{"type":40,"tag":71,"props":263,"children":265},{"className":264},[],[266],{"type":45,"value":267},"tb deploy",{"type":45,"value":269},".",{"type":40,"tag":65,"props":271,"children":272},{},[273,278,280,286,288,294],{"type":40,"tag":71,"props":274,"children":276},{"className":275},[],[277],{"type":45,"value":259},{"type":45,"value":279}," targets your configured development environment (",{"type":40,"tag":71,"props":281,"children":283},{"className":282},[],[284],{"type":45,"value":285},"branch",{"type":45,"value":287}," or ",{"type":40,"tag":71,"props":289,"children":291},{"className":290},[],[292],{"type":45,"value":293},"local",{"type":45,"value":295},") in tinybird.config.json.",{"type":40,"tag":65,"props":297,"children":298},{},[299,304],{"type":40,"tag":71,"props":300,"children":302},{"className":301},[],[303],{"type":45,"value":267},{"type":45,"value":305}," targets Tinybird Cloud production.",{"type":40,"tag":65,"props":307,"children":308},{},[309,311,317,319,325,326,332],{"type":45,"value":310},"Use ",{"type":40,"tag":71,"props":312,"children":314},{"className":313},[],[315],{"type":45,"value":316},"--cloud",{"type":45,"value":318},"\u002F",{"type":40,"tag":71,"props":320,"children":322},{"className":321},[],[323],{"type":45,"value":324},"--local",{"type":45,"value":318},{"type":40,"tag":71,"props":327,"children":329},{"className":328},[],[330],{"type":45,"value":331},"--branch",{"type":45,"value":333}," only as explicit manual overrides.",{"type":40,"tag":65,"props":335,"children":336},{},[337,338,344],{"type":45,"value":310},{"type":40,"tag":71,"props":339,"children":341},{"className":340},[],[342],{"type":45,"value":343},"tb info",{"type":45,"value":345}," to check CLI context.",{"type":40,"tag":65,"props":347,"children":348},{},[349,350,356,358,364],{"type":45,"value":310},{"type":40,"tag":71,"props":351,"children":353},{"className":352},[],[354],{"type":45,"value":355},"tb endpoint data \u003Cpipe>",{"type":45,"value":357}," to test endpoints (not ",{"type":40,"tag":71,"props":359,"children":361},{"className":360},[],[362],{"type":45,"value":363},"tb pipe data",{"type":45,"value":365},").",{"type":40,"tag":65,"props":367,"children":368},{},[369,371,377],{"type":45,"value":370},"Never invent commands or flags; run ",{"type":40,"tag":71,"props":372,"children":374},{"className":373},[],[375],{"type":45,"value":376},"tb \u003Ccommand> --help",{"type":45,"value":378}," to verify.",{"items":380,"total":432},[381,397,404,419],{"slug":8,"name":8,"fn":382,"description":383,"org":384,"tags":385,"stars":24,"repoUrl":25,"updatedAt":396},"build real-time analytics with Tinybird","Tinybird file formats, SQL rules, optimization patterns, and best practices for datasources, pipes, endpoints, and materialized views.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[386,389,392,395],{"name":387,"slug":388,"type":16},"Analytics","analytics",{"name":390,"slug":391,"type":16},"Real-time","real-time",{"name":393,"slug":394,"type":16},"SQL","sql",{"name":9,"slug":8,"type":16},"2026-04-06T18:54:29.196793",{"slug":4,"name":4,"fn":5,"description":6,"org":398,"tags":399,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[400,401,402,403],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},{"slug":405,"name":405,"fn":406,"description":407,"org":408,"tags":409,"stars":24,"repoUrl":25,"updatedAt":418},"tinybird-python-sdk-guidelines","build Tinybird data pipelines with Python","Tinybird Python SDK for defining datasources, pipes, and queries in Python. Use when working with tinybird-sdk, Python Tinybird projects, or data ingestion and queries in Python.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[410,411,414,417],{"name":387,"slug":388,"type":16},{"name":412,"slug":413,"type":16},"Data Pipeline","data-pipeline",{"name":415,"slug":416,"type":16},"Python","python",{"name":9,"slug":8,"type":16},"2026-04-06T18:54:31.743581",{"slug":420,"name":420,"fn":421,"description":422,"org":423,"tags":424,"stars":24,"repoUrl":25,"updatedAt":431},"tinybird-typescript-sdk-guidelines","build type-safe Tinybird data pipelines","Tinybird TypeScript SDK for defining datasources, pipes, and queries with full type inference. Use when working with @tinybirdco\u002Fsdk, TypeScript Tinybird projects, or type-safe data ingestion and queries.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[425,426,427,428],{"name":387,"slug":388,"type":16},{"name":412,"slug":413,"type":16},{"name":9,"slug":8,"type":16},{"name":429,"slug":430,"type":16},"TypeScript","typescript","2026-04-06T18:54:33.014595",4,{"items":434,"total":432},[435,442,449,456],{"slug":8,"name":8,"fn":382,"description":383,"org":436,"tags":437,"stars":24,"repoUrl":25,"updatedAt":396},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[438,439,440,441],{"name":387,"slug":388,"type":16},{"name":390,"slug":391,"type":16},{"name":393,"slug":394,"type":16},{"name":9,"slug":8,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":443,"tags":444,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[445,446,447,448],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},{"slug":405,"name":405,"fn":406,"description":407,"org":450,"tags":451,"stars":24,"repoUrl":25,"updatedAt":418},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[452,453,454,455],{"name":387,"slug":388,"type":16},{"name":412,"slug":413,"type":16},{"name":415,"slug":416,"type":16},{"name":9,"slug":8,"type":16},{"slug":420,"name":420,"fn":421,"description":422,"org":457,"tags":458,"stars":24,"repoUrl":25,"updatedAt":431},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[459,460,461,462],{"name":387,"slug":388,"type":16},{"name":412,"slug":413,"type":16},{"name":9,"slug":8,"type":16},{"name":429,"slug":430,"type":16}]