Menos abas abertas. Mais descobertas.
Um portal em português para descobrir projetos úteis do GitHub e entender onde eles entram na vida real. Criado por Thiago Ebias.
Abrir o portal · Baixar HTML · Como contribuir · Fontes e metodologia
- 150 projetos reais, distribuídos em 8 categorias.
- Busca por nome, descrição, categoria, tags e sistema, com tratamento de acentos.
- 24 cartões por vez e opção para exibir todos os resultados.
- Filtros por sistema, experiência e licença identificada.
- Ordenação por curadoria, estrelas, avaliação editorial, release, criação e atividade.
- Coleções com pastas de vidro interativas do 21st.dev.
- Estante pessoal com favoritos, notas, progresso e widgets reorganizáveis.
- Exportação e importação da estante em JSON.
- Guias sobre GitHub, organização de projetos, skills e produtividade no Mac.
- Uma versão HTML independente gerada no build, para abrir localmente.
As categorias cobrem Mac e produtividade, IA e agentes, web e interfaces, arquivos, finanças pessoais, ferramentas de desenvolvimento, estudo e organização de projetos.
Pré-requisito: Node.js 24 LTS e npm.
npm ci
npm run devAbra a URL informada pelo Vite. Para validar e gerar a versão final:
npm test
npm run build
npm run previewO build cria dist/ para hospedagem e GitHub Bookshelf.html na raiz. Esse HTML reúne JavaScript, CSS e catálogo no próprio arquivo. Fontes externas são opcionais; links para os projetos precisam de internet. O arquivo independente pode ser obtido também como artefato da execução do GitHub Actions.
src/
components/
layout/ Navegação da aplicação
ui/ Componentes reutilizáveis, incluindo os anexos do 21st.dev
hero.tsx Abertura visual da biblioteca
project-*.tsx Capa, cartão e detalhes de projeto
data/
catalog.json Retrato dos metadados oficiais do GitHub
guides.ts Conteúdo editorial dos guias
index.ts Categorias, tipos e formatação
types.ts Tipos compartilhados de navegação
hooks/
use-library.ts Estado, notas e persistência da estante
pages/
collections.tsx Coleções temáticas
guides.tsx Entrada dos guias
App.tsx Busca, filtros e composição das telas
styles.css Identidade visual e responsividade
scripts/
curation.mjs Agrega a seleção e o contexto editorial
curation-extra-*.mjs Coleções adicionais por área
refresh-catalog.mjs Coleta de metadados públicos via GitHub CLI
standalone.mjs Geração do HTML independente
public/ Recursos públicos
.github/workflows/ Validação e publicação no GitHub Pages
React 19, TypeScript, Vite, Tailwind CSS 4, Motion e Lucide. A versão hospedada separa aplicação, catálogo e bibliotecas; esbuild os reúne novamente no HTML independente. O alias @/ aponta para src/. Os componentes ficam em src/components/ui, conforme a configuração shadcn em components.json. Não há Redux, backend ou banco de dados porque a versão atual não precisa deles.
O portal publicado não chama a API do GitHub no navegador. Os dados são um retrato com data de consulta visível. A seleção e os textos editoriais ficam em scripts/curation.mjs e nos arquivos scripts/curation-extra-*.mjs que ele importa.
Com GitHub CLI instalado e autenticado:
npm run refresh
npm test
npm run buildO script consulta apenas endpoints públicos de repositórios, README e releases. Usa a autenticação já gerenciada pelo gh, sem copiar tokens para arquivos ou para o navegador. Se uma consulta falhar, preserva o catálogo anterior. A pasta research/ é um cache local ignorado pelo Git.
Depois de revisar os textos e resultados, faça commit e envie para main. O GitHub Actions valida e publica a versão no Pages. A atualização dos dados é manual nesta versão.
Favoritos, notas, progresso e ordem dos widgets ficam no localStorage do navegador. Não há conta, analytics ou sincronização com servidor. Originais, versões locais e GitHub Pages têm armazenamentos separados. Exporte e importe o JSON para levar a estante entre eles. A importação mescla os projetos e substitui as notas e o status dos projetos que já existirem no backup.
Estrelas e datas vêm da API oficial. Nível, compatibilidade e avaliações são editoriais. A nota não é uma avaliação da comunidade nem certificação de qualidade. Os projetos catalogados não foram instalados como parte da curadoria. Plataformas podem envolver dependências como Docker. Licenças, serviços pagos e requisitos devem ser conferidos nas fontes.
Leia a metodologia, o registro de validação e os créditos de terceiros.
- Ampliar a curadoria com casos de uso e fontes verificadas.
- Adicionar comparações entre ferramentas para o mesmo objetivo.
- Avaliar atualização periódica dos metadados sem perder revisão editorial.
- Considerar sincronização opcional da estante entre dispositivos.
O código original do portal está sob MIT. Componentes e dependências de terceiros preservam suas próprias atribuições. GitHub Bookshelf é um projeto independente, sem afiliação oficial com o GitHub ou com os projetos listados.
Documentação relacionada: [[github-bookshelf/docs/CURADORIA|Curadoria]] e [[github-bookshelf/docs/VALIDACAO|Validação]]. Os links Markdown acima continuam disponíveis para navegação no GitHub.