Config File Formats
The SDK supports multiple config file formats, checked in this priority order:tinybird.config.mjs
ESM JavaScript config with dynamic logic
tinybird.config.cjs
CommonJS JavaScript config with dynamic logic
tinybird.config.json
Standard JSON config (default for new projects)
tinybird.json
Legacy JSON config (backward compatible)
JSON Configuration
The default format for new projects. Create atinybird.config.json in your project root:
JavaScript Configuration
For projects needing dynamic configuration or runtime logic, use.mjs or .cjs files:
tinybird.config.mjs
tinybird.config.cjs
Configuration Options
include
Type:string[] (required)
Array of file paths or glob patterns to scan for datasources, pipes, and other Tinybird resources.
Supports:
- Direct file paths:
"src/tinybird/datasources.ts" - Glob patterns:
"src/tinybird/**/*.ts" - TypeScript files:
.ts - Legacy datafiles:
.datasource,.pipe,.connection
You can mix TypeScript files with raw
.datasource and .pipe files for incremental migration from legacy Tinybird projects.token
Type:string (required)
Your Tinybird API token. Supports environment variable interpolation using ${VAR_NAME} syntax.
baseUrl
Type:stringDefault:
"https://api.tinybird.co"
Tinybird API base URL. Use the appropriate URL for your region:
| Region | Base URL |
|---|---|
| EU (default) | https://api.tinybird.co |
| US East | https://api.us-east.tinybird.co |
| GCP Europe West 2 | https://api.europe-west2.gcp.tinybird.co |
devMode
Type:"branch" | "local"Default:
"branch"
Development mode for the SDK:
"branch": Uses Tinybird cloud with branch-based development"local": Uses local Docker container for offline development
Complete Example
A full configuration with all options:tinybird.config.json
TypeScript Type Support
JavaScript config files support TypeScript type checking via JSDoc:tinybird.config.mjs
Finding Config Files
The SDK walks up the directory tree from your current working directory to find the first matching config file. This allows you to run commands from subdirectories.Initializing Configuration
Create a new configuration file with:tinybird.config.json and sets up your project structure.