Bklit Ship
bklit-ui monorepo contributors only — ship a chart or component from Studio prototype to production in packages/ui with docs and registry.
- Skill ID
- bklit/bklit-ui/bklit-ship
- Publisher
- bklit
- Repository
- bklit-ui
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
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-uiand 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 underapps/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
exportsinpackage.jsonfor 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 inpackages/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.mdxforGrid 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.tsand register examples inapps/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>.mdxwith 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 defaultspackages/studio/src/lib/registry-control-groups.ts— control groupspackages/studio/src/lib/registry.tsx— render preview +generateCodepackages/studio/src/lib/studio-components.ts— layer tree- Chart-type defaults in
packages/studio/src/components/studio-state-provider.tsxwhen switching chart type
4. Rebuild the shadcn registry
- From the repo root: run
pnpm registry:build. - This updates
apps/web/public/r/frompackages/ui. Ensure new components are listed inpackages/ui/registry.jsonwhen 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 4Fix 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/uiand 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), andpnpm buildpass
File reference (quick lookup)
| Step | Location |
|---|---|
| Chart exports | packages/ui/src/charts/index.ts |
| Chart slugs | apps/web/components/charts/chart-slugs.ts |
| Chart examples (nav + registry) | apps/web/components/charts/chart-examples.tsx |
| Component docs | apps/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 nav | apps/web/components/docs/site-header.tsx → components array |
| Studio registry | packages/studio/src/lib/registry.tsx |
| Studio components tree | packages/studio/src/lib/studio-components.ts |
| Studio controls | packages/studio/src/lib/registry-control-groups.ts |
| Studio URL state | packages/studio/src/lib/studio-parsers.ts |
| Registry (source) | packages/ui/registry.json; build output: apps/web/public/r/ |
| Registry build | From root: pnpm registry:build |
More from bklit
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.
