レジストリの使い方
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}.json1. 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-form2. または直接 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-brand1 行で コピーしたブロックも一緒に再テーマされます。
利用可能なブロックは ブロック一覧 を参照してください。