bklit/bklit-ui1 file

Bklit Ship

bklit-ui monorepo contributors only — ship a chart or component from Studio prototype to production in packages/ui with docs and registry.

Specification
Skill ID
bklit/bklit-ui/bklit-ship
Publisher
bklit
Repository
bklit-ui
Installs
0
Files
1
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

bklit/bklit-ui/bklit-shipInstalls these files
  • SKILL.md

What this skill tells the agent

Bklit Ship Skill

This skill is for bklit-ui monorepo contributors taking a chart or component validated in Studio into production: published in the UI package, documented, and ready for users.

When to use this skill

  • You cloned bklit/bklit-ui and have a working prototype validated in Studio (/studio) and want to ship it.
  • You are ready to move from "scaffolding" to "permanent": the API and key props/variants are decided from the prototyping phase.

Plan: Prototype → Production

Follow these steps in order. Treat this as a checklist; each step has concrete locations in the repo.

1. Move into the UI package and export

  • Move or finalize chart/component source in packages/ui/ (e.g. packages/ui/src/charts/ for charts). Prototypes should already live here if you followed bklit-studio; remove any leftover copies under apps/web/components/playground/ if present.
  • Export the new chart/component from the package’s public API:
  • For charts: add exports in packages/ui/src/charts/index.ts.
  • If the package uses exports in package.json for specific entry points, add or update the relevant entry so the new component is importable as @bklitui/ui/charts (or the appropriate path).
  • Do not add app-only chart copies under apps/web/components/playground/ (deprecated). Studio previews belong in packages/studio.

2. Documentation and examples (apps/web)

Documentation lives under apps/web/. Do all of the following.

  • Update existing component docs when shipping extends an existing chart (new props, subcomponents, or behavior):
  • Add new props to the relevant tables in the parent doc (e.g. line-chart.mdx for Grid highlightRowValues, ChartTooltip indicatorColor).
  • Update related utility docs if needed (e.g. content/docs/utility/grid.mdx, tooltip.mdx).
  • Keep the primary docs preview unchanged — do not swap the standard preview on an existing page for the new variant.
  • Add a short section linking to a dedicated doc page when the feature warrants one (e.g. Profit/Loss → profit-loss-line.mdx).
  • Chart examples (live demos on `/charts/[slug]`)
  • Add examples to the corresponding gallery route (e.g. profit/loss variants under /charts/line-chart, not only a new docs preview).
  • If the feature is a new chart kind, add its slug to apps/web/components/charts/chart-slugs.ts and register examples in apps/web/components/charts/chart-examples.tsx (CHART_NAV_ITEMS / factory registry as appropriate).
  • Reuse or mirror the prop variants you validated in the scaffolding phase.
  • Dedicated doc page (when shipping a new composable or chart kind)
  • Add apps/web/content/docs/components/<name>.mdx with frontmatter, <ComponentPreview>, installation, usage, and props — consistent with existing component docs.
  • Add the slug to apps/web/content/docs/components/meta.json (desktop sidebar).
  • Add an entry to apps/web/components/docs/site-header.tsx (mobile nav).

3. Studio

  • Update the existing studio chart when the feature is a variant of an existing type, or add a new studio chart when it is a distinct kind.
  • Wire all tunable props into studio (if not already done while prototyping):
  • packages/studio/src/lib/studio-parsers.ts — URL state keys and defaults
  • packages/studio/src/lib/registry-control-groups.ts — control groups
  • packages/studio/src/lib/registry.tsx — render preview + generateCode
  • packages/studio/src/lib/studio-components.ts — layer tree
  • Chart-type defaults in packages/studio/src/components/studio-state-provider.tsx when switching chart type

4. Rebuild the shadcn registry

  • From the repo root: run pnpm registry:build.
  • This updates apps/web/public/r/ from packages/ui. Ensure new components are listed in packages/ui/registry.json when they should be installable via shadcn.

5. Lint, format, test, and build

Run from repo root until clean:

pnpm lint
pnpm format
pnpm --filter @bklitui/ui test   # when package logic changed
pnpm build
pnpm registry:build              # if not already run in step 4

Fix all errors; repeat until hooks pass on commit.

6. Commit, push, and open a PR

  • Commit with a short, clear message (e.g. feat(charts): add ProfitLossLine component).
  • Push the branch.
  • Open a PR with the ship checklist filled in (see below).

PR checklist

  • [ ] Chart/component moved to packages/ui and exported
  • [ ] Existing docs updated with new props/features (standard preview unchanged)
  • [ ] Gallery examples on the correct /charts/** route
  • [ ] Dedicated doc page + sidebar + mobile nav (if new composable/chart kind)
  • [ ] Studio chart updated or added with all props in control groups
  • [ ] Registry rebuilt (pnpm registry:build)
  • [ ] pnpm lint, tests (if applicable), and pnpm build pass

File reference (quick lookup)

StepLocation
Chart exportspackages/ui/src/charts/index.ts
Chart slugsapps/web/components/charts/chart-slugs.ts
Chart examples (nav + registry)apps/web/components/charts/chart-examples.tsx
Component docsapps/web/content/docs/components/<name>.mdx
Utility docs (Grid, Tooltip, …)apps/web/content/docs/utility/*.mdx
Sidebar (desktop)apps/web/content/docs/components/meta.json → pages
Mobile navapps/web/components/docs/site-header.tsx → components array
Studio registrypackages/studio/src/lib/registry.tsx
Studio components treepackages/studio/src/lib/studio-components.ts
Studio controlspackages/studio/src/lib/registry-control-groups.ts
Studio URL statepackages/studio/src/lib/studio-parsers.ts
Registry (source)packages/ui/registry.json; build output: apps/web/public/r/
Registry buildFrom root: pnpm registry:build

Use this skill in a project

Open any RiverX project, search the Skills panel for bklit/bklit-ui/bklit-ship, and install it in one click.

Use this skill