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.
Your key installs widgets for as long as its update window is open — twelve months from purchase on Indie, and while the subscription is active on Product and Business. After that the CLI stops pulling new or updated widgets and returns a 401; everything already in your repo keeps working and stays yours to ship. See the license.
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.