Docs
Install
Sextant is a shadcn/ui registry. Widgets install with the standard shadcn CLI — the file is copied into your project and inherits your existing theme tokens. Requires the shadcn CLI 4.x and a configured shadcn project (a components.json at the repo root).
Option A — Install by URL (zero config)
The fastest way to try a free widget. Pass the registry URL directly — no setup, nothing to add to components.json:
npx shadcn add https://sextant.sh/r/chart-anomaly-timeseries.jsonWorks for any free-tier widget. Paid widgets return 401 over this form — use Option B with a license key.
Option B — Register the @sextant namespace (recommended)
Add the namespace once and every widget installs with the short form npx shadcn add @sextant/<slug>. Add a registries block to your components.json:
{
"$schema": "https://ui.shadcn.com/schema.json",
"registries": {
"@sextant": "https://sextant.sh/r/{name}.json"
}
}Then install any free widget by slug:
npx shadcn add @sextant/chart-anomaly-timeseriesPaid widgets — add your license key
Paid widgets are authenticated. After purchasing a license, use the object form of the registry entry so the CLI sends your key as a bearer token:
{
"registries": {
"@sextant": {
"url": "https://sextant.sh/r/{name}.json",
"headers": {
"Authorization": "Bearer ${SEXTANT_LICENSE_KEY}"
}
}
}
}Set the key in your shell or a .env the CLI can read — never commit it:
export SEXTANT_LICENSE_KEY="lic_xxx"The ${SEXTANT_LICENSE_KEY} placeholder is expanded by the shadcn CLI at install time, so the key stays out of your committed config.
For AI coding agents
Sextant ships an MCP server (sextant_search, sextant_inspect, sextant_infer, sextant_bind) and serves /llms.txt and /llms-full.txt so an agent can search the catalog, read a widget’s Zod data contract, bind your data, and emit a ready-to-paste install command.
Stuck? Browse the full catalog — every widget page shows its exact install command.