Uma ferramenta poderosa e unificada para buscar, baixar e formatar livros de fontes públicas como Project Gutenberg, Wikisource e Open Library.
Este projeto foi desenhado sob os princípios da Clean Architecture, servindo tanto como uma ferramenta CLI de alta performance quanto como um Nexo Digital via Web HUD com estética Cyberpunk.
Acesse a versão estável em: https://bibliocli.vercel.app/
- 🔍 Busca Multiprovedor: Pesquise títulos ou autores simultaneamente em várias fontes bibliográficas (Gutenberg, Wikisource, Open Library).
- 📥 Download Inteligente: Baixa e-books e usa IA (OpenAI) para remover metadados, prefácios e sumários, entregando apenas o conteúdo narrativo.
- 🏗️ Arquitetura Profissional: Divisão clara entre Domínio, Aplicação e Infraestrutura, garantindo manutenibilidade e testabilidade.
- 🌐 Nexus Web HUD: Interface web moderna com estética Cyberpunk, efeitos de glitch de alta fidelidade e design responsivo.
- 🎨 Terminal Rico: Tabelas, barras de progresso e CLI interativa via
RicheQuestionary.
- Core: Python 3.12+ & uv
- API: FastAPI & Uvicorn
- Banco de Dados: Turso (libsql) para persistência de livros formatados.
- UI Terminal: Rich & Questionary
- UI Web: Vanilla JS (ES6+), CSS3 (Cyberpunk Design System)
- IA: OpenAI API (GPT-4o/o1)
- Clone o repositório:
git clone https://github.com/alexandermarquesm/bibliocli.git cd bibliocli - Instale as dependências com
uv:uv sync
Crie um arquivo .env na raiz do projeto:
OPENAI_API_KEY="sua-chave-aqui"
TURSO_URL="sua-url-turso"
TURSO_AUTH_TOKEN="seu-token-turso"O projeto define atalhos otimizados via uv.
-
Modo Interativo:
uv run bibliocli
-
Buscar Livros (Direto):
uv run bibliocli search "Dom Casmurro" --book -
Download Direto:
uv run bibliocli download "URL_DO_LIVRO" --name "nome.txt"
Inicia o servidor web local com interface gráfica.
uv run bibliocli-serverTip
Com o servidor rodando, acesse http://127.0.0.1:8000 para a interface gráfica ou /docs para a documentação Swagger da API.
O BiblioCLI segue rigorosamente a separação de responsabilidades para garantir escalabilidade:
graph TD
subgraph Infrastructure
CLI[CLI Driver / Typer]
WEB[FastAPI Server]
REPO[Turso/libsql Repository]
PROV[Gutenberg/Wikisource Providers]
end
subgraph Application
UC[Use Cases]
PORT[Repository Interfaces]
end
subgraph Domain
ENT[Book Entities]
VAL[Value Objects]
end
CLI --> UC
WEB --> UC
UC --> ENT
UC --> PORT
Infrastructure -.-> PORT
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
Feito com ⚡ por Alexander Marques
