레지스트리 설치

actibooky 컴포넌트는 shadcn 레지스트리로 배포됩니다. 소비 프로젝트에 네임스페이스(@actibooky)를 등록하면 npx shadcn add @actibooky/<name> 한 줄로 소스를 그대로 가져올 수 있습니다(우리 Base UI 버전 + 내부 의존 자동 해석).

전제 조건

  • 소비 프로젝트가 Next.js + Tailwind v4 + shadcn(Base UI) 구성일 것.
  • shadcn CLI 가 네임스페이스 레지스트리를 지원하는 최신 버전일 것 (npx shadcn@latest).
  • actibooky 토큰(globals.css, OKLCH 라이트/다크)이 적용돼 있을 것 - Foundations / DESIGN_RULES.md 참고.

1. components.json 에 레지스트리 등록

소비 프로젝트 루트의 components.jsonregistries 항목을 추가합니다. URL 의 {name} 자리표시자는 shadcn 이 컴포넌트 이름으로 치환합니다.

components.json
{
  "registries": {
    "@actibooky": "https://design.actibooky.com/r/{name}.json"
  }
}

사내망에서 도메인 대신 IP 로 쓰려면 http://192.168.0.18:33301/r/{name}.json 처럼 지정합니다.

2. 컴포넌트 설치

네임스페이스로 추가합니다. 내부 의존(예: AlertDialog → Button → Spinner)은@actibooky/* 로 자동 해석돼 함께 설치됩니다.

npx shadcn@latest add @actibooky/button
npx shadcn@latest add @actibooky/alert-dialog

설치 후 컴포넌트는 소비 프로젝트의 components/ui 에 들어갑니다. 각 컴포넌트별 명령은 해당 컴포넌트 문서 상단에서도 복사할 수 있습니다.

3. 레지스트리 직접 확인

각 항목은 정적 JSON 으로 서빙됩니다(빌드 시 shadcn build 로 생성).

curl https://design.actibooky.com/r/button.json

현재 60 컴포넌트가 등록돼 있습니다. 매니페스트: registry.json, 빌드 산출물: public/r/<name>.json (pnpm registry 로 재생성).

우리 레포에서 레지스트리를 갱신하려면

src/components/ui/*.tsx 를 추가/수정한 뒤 아래를 실행하면 registry.json · 페이지 메타 · public/r/*.json 이 한 번에 재생성됩니다(빌드의 prebuild 에서도 자동 실행).

pnpm registry

내부 의존은 @/components/ui/* import 를 스캔해 자동으로 @actibooky/* registryDependencies 로 기록됩니다.