Labsco
meal-inc logo

Bonnard

β˜… 48

from meal-inc

Ultra-fast to deploy agentic-first mcp-ready semantic layer. Let your data be like water.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup

[!IMPORTANT] This repository is archived and no longer maintained. It was part of an earlier version of Bonnard. Our current products live at bonnard.dev. Start with @bonnard/mcp-charts. Questions: pierre@bonnard.dev

<p align="center"> <a href="https://www.bonnard.dev"> <picture> <source media="(prefers-color-scheme: dark)" srcset="./assets/banner-dark.png" /> <source media="(prefers-color-scheme: light)" srcset="./assets/banner-light.png" /> <img alt="Bonnard: agent-native analytics. One schema, many surfaces." src="./assets/banner-light.png" width="100%" /> </picture> </a> </p> <p align="center"> <strong>Agent-native analytics. One schema, many surfaces.</strong> </p> <p align="center"> <a href="https://www.npmjs.com/package/@bonnard/cli"><img src="https://img.shields.io/npm/v/@bonnard/cli?style=flat-square&color=0891b2" alt="npm version" /></a> <a href="https://github.com/bonnard-data/bonnard-cli/blob/main/LICENSE"><img src="https://img.shields.io/github/license/bonnard-data/bonnard-cli?style=flat-square" alt="MIT License" /></a> <a href="https://discord.com/invite/RQuvjGRz"><img src="https://img.shields.io/badge/Discord-Join%20us-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord" /></a> </p> <p align="center"> <a href="https://docs.bonnard.dev/docs/">Docs</a> &middot; <a href="https://docs.bonnard.dev/docs/getting-started">Getting Started</a> &middot; <a href="https://docs.bonnard.dev/docs/changelog">Changelog</a> &middot; <a href="https://discord.com/invite/RQuvjGRz">Discord</a> &middot; <a href="https://www.bonnard.dev">Website</a> </p>

BI tools serve one UI. Bonnard serves everything. Agents over MCP, apps over SDK, dashboards in markdown, internal tools via REST. One set of metric definitions, every consumer gets the same governed answer.

<p align="center"> <img src="./assets/architecture.png" alt="Bonnard architecture -data sources flow through the semantic layer to AI agents, BI tools, and MCP clients" width="100%" /> </p>

Why Bonnard?

Traditional semantic layers were built for dashboards and retrofitted for AI. Agents get different answers than dashboards, metrics drift across tools, and every new surface means another integration. Bonnard was built agent-native from day one. MCP is a core feature, not a plugin. One CLI, one schema, every consumer gets the same governed answer.

What You Get

  • Agent context out of the box. bon init generates rules and skills for Claude Code, Cursor, and Codex so agents understand your semantic layer from the first prompt.
  • MCP server for governed agent queries. Set up with bon mcp, test with bon mcp test.
  • Markdown dashboards with BigValue, LineChart, BarChart, AreaChart, PieChart, and DataTable components. Preview locally with bon dashboard dev, deploy with bon dashboard deploy.
  • JSON and SQL querying from the terminal via bon query and bon schema, or programmatically via the REST API.
  • Deployment versioning with change tracking (bon diff), annotations (bon annotate), and full history (bon deployments).
  • CI/CD support. Run bon deploy --ci -m "message" for non-interactive pipelines.

Supported Data Sources

Warehouses: Snowflake (including Snowpark), Google BigQuery, Databricks (SQL warehouses and Unity Catalog), PostgreSQL (including Supabase, Neon, and RDS), Amazon Redshift, DuckDB (including MotherDuck)

Data tools: dbt (model and profile import), Dagster, Prefect, Airflow (orchestration), Looker, Cube, Evidence (existing BI layers), SQLMesh, Soda, Great Expectations (data quality)

Bonnard auto-detects your warehouses and data tools. Point it at your project and it discovers schemas, tables, and relationships.

Ecosystem

  • @bonnard/sdk: query the semantic layer from any JavaScript or TypeScript application
  • @bonnard/react: React chart components and a markdown dashboard viewer

Commands

CommandDescription
bon initScaffold a new project with agent configs
bon datasource addConnect a data source (or --demo for sample data)
bon validateValidate YAML syntax locally
bon deploy -m "message"Deploy to production
bon pullDownload deployed models to local project
bon queryRun queries (JSON or SQL)
bon schemaExplore deployed measures, dimensions, and views
bon dashboard devPreview a markdown dashboard locally
bon dashboard deployDeploy a dashboard
bon mcpMCP server setup instructions
bon keys createCreate a publishable or secret API key
bon docsBrowse documentation from the CLI

See the full CLI reference for all commands and flags.

Documentation

GuideDescription
Getting StartedFrom zero to deployed in minutes
CLI ReferenceEvery command, flag, and option
Modeling GuideCubes, views, metrics, and dimensions
DashboardsMarkdown dashboards with charts, inputs, and theming
SDKTypeScript SDK and React components
QueryingJSON and SQL query syntax
ChangelogWhat shipped and when

Community

Contributions are welcome. If you find a bug or have an idea, open an issue or submit a pull request.