API Reference
Os componentes ficam em apps/web/src/components/ e são organizados por feature — cada pasta agrupa tudo relacionado a um contexto específico da aplicação.
auth/formulários de login e registro base/wrappers reutilizáveis (Dialog, Dropdown, Table...) breadcrumb/navegação em migalhas categories/CRUD de categorias + tabela chat/painel de IA — mensagens, input, seletor de modelo collections/formulário de criação de coleções dashboard/grid de recursos, cards, dialogs de CRUD docs/componentes exclusivos da documentação kibo-ui/biblioteca de componentes avançados landing/seções da landing page (Hero, FAQ, CTA...) notes/lista de notas, cards, editor, icon picker shared/providers globais (Theme, QueryClient) e utilitários sidebar/sidebar do workspace — nav, user, workspace switcher tiptap-icons/ícones SVG do editor rich-text tiptap-ui/UI do editor Tiptap (toolbar, menus) tiptap-ui-primitive/primitivos baixo nível do editor tiptap-ui-utils/utilitários do editor ui/componentes shadcn/ui — base de toda a UI workspace/features específicas do workspace WorkspaceNavigationMenu.tsx overview/dashboard e estatísticas config/configurações de membros e workspace
Regras de organização
Componentes de feature ficam na pasta da feature — notes/, categories/, dashboard/. Cada pasta pode ter uma subpasta hook/ para hooks locais que não precisam ser globais.
Hooks globais ficam em src/hook/ (fora de components/) — são os hooks de TanStack Query compartilhados por múltiplos componentes.
ui/ contém apenas os componentes do shadcn/ui. Não se cria componentes do zero aqui — se o shadcn/ui tem um equivalente, ele é usado.
kibo-ui/ é uma coleção de componentes mais complexos (árvore, kanban, gantt, code block) que complementam o shadcn/ui.
shared/ guarda os providers globais (ThemeProvider, QueryClient) e componentes verdadeiramente reutilizáveis em contextos diferentes como Icon, Logo e Container.