Arquitetura
O Squidy segue uma arquitetura limpa baseada em Ports & Adapters (Arquitetura Hexagonal).Diagrama
Camadas
1. CLI Layer
Interface com o usuário:- Comandos Typer
- UI com Rich (tabelas, painéis, spinner)
- Formatação de saída
2. Application Layer
Casos de uso:InitUseCase- Setup de projetoAuditUseCase- AuditoriaStatusUseCase- Status rápido
3. Domain Layer
Entidades e regras:Project- Representação do projetoConfig- ConfiguraçõesAuditResult- Resultado de auditoria
4. Ports
Interfaces abstratas:AIProvider- Provedores de IAFileSystem- Sistema de arquivosStorage- Persistência
5. Adapters
Implementações concretas:OpenAIAdapter/AnthropicAdapterLocalFileSystem/MockFileSystem
Benefícios
- Testável - Fácil mockar dependências
- Extensível - Novos adapters sem mudar core
- Manutenível - Separação clara de responsabilidades
- Flexível - Troca de provedores de IA