i-Willink
ドキュメントメニュー

レジストリの使い方

willink design system は 2 つの配布チャネルを持ちます。npm パッケージ (@willink-labs/*)は import して使うバージョン管理された契約レイヤー@willink レジストリは copy-to-own のブロック/合成物です(ADR-0020)。レジストリ項目は shadcn 互換で、あなたのリポジトリにソースごとコピーされます。

レジストリ URL

レジストリは GitHub Pages で配信されています(Storybook カタログと同じ Pages サイト)。npx shadcn はこの URL から 項目 JSON を取得します。

registry url
https://willink-oss.github.io/willink-design-system/r/{name}.json

1. namespace を登録(推奨)

consumer の components.json @willink を登録すると、 以降はショートハンド(@willink/<item>)で追加できます。

jsoncomponents.json
// components.json — @willink namespace を登録
{
  "registries": {
    "@willink": "https://willink-oss.github.io/willink-design-system/r/{name}.json"
  }
}
bash
# 登録後はショートハンドで追加
npx shadcn add @willink/contact-form

2. または直接 URL で追加

namespace を登録せず、項目 JSON の URL を直接渡すこともできます。単発で 1 ブロックだけ 試すときに便利です。

bash
# あるいは直接 URL で(components.json 設定不要)
npx shadcn add https://willink-oss.github.io/willink-design-system/r/contact-form.json

何がコピーされるか

  • ブロックのソース(.tsx)があなたのリポジトリにコピーされる — マークアップは編集してよい「あなたのコード」になります。
  • registryDependencies は npm primitives(FormField / Button 等)を指すので、 primitives は再ベンダリングされず npm から入ります。
  • テーマは @willink-labs/tailwind-preset 依存から継承されます — consumer の --color-brand 1 行で コピーしたブロックも一緒に再テーマされます。

利用可能なブロックは ブロック一覧 を参照してください。