Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6,791 Commits

Repository files navigation

Rill logo

Agent-first, human-friendly business intelligence

GitHub licenseGitHub tag (latest SemVer)GitHub commit activityGitHub contributorsGitHub downloadsCI/CD

Docs · Data Talks


Rill dashboard

Rill is the fastest BI tool for humans and agents, powered by OLAP engines like ClickHouse and DuckDB.

Get Started

curl https://rill.sh | sh # install
rill start my-project # create a project and open the UI

Scaffold a project with agent context

Use rill init to scaffold a project interactively:

➜ rill init
? Project name my-rill-project
? OLAP engine duckdb
? Agent instructions claude
Created a new Rill project at ~/my-rill-project
Added Claude instructions in .claude and .mcp.json
Success! Run the following command to start the project:
rill start my-rill-project

Why Rill?

  • Build with agents — BI-as-code (YAML + SQL) means coding agents like Claude Code and Cursor can author projects, dashboards, and security policies end-to-end
  • Semantic layer — Single source of truth for dimensions, measures, and time grains — defined in YAML, generating SQL at query time against your OLAP engine
  • Explore with agents — Conversational BI lets business users query metrics in natural language; the MCP server connects AI agents directly to your semantic layer
  • Real-time performance — Sub-second queries at any scale; ClickHouse for billions of rows, DuckDB for smaller datasets and fast iteration
  • Embeddable — Dashboards, APIs, and agent interfaces you can ship in your product

Capabilities

Rill Developer (local)

  • Connectors — S3, GCS, databases, and 20+ sources
  • OLAP Engines — Managed ClickHouse or DuckDB included, or connect an external engine (ClickHouse Cloud, Druid, Pinot, MotherDuck)
  • SQL Models — Transform raw data with SQL, join models together
  • Data Profiling — Instant column stats and distributions
  • Incremental Ingestion — Load only new data on each run to keep large datasets current without full refreshes
  • Semantic Layer — Dimensions, measures, and time grains in YAML
  • Row Access Policies — Per-user, per-group data access control
  • Local Dashboards — Preview and explore dashboards locally

Rill Cloud

How It Works

Define everything in code — models, metrics, dashboards — and Rill handles the rest.

1. Connect datamodels/events.yaml

type: modelconnector: duckdbmaterialize: truesql: | select * from read_parquet('gs://rilldata-public/auction_data.parquet')

2. Define metricsmetrics/events_metrics.yaml

version: 1type: metrics_viewmodel: eventstimeseries: timestampdimensions:
- name: countrycolumn: country
- name: devicecolumn: device_typemeasures:
- name: total_eventsexpression: count(*)
- name: revenueexpression: sum(price * quantity)description: Total revenue

3. Create a dashboarddashboards/events_explore.yaml

type: exploredisplay_name: "Events Dashboard"metrics_view: events_metricsdimensions: "*"measures: "*"

4. Deploy

rill deploy # push to Rill Cloud

Your metrics view is immediately queryable on Rill Cloud — add YAML files to configure dashboards, alerts, and custom APIs.

Learn More

Getting Started with Rill DeveloperExploring Data with RillData Talks on the RocksAgentic Analytics with Claude Code and Rill

Examples

ExampleDescriptionLinks
Programmatic AdsBidstream data for pricing and campaign performanceGitHub · Demo
Cost MonitoringCloud infra merged with customer dataGitHub · Demo
GitHub AnalyticsContributor activity and commit patternsGitHub · Demo

Or explore a live embedded dashboard.

Community

DiscordTwitterGitHub Discussions

Contributing

We welcome contributions! See our Contributing Guide to get started.

About

The fastest business intelligence tool for humans and agents.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages