Metadata-Version: 2.4
Name: goodfella
Version: 0.1.3
Summary: Strict Pair Programmer CLI — AI-powered software architecture reviewer
Project-URL: Homepage, https://github.com/BrunoSaintClair/goodfella-ai
Project-URL: Repository, https://github.com/BrunoSaintClair/goodfella-ai.git
Project-URL: Bug Tracker, https://github.com/BrunoSaintClair/goodfella-ai/issues
Author-email: Bruno Saint Clair <brunosaint.dev@gmail.com>
License: Copyright (c) 2026 Bruno
        
        All rights reserved.
        
        The source code in this repository is provided for viewing and educational purposes only.
        
        You are NOT permitted to:
        - Modify, adapt, or create derivative works from this software.
        - Distribute, publish, or share this software or any part of it.
        - Use this software for any commercial purposes.
        
        Any use of this software outside of personal viewing requires explicit prior written permission from the copyright holder.
License-File: LICENSE
Keywords: ai,architecture,cli,goodfella,llm,pair-programming,rag
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Requires-Dist: chromadb>=0.5
Requires-Dist: langchain-anthropic>=0.3
Requires-Dist: langchain-community>=0.3
Requires-Dist: langchain-google-genai>=2.0
Requires-Dist: langchain-ollama>=0.3
Requires-Dist: langchain-openai>=0.3
Requires-Dist: langchain>=0.3
Requires-Dist: prompt-toolkit>=3.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: questionary>=2.1.1
Requires-Dist: rich>=13.0
Description-Content-Type: text/markdown

# 🎩 Goodfella

**Strict Pair Programmer CLI** — Um assistente de IA focado estritamente em Engenharia de Software que atua como um Pair Programmer Rigoroso e Arquiteto de Software.

## O que é?

O Goodfella analisa códigos, detecta violações de princípios (SOLID, Clean Architecture, DDD, etc.) e sugere melhorias. Ele **não altera código diretamente** — apenas aconselha.

## Características

- 🔒 **Local-First** — Processamento padrão 100% local via Ollama
- ☁️ **Multi-Provedor** — Suporte a OpenAI, Anthropic, Gemini
- 🧠 **RAG Inteligente** — Base vetorial com ChromaDB embutido
- 📂 **Isolamento por Projeto** — Contextos independentes por diretório
- 💬 **Chat Interativo** — REPL fluido no terminal com Rich

## Instalação

A maneira recomendada de instalar o Goodfella globalmente na sua máquina é utilizando o **`pipx`** (que instala a CLI em um ambiente isolado, evitando o erro de ambiente gerenciado externamente no Linux/Mac):

```bash
pipx install goodfella
```

*Alternativamente, você pode instalar via pip tradicional:*
```bash
pip install goodfella
```

## Uso

Para iniciar o assistente, basta rodar o comando na raiz do diretório do seu projeto:

```bash
goodfella
```

### Configurando o Provedor de IA (Local vs Cloud)

O Goodfella foi desenhado para ser **Local-First**. Por padrão, ele tentará se conectar ao **Ollama** rodando localmente na sua máquina (porta 11434). Essa é a recomendação para máxima privacidade, já que seu código nunca sai do seu computador.

**Como usar com o Ollama (Padrão):**
1. Certifique-se de que o Ollama está instalado e rodando no seu terminal (`ollama serve`).
2. Baixe o modelo padrão do Goodfella (Qwen 2.5 Coder):
   ```bash
   ollama pull qwen2.5-coder:7b
   ```
3. Rode o comando `goodfella` no seu projeto e a CLI se conectará automaticamente.

Se você não possui uma GPU forte ou se deseja análises arquiteturais mais profundas usando outros modelos, o Goodfella possui integrações nativas com a nuvem.

Como habilitar e usar provedores Cloud:

**Interativamente (via chat):**
Inicie o Goodfella normalmente e digite o comando `/setup`. Um menu interativo guiará você na escolha do provedor e na inserção segura da sua chave de API.

**Dica:** Uma vez dentro do assistente, utilize o comando `/status` para auditar rapidamente qual provedor de IA e modelo específico estão assumindo o controle das respostas no momento.

### Comandos Principais

| Comando | Descrição |
|---------|-----------|
| `/review` | Revisão estrita de Clean Architecture/SOLID |
| `/deep-review` | Análise completa via modelo Cloud |
| `/setup` | Assistente de configuração de provedor |
| `/status` | Saúde do sistema e provedor ativo |
| `/rule add` | Adicionar regra customizada |
| `/rebuild` | Reconstruir banco vetorial do zero |
| `/quit` | Encerrar e salvar histórico |

## Stack Técnica

- **Python** + **uv**
- **LangChain** — Orquestração de IA
- **ChromaDB** — Banco vetorial embutido
- **Rich** — Interface de terminal
- **Ollama** — LLM local (padrão)

## Licença

Proprietary / All Rights Reserved

O código-fonte é disponibilizado apenas para visualização e fins educacionais. É estritamente proibido modificar, distribuir, sublicenciar ou utilizar este projeto (ou qualquer parte dele) para fins comerciais sem autorização prévia por escrito.
