Overview
Getting started
Charcoal ships in two halves: installable packages for the stable foundation, and a copy-in registry for the fast-evolving AI layers.
1. Install the foundations
Tokens and foundation components come from npm.
npm install @charcoal/core @charcoal/tokens
2. Load the tokens once
Import the token variables and the component styles at your app root. Everything resolves from --ch-* CSS custom properties, so theming happens at the token layer.
import "@charcoal/tokens/css";
import "@charcoal/core/styles.css";
3. Use foundation components
import { Button, Card, Badge } from "@charcoal/core";
export function Toolbar() {
return (
<Card>
<Badge variant="primary" dot>Agent</Badge>
<Button variant="primary">Approve run</Button>
</Card>
);
}
4. Add AI, agentic, and generative components
These are distributed copy-in. The CLI writes the source straight into your repo so you own and adapt it. Each component reads the same Charcoal tokens.
npx shadcn add https://charcoal.nickcoma.io/r/approval-gate.json
npx shadcn add https://charcoal.nickcoma.io/r/reasoning-trace.json
Browse everything in the full catalog. Each registry component lists its exact install command.