bonnard-build-dashboard

A guided process for creating and deploying dashboards written in Markdown, a plain-text document format, with built-in charts. Dashboards present queried data through values, charts, and interactive filters.

In plain words
What is it for?
Use it to inspect the available data, choose measures and dimensions, create charts such as line or bar charts, add filters, and deploy the dashboard.
Why use it?
It helps turn available data measures into a structured dashboard instead of leaving results as raw queries or tables.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/bonnard-data/bonnard-cli/bonnard-build-dashboard
Clone the repo
git clone --depth 1 https://github.com/bonnard-data/bonnard-cli
Per session 39 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,220 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00039 $0.01220
Opus 5 $0.00019 $0.00610
Sonnet 5 $0.00008 $0.00244
Haiku 4.5 $0.00004 $0.00122

Measured yesterday against content hash 272669b12485, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

bonnard-build-dashboard scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/templates/cursor/rules/bonnard-build-dashboard.mdc · 172 lines

How it starts

The opening of the file, as written. The whole thing — 172 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Build & Deploy a Markdown Dashboard

This guide walks through creating a markdown dashboard with built-in chart components and deploying it to Bonnard.

Phase 1: Explore Available Data

Discover what measures and dimensions are available to query:

# List all views and their fields
bon schema

# Inspect a specific view's measures and dimensions
bon schema <view_name>

# Query a specific view to see what data looks like
bon query '{"measures": ["view_name.measure"], "dimensions": ["view_name.dimension"], "limit": 5}'

# Or use SQL format
bon query --sql "SELECT MEASURE(total_revenue), date FROM sales_performance LIMIT 5"

Ask the user what data they want to visualize. Match their request to available views and measures.

Phase 2: Learn the Format

Review the dashboard format docs for reference:

bon docs dashboards              # Overview + format
bon docs dashboards.components   # Chart components (BigValue, LineChart, BarChart, etc.)
bon docs dashboards.queries      # Query block syntax
bon docs dashboards.inputs       # Interactive filters (DateRange, Dropdown)
bon docs dashboards.examples     # Complete examples

Phase 3: Build the Markdown File

Create a .md file with three parts:

  1. YAML frontmatter — title and optional description
  2. Query blocks```query name code fences with YAML query options
  3. Components<BigValue />, <LineChart />, <BarChart />, etc.

Key points:

  • All field names must be fully qualified: orders.total_revenue, not total_revenue
  • Each component references a query by name: data={query_name}
  • Consecutive <BigValue> components auto-group into a row
  • Use <Grid cols="2"> to place charts side by side
  • Use <DateRange> and <Dropdown> for interactive filters
  • BigValue supports comparison prop for ▲/▼ delta indicators (e.g. actual vs target)
  • Charts support y2 for secondary y-axis (combo charts: bars + line, dual scales)
  • For DataTable formatting, use <Column> children instead of the fmt prop (avoids comma ambiguity with Excel format codes):
    <DataTable data={sales}>
      <Column field="orders.total_revenue" header="Revenue" fmt="eur2" />
      <Column field="orders.count" header="Orders" fmt="num0" />
    </DataTable>
    

Read the full file on GitHub · 172 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 172 lines · 39 tokens per session scan A 272669b12485

Subscribe to this mod's changes

bonnard-build-dashboard is a cursor rule published in the GitHub repository bonnard-data/bonnard-cli (50 stars, last pushed 2mo ago), licensed MIT. It adds 39 tokens to every session and 1,220 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.