@arvoretech/pi-design-copilot
PI extension that makes the model much better at Árvore UI work: searchable icon index (find_icon), brand asset registry (find_asset), and a design review that looks at the rendered screen and reports at most three findings — or nothing. Data (icon manife
Package details
Install @arvoretech/pi-design-copilot from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@arvoretech/pi-design-copilot- Package
@arvoretech/pi-design-copilot- Version
0.3.0- Published
- Aug 13, 2026
- Downloads
- 187/mo · 9/wk
- Author
- joao.barros.arvore
- License
- MIT
- Types
- extension
- Size
- 43.3 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./dist/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@arvoretech/pi-design-copilot
Extension do Pi que torna o modelo muito melhor em trabalho de UI da Árvore e do SuperAutor. Quatro capacidades que se reforçam.
Dois design systems, sem mistura. As tools
find_icon/find_assetexigem o parâmetrodesignSystem: 'bonsai' | 'superautor'. Cada valor resolve um registry separado — uma tela Bonsai (Árvore) nunca recebe asset/ícone do SuperAutor e vice-versa.
| designSystem | Projeto | Ícones | Assets |
|---|---|---|---|
bonsai |
Árvore (frontend-arvore-nextjs) | React, @/components/icons |
design/design-system/assets |
superautor |
SuperAutor (superautor-sistema) | Rails SVG, render_svg 'icones/...' |
design/superautor-design-system/assets |
1. find_icon — índice pesquisável de ícones
Busca por conceito (PT ou EN) no design system indicado e devolve o nome exato + snippet de uso pronto.
find_icon({ designSystem: "bonsai", concept: "adicionar aluno" })
→ AddIcon, ... + import { AddIcon } from '@/components/icons'
find_icon({ designSystem: "superautor", concept: "troféu" })
→ trophy + <%= render_svg 'icones/trophy' %>
Os dados vivem no workspace consumidor, não neste pacote OSS. A tool resolve o manifest:
- Env var (
ARVORE_ICONS_MANIFESTpara bonsai,SUPERAUTOR_ICONS_MANIFESTpara superautor) — override explícito. - Fallback: sobe a árvore de diretórios procurando
design/design-system/icons.manifest.json(bonsai) oudesign/superautor-design-system/icons.manifest.json(superautor).
No arvore-hub os manifests são gerados por scripts e commitados. Assim o pacote publicado não carrega dados proprietários.
2. find_asset — registry de assets de marca
Busca no registry curado do design system indicado por intenção. Quando existe thumbnail local leve, devolve o path para o modelo ver a imagem com a tool read; senão devolve source_url + descrição.
find_asset({ designSystem: "bonsai", intent: "otto celebração" })
find_asset({ designSystem: "superautor", intent: "sticker campeão" })
Resolução análoga à dos ícones (env ARVORE_ASSETS_MANIFEST / SUPERAUTOR_ASSETS_MANIFEST, ou walk-up).
3. /design-review — segunda vista sobre a tela
Olha a tela alterada e devolve no máximo 3 achados — ou nada, quando não há o que apontar. Infere a intenção da conversa em vez de pedir formulário, e nunca reporta item mecânico (hex cru, lucide-react, emoji, h-screen): isso é lint.
O protocolo não vive aqui: a extensão resolve design/design-review.md no workspace por walk-up e manda o modelo segui-lo, preferindo um sub-agent de contexto fresco. Não achou o arquivo, ela diz para atualizar o arvore-hub em vez de improvisar. Assim a política muda com um commit no hub, sem republicar o pacote.
O acionamento é manual; o gatilho automático fica na abertura do PR, e sempre pergunta antes de rodar.
Instalação
Adicionar em .pi/settings.json (workspace arvore-hub):
"npm:@arvoretech/pi-design-copilot"
Requer publicação prévia no registry interno (pnpm publish no pacote) ou referência local durante desenvolvimento.