Your entire analytics experience, in one repo
Components, data models, dashboards and themes, in code you can version, review, customize - and hand to an agent.
Sets up the repo and connects your workspace - or grab it on GitHub.
Everything that shapes the experience, in one place
The boilerplate arrives ready to push: a production component library, sample data models and dashboards, a working theme - and the agent skills to change all of it.
The Remarkable Pro library
Our production-ready component suite - charts, tables, KPIs, controls - ships ready to use, and your own React components live right beside it.
Data models that govern access
Cube-based models define each metric once and carry row-level security - so every dashboard and AI answer agrees.
Dashboards as code
Whole dashboards defined in .embeddable.yml files - reviewed in pull requests, hot-reloaded locally, versioned on every push.
Themes, plural
embeddable.theme.ts styles everything: brand colors, fonts, translations. Keep one theme, add dark mode, or ship one per customer.
Skills for your agents
Claude skills for components, models, dashboards and theming ship in the repo. Claude Code finds them automatically; Cursor and Codex can use them too.
The SDK workflow
embeddable:dev previews changes live as you code; embeddable:push ships a versioned bundle to your workspace when you say so.
Customize what other platforms hard-code
Defaults in Embeddable are starting points, not limits. The details that usually mean a feature request - export menus, date ranges - are arrays in your theme: filter them, reorder them, extend them.
Export options
Every chart’s export menu is theme.defaults.chartMenuOptions - a plain array. Drop XLSX, rewire CSV to export all rows from your own endpoint, or add options Embeddable never shipped.
Date ranges
Relative ranges are theme.defaults.dateRangesOptions. Rename them, change how a range is calculated - fiscal calendars included - or add the ones your customers keep asking for.
The same override pattern covers chart colors, number formats, comparison ranges and translations - see theming in the docs.
Agents do real work here
Your analytics are code in a repo - the surface agents are best at. So changes you used to file as feature requests become prompts.
Skills included
The repo ships Claude skills for components, data models, dashboards and theming. Claude Code discovers them automatically - and they’re plain markdown, so Cursor and Codex can follow the same playbook.
Reuse-first, on brand
Generated components build on Remarkable Pro instead of reinventing it - so they inherit your theme, formatting and translations for free.
Theme from a screenshot
The theming skill turns your brand - a screenshot, your website, a Figma export - into working light and dark themes, mapped onto the design tokens.
Preview, then review
A local sandbox renders new components with mock data - no account or API key needed. Everything lands as an ordinary diff, for an ordinary code review.
Set up in minutes, ship like software
From the first command it's the workflow your team already trusts: branch, review, merge, push.
- 01
$ npx @embeddable.com/initScaffold
One command sets up the boilerplate and connects it to your Embeddable workspace.
- 02
$ npm run embeddable:devIterate
A live local preview of your components, models and dashboards as you edit - hot reload included.
- 03
$ npm run embeddable:pushShip
Push a versioned bundle, then publish it to dev, staging or production from your workspace.
Your analytics get the same guarantees as the rest of your codebase: version history, pull requests, CI, rollbacks.
Set up the repo today
Everything on this page ships in the boilerplate: the component library, sample models and dashboards, a working theme, and the agent skills. You can make your first push in minutes.
Follow the quick-start guide · See the product in action first