[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tinybird-tinybird-typescript-sdk-guidelines":3,"mdc--wxl93a-key":34,"related-org-tinybird-tinybird-typescript-sdk-guidelines":316,"related-repo-tinybird-tinybird-typescript-sdk-guidelines":370},{"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-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},"tinybird","Tinybird","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftinybird.png","tinybirdco",[13,17,20,21],{"name":14,"slug":15,"type":16},"TypeScript","typescript","tag",{"name":18,"slug":19,"type":16},"Data Pipeline","data-pipeline",{"name":9,"slug":8,"type":16},{"name":22,"slug":23,"type":16},"Analytics","analytics",20,"https:\u002F\u002Fgithub.com\u002Ftinybirdco\u002Ftinybird-agent-skills","2026-04-06T18:54:33.014595",null,2,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":27},[],"https:\u002F\u002Fgithub.com\u002Ftinybirdco\u002Ftinybird-agent-skills\u002Ftree\u002FHEAD\u002Fskills\u002Ftinybird-typescript-sdk-guidelines","---\nname: tinybird-typescript-sdk-guidelines\ndescription: 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.\n---\n\n# Tinybird TypeScript SDK Guidelines\n\nGuidance for using the `@tinybirdco\u002Fsdk` package to define Tinybird resources in TypeScript with complete type inference.\n\n## When to Apply\n\n- Installing or configuring @tinybirdco\u002Fsdk\n- Defining datasources or pipes in TypeScript\n- Creating typed Tinybird clients\n- Using type-safe ingestion or queries\n- Running tinybird dev\u002Fbuild\u002Fdeploy commands for TypeScript projects\n- Migrating from legacy .datasource\u002F.pipe files to TypeScript\n- Defining connections (Kafka, S3, GCS)\n- Creating materialized views, copy pipes, or sink pipes\n\n## Rule Files\n\n- `rules\u002Fgetting-started.md`\n- `rules\u002Fconfiguration.md`\n- `rules\u002Fdefining-datasources.md`\n- `rules\u002Fdefining-endpoints.md`\n- `rules\u002Ftyped-client.md`\n- `rules\u002Flow-level-api.md`\n- `rules\u002Fcli-commands.md`\n- `rules\u002Fconnections.md`\n- `rules\u002Fmaterialized-views.md`\n- `rules\u002Fcopy-sink-pipes.md`\n- `rules\u002Ftokens.md`\n\n## Quick Reference\n\n- Install: `npm install @tinybirdco\u002Fsdk`\n- Initialize: `npx tinybird init`\n- Dev mode: `tinybird dev` (uses configured `devMode`, typically branch)\n- Build: `tinybird build` (builds against configured dev target)\n- Deploy: `tinybird deploy` (deploys to main\u002Fproduction)\n- Preview in CI: `tinybird preview`\n- Server-side only; never expose tokens in browsers\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,47,62,69,114,120,222,228],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","Tinybird TypeScript SDK Guidelines",{"type":40,"tag":48,"props":49,"children":50},"p",{},[51,53,60],{"type":45,"value":52},"Guidance for using the ",{"type":40,"tag":54,"props":55,"children":57},"code",{"className":56},[],[58],{"type":45,"value":59},"@tinybirdco\u002Fsdk",{"type":45,"value":61}," package to define Tinybird resources in TypeScript with complete type inference.",{"type":40,"tag":63,"props":64,"children":66},"h2",{"id":65},"when-to-apply",[67],{"type":45,"value":68},"When to Apply",{"type":40,"tag":70,"props":71,"children":72},"ul",{},[73,79,84,89,94,99,104,109],{"type":40,"tag":74,"props":75,"children":76},"li",{},[77],{"type":45,"value":78},"Installing or configuring @tinybirdco\u002Fsdk",{"type":40,"tag":74,"props":80,"children":81},{},[82],{"type":45,"value":83},"Defining datasources or pipes in TypeScript",{"type":40,"tag":74,"props":85,"children":86},{},[87],{"type":45,"value":88},"Creating typed Tinybird clients",{"type":40,"tag":74,"props":90,"children":91},{},[92],{"type":45,"value":93},"Using type-safe ingestion or queries",{"type":40,"tag":74,"props":95,"children":96},{},[97],{"type":45,"value":98},"Running tinybird dev\u002Fbuild\u002Fdeploy commands for TypeScript projects",{"type":40,"tag":74,"props":100,"children":101},{},[102],{"type":45,"value":103},"Migrating from legacy .datasource\u002F.pipe files to TypeScript",{"type":40,"tag":74,"props":105,"children":106},{},[107],{"type":45,"value":108},"Defining connections (Kafka, S3, GCS)",{"type":40,"tag":74,"props":110,"children":111},{},[112],{"type":45,"value":113},"Creating materialized views, copy pipes, or sink pipes",{"type":40,"tag":63,"props":115,"children":117},{"id":116},"rule-files",[118],{"type":45,"value":119},"Rule Files",{"type":40,"tag":70,"props":121,"children":122},{},[123,132,141,150,159,168,177,186,195,204,213],{"type":40,"tag":74,"props":124,"children":125},{},[126],{"type":40,"tag":54,"props":127,"children":129},{"className":128},[],[130],{"type":45,"value":131},"rules\u002Fgetting-started.md",{"type":40,"tag":74,"props":133,"children":134},{},[135],{"type":40,"tag":54,"props":136,"children":138},{"className":137},[],[139],{"type":45,"value":140},"rules\u002Fconfiguration.md",{"type":40,"tag":74,"props":142,"children":143},{},[144],{"type":40,"tag":54,"props":145,"children":147},{"className":146},[],[148],{"type":45,"value":149},"rules\u002Fdefining-datasources.md",{"type":40,"tag":74,"props":151,"children":152},{},[153],{"type":40,"tag":54,"props":154,"children":156},{"className":155},[],[157],{"type":45,"value":158},"rules\u002Fdefining-endpoints.md",{"type":40,"tag":74,"props":160,"children":161},{},[162],{"type":40,"tag":54,"props":163,"children":165},{"className":164},[],[166],{"type":45,"value":167},"rules\u002Ftyped-client.md",{"type":40,"tag":74,"props":169,"children":170},{},[171],{"type":40,"tag":54,"props":172,"children":174},{"className":173},[],[175],{"type":45,"value":176},"rules\u002Flow-level-api.md",{"type":40,"tag":74,"props":178,"children":179},{},[180],{"type":40,"tag":54,"props":181,"children":183},{"className":182},[],[184],{"type":45,"value":185},"rules\u002Fcli-commands.md",{"type":40,"tag":74,"props":187,"children":188},{},[189],{"type":40,"tag":54,"props":190,"children":192},{"className":191},[],[193],{"type":45,"value":194},"rules\u002Fconnections.md",{"type":40,"tag":74,"props":196,"children":197},{},[198],{"type":40,"tag":54,"props":199,"children":201},{"className":200},[],[202],{"type":45,"value":203},"rules\u002Fmaterialized-views.md",{"type":40,"tag":74,"props":205,"children":206},{},[207],{"type":40,"tag":54,"props":208,"children":210},{"className":209},[],[211],{"type":45,"value":212},"rules\u002Fcopy-sink-pipes.md",{"type":40,"tag":74,"props":214,"children":215},{},[216],{"type":40,"tag":54,"props":217,"children":219},{"className":218},[],[220],{"type":45,"value":221},"rules\u002Ftokens.md",{"type":40,"tag":63,"props":223,"children":225},{"id":224},"quick-reference",[226],{"type":45,"value":227},"Quick Reference",{"type":40,"tag":70,"props":229,"children":230},{},[231,242,253,274,287,300,311],{"type":40,"tag":74,"props":232,"children":233},{},[234,236],{"type":45,"value":235},"Install: ",{"type":40,"tag":54,"props":237,"children":239},{"className":238},[],[240],{"type":45,"value":241},"npm install @tinybirdco\u002Fsdk",{"type":40,"tag":74,"props":243,"children":244},{},[245,247],{"type":45,"value":246},"Initialize: ",{"type":40,"tag":54,"props":248,"children":250},{"className":249},[],[251],{"type":45,"value":252},"npx tinybird init",{"type":40,"tag":74,"props":254,"children":255},{},[256,258,264,266,272],{"type":45,"value":257},"Dev mode: ",{"type":40,"tag":54,"props":259,"children":261},{"className":260},[],[262],{"type":45,"value":263},"tinybird dev",{"type":45,"value":265}," (uses configured ",{"type":40,"tag":54,"props":267,"children":269},{"className":268},[],[270],{"type":45,"value":271},"devMode",{"type":45,"value":273},", typically branch)",{"type":40,"tag":74,"props":275,"children":276},{},[277,279,285],{"type":45,"value":278},"Build: ",{"type":40,"tag":54,"props":280,"children":282},{"className":281},[],[283],{"type":45,"value":284},"tinybird build",{"type":45,"value":286}," (builds against configured dev target)",{"type":40,"tag":74,"props":288,"children":289},{},[290,292,298],{"type":45,"value":291},"Deploy: ",{"type":40,"tag":54,"props":293,"children":295},{"className":294},[],[296],{"type":45,"value":297},"tinybird deploy",{"type":45,"value":299}," (deploys to main\u002Fproduction)",{"type":40,"tag":74,"props":301,"children":302},{},[303,305],{"type":45,"value":304},"Preview in CI: ",{"type":40,"tag":54,"props":306,"children":308},{"className":307},[],[309],{"type":45,"value":310},"tinybird preview",{"type":40,"tag":74,"props":312,"children":313},{},[314],{"type":45,"value":315},"Server-side only; never expose tokens in browsers",{"items":317,"total":369},[318,332,349,362],{"slug":8,"name":8,"fn":319,"description":320,"org":321,"tags":322,"stars":24,"repoUrl":25,"updatedAt":331},"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},[323,324,327,330],{"name":22,"slug":23,"type":16},{"name":325,"slug":326,"type":16},"Real-time","real-time",{"name":328,"slug":329,"type":16},"SQL","sql",{"name":9,"slug":8,"type":16},"2026-04-06T18:54:29.196793",{"slug":333,"name":333,"fn":334,"description":335,"org":336,"tags":337,"stars":24,"repoUrl":25,"updatedAt":348},"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},[338,341,344,347],{"name":339,"slug":340,"type":16},"CLI","cli",{"name":342,"slug":343,"type":16},"Data Engineering","data-engineering",{"name":345,"slug":346,"type":16},"Operations","operations",{"name":9,"slug":8,"type":16},"2026-04-06T18:54:30.428581",{"slug":350,"name":350,"fn":351,"description":352,"org":353,"tags":354,"stars":24,"repoUrl":25,"updatedAt":361},"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},[355,356,357,360],{"name":22,"slug":23,"type":16},{"name":18,"slug":19,"type":16},{"name":358,"slug":359,"type":16},"Python","python",{"name":9,"slug":8,"type":16},"2026-04-06T18:54:31.743581",{"slug":4,"name":4,"fn":5,"description":6,"org":363,"tags":364,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[365,366,367,368],{"name":22,"slug":23,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":14,"slug":15,"type":16},4,{"items":371,"total":369},[372,379,386,393],{"slug":8,"name":8,"fn":319,"description":320,"org":373,"tags":374,"stars":24,"repoUrl":25,"updatedAt":331},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[375,376,377,378],{"name":22,"slug":23,"type":16},{"name":325,"slug":326,"type":16},{"name":328,"slug":329,"type":16},{"name":9,"slug":8,"type":16},{"slug":333,"name":333,"fn":334,"description":335,"org":380,"tags":381,"stars":24,"repoUrl":25,"updatedAt":348},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[382,383,384,385],{"name":339,"slug":340,"type":16},{"name":342,"slug":343,"type":16},{"name":345,"slug":346,"type":16},{"name":9,"slug":8,"type":16},{"slug":350,"name":350,"fn":351,"description":352,"org":387,"tags":388,"stars":24,"repoUrl":25,"updatedAt":361},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[389,390,391,392],{"name":22,"slug":23,"type":16},{"name":18,"slug":19,"type":16},{"name":358,"slug":359,"type":16},{"name":9,"slug":8,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":394,"tags":395,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[396,397,398,399],{"name":22,"slug":23,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":14,"slug":15,"type":16}]