Bklit Ship

bklit/bklit-ui/.agents/skills/bklit-ship

作者 bklit5d699897b2dde26374cf15501dbaadbc52cea982無授權條款1.7K 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫13 天前更新

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

AI 產生的概覽

指導 bklit-ui 單體倉庫貢獻者將 Studio 中的圖表或元件發佈到 packages/ui 正式環境。

功能
提供一份依序執行的檢查清單,用於把在 Studio 中驗證過的圖表或元件移轉到 bklit-ui 的正式 UI 套件。內容涵蓋從 packages/ui 匯出、更新 apps/web 底下的文件與範例展示、接入 Studio 控制項、重建 shadcn registry、執行 lint、format、test 和 build,以及發起拉取請求。此外還包含 PR 檢查清單和檔案位置速查表。
適用情境
當你身為 bklit/bklit-ui 倉庫貢獻者,擁有已在 Studio 中驗證過的圖表或元件原型並準備發佈時使用。它面向從鷹架階段過渡到永久、有文件且已發佈的元件。
執行需求
需要已安裝 pnpm 及其相依套件的 bklit-ui 倉庫,以及用於提交、推送和發起拉取請求的倉庫存取權限。此技能不附帶指令碼,僅為說明文件。

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:

bash
pnpm lintpnpm formatpnpm --filter @bklitui/ui test   # when package logic changedpnpm buildpnpm 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

來源與署名

來源:bklit/bklit-ui位於.agents/skills/bklit-ship提交5d69989

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架