@layercontrol/rabbit
v0.3.0
Published
CLI para instalar componentes e blocks do Rabbit Design System.
Readme
@layercontrol/rabbit
CLI de instalação do Rabbit Design System e do Rabbit Blocks.
Por baixo, usa um motor de registry já maduro (o mesmo formato de
registry.json que o Rabbit publica em public/r/) para resolver
dependências, reescrever aliases de import e copiar arquivos — mas nada
disso aparece pro usuário final: nome do comando, help e qualquer texto
impresso no terminal são rebrandeados para "rabbit" em bin/rabbit.js.
Uso
rabbit init inicializa o Rabbit num projeto (Vite, Next, etc.)
rabbit add <nome...> instala componente(s) ou block(s) do Rabbit
rabbit list lista o catálogo do Rabbit
rabbit build gera os arquivos do registry (uso interno, autoria)Nomes soltos em rabbit add (ex. rabbit add auth-login) são resolvidos
contra o registry do Rabbit automaticamente — não precisa colar URL.
Claude Code
rabbit init também escreve um DESIGN.md na raiz do projeto — as
convenções do Rabbit que divergem do shadcn público (base @base-ui/react,
rounded-none, data-icon, etc.), a mesma lista que este repositório mantém
em CONVENCOES.md. Ele é sobrescrito a cada init, então não é lugar para
anotação própria do projeto.
Se o projeto ainda não tem CLAUDE.md, o init cria um só com
@DESIGN.md. Se já existe, ele só adiciona a linha @DESIGN.md no fim (sem
tocar no resto) — o Claude Code resolve o import automaticamente e passa a
codar respeitando as convenções do Rabbit sem precisar de nenhuma skill ou
comando extra.
Testando localmente (sem publicar no npm)
cd cli && npm install
node bin/rabbit.js --helpPara testar contra um registry local em vez do hospedado, aponte a env var:
RABBIT_REGISTRY_URL=http://localhost:8877 node bin/rabbit.js init ...Publicação
Ainda não publicado no npm. Quando for, o pacote deve ir como
@layercontrol/rabbit (o nome rabbit sozinho já está ocupado no
registry público).
