tremor-design-system
0
总安装量
2
周安装量
安装命令
npx skills add https://github.com/dodatech/approved-skills --skill tremor-design-system
Agent 安装分布
claude-code
2
amp
1
opencode
1
kimi-cli
1
codex
1
github-copilot
1
Skill 文档
Tremor Design System
Build production-grade dashboards and analytics interfaces using Tremor’s React component library.
Version Detection
Tremor has two distribution models. Detect which the user’s project uses before writing code:
-
Tremor Raw (tremor.so) â Copy-and-paste components into
src/components/- Imports:
import { AreaChart } from "@/components/AreaChart" - Requires: Tailwind CSS v4+, Radix UI, Recharts
- Styling: Standard Tailwind utility classes
- Imports:
-
Tremor NPM (npm.tremor.so) â NPM package
@tremor/react- Imports:
import { AreaChart, Card } from "@tremor/react" - Requires: Tailwind CSS v3.4+, Headless UI, Remix Icons
- Styling: Tremor-specific tokens (
text-tremor-content,dark:text-dark-tremor-content)
- Imports:
If unclear, ask the user. Default to Tremor Raw for new projects, as it is the actively developed version (acquired by Vercel in Jan 2025).
Workflow
- Determine version â Check imports,
package.json, or ask - Identify pattern â See references/dashboard-patterns.md for common layouts (KPI rows, chart sections, filtered tables, full dashboards)
- Select components â See references/component-catalog.md for the full component API
- Compose â Assemble using the patterns below
- Style â Apply Tailwind utilities consistent with the detected version
Key Principles
- Card is the atom: Almost every dashboard section wraps in
<Card>. KPIs, charts, tables, and forms all sit inside cards. - Grid layout: Use Tailwind grid (
grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6) for responsive dashboard layouts. Never hardcode widths. - Data shape convention: All chart components expect an array of objects. The
indexprop selects the x-axis key;categoriesselects the data series. - valueFormatter: Always provide a
valueFormatterfor charts displaying currency, percentages, or units. UseIntl.NumberFormatfor numbers. - Dark mode: All components support dark mode. For Tremor Raw, use standard
dark:prefixes. For NPM, usedark-tremor-*tokens. - “use client”: Chart components use browser APIs (Recharts). In Next.js App Router, mark pages or components containing charts with
"use client".
Common Data Shape
// All charts expect this pattern
const chartdata = [
{ date: "Jan 23", Revenue: 2890, Costs: 2338 },
{ date: "Feb 23", Revenue: 2756, Costs: 2103 },
// ...
]
// index="date" â x-axis
// categories={["Revenue", "Costs"]} â data series
Quick Reference: Chart Selection
| Use Case | Component |
|---|---|
| Trends over time | AreaChart or LineChart |
| Category comparison | BarChart |
| Part-of-whole | DonutChart |
| Rankings | BarList |
| Budget/threshold | CategoryBar |
| Combined metrics | ComboChart (bar + line) |
| Inline sparkline | SparkAreaChart, SparkLineChart, SparkBarChart |
| Progress toward goal | ProgressBar, ProgressCircle |
| Uptime/status history | Tracker |
Formatting Conventions
- Use
Intl.NumberFormat("us")for US number formatting - Currency:
(n) => \$${Intl.NumberFormat(“us”).format(n)}“ - Percentage:
(n) => \${n}%“ - Compact:
(n) => \${Intl.NumberFormat(“us”, { notation: “compact” }).format(n)}“
References
- Full component API and props: references/component-catalog.md
- Dashboard composition patterns: references/dashboard-patterns.md