# API Reference
Source: https://docs.squidy.run/api/introduction
Documentação da API do Squidy
# API Reference
Esta seção contém a documentação da API interna do Squidy.
O Squidy é primariamente uma CLI. A API documentada aqui é para uso interno e extensões.
## Módulos Principais
### Core
Módulos de domínio e lógica de negócio:
* `squidy.core.domain` - Entidades e value objects
* `squidy.core.ports` - Interfaces (ports & adapters)
### Adapters
Implementações das interfaces:
* `squidy.adapters.providers` - Provedores de IA
* `squidy.adapters.filesystem` - Sistema de arquivos
### Audit
Sistema de auditoria:
* `squidy.audit.engine` - Motor de auditoria
* `squidy.audit.checkers` - Verificadores
* `squidy.audit.detectors` - Detectores
### CLI
Interface de linha de comando:
* `squidy.cli.app` - Aplicação principal
* `squidy.cli.commands` - Comandos
## Uso Programático
```python theme={null}
from squidy.core.domain.project import Project
from squidy.audit.engine import AuditEngine
# Carregar projeto
project = Project.from_path("./meu-projeto")
# Executar auditoria
engine = AuditEngine()
result = engine.audit(project)
print(result.score) # 0-100
print(result.issues) # Lista de problemas
```
## Extensão
Para criar um checker personalizado:
```python theme={null}
from squidy.audit.checkers.base import BaseChecker
class MeuChecker(BaseChecker):
def check(self, project):
# Sua lógica aqui
return CheckResult(
name="meu-checker",
passed=True,
message="Tudo OK"
)
```
Entenda a arquitetura do Squidy.
# Sistema de Arquivos
Source: https://docs.squidy.run/architecture/filesystem
Abstração do sistema de arquivos no Squidy
# Sistema de Arquivos
O Squidy usa uma abstração de sistema de arquivos para facilitar testes.
## Interface (Port)
```python theme={null}
class FileSystem(ABC):
@abstractmethod
def read(self, path: str) -> str:
"""Lê conteúdo do arquivo"""
pass
@abstractmethod
def write(self, path: str, content: str):
"""Escreve conteúdo no arquivo"""
pass
@abstractmethod
def exists(self, path: str) -> bool:
"""Verifica se arquivo existe"""
pass
@abstractmethod
def mkdir(self, path: str):
"""Cria diretório"""
pass
```
## Implementações
### LocalFileSystem
Implementação para uso real no sistema de arquivos local.
```python theme={null}
from squidy.adapters.filesystem.local_fs import LocalFileSystem
fs = LocalFileSystem()
content = fs.read("./readme-agent.md")
```
### MockFileSystem
Implementação em memória para testes.
```python theme={null}
from squidy.adapters.filesystem.mock_fs import MockFileSystem
fs = MockFileSystem()
fs.write("/test/file.md", "conteúdo")
assert fs.exists("/test/file.md")
```
## Uso nos Use Cases
Injeção de dependência permite trocar implementações:
```python theme={null}
# Produção
use_case = InitUseCase(fs=LocalFileSystem())
# Teste
use_case = InitUseCase(fs=MockFileSystem())
```
## Benefícios
* **Testes rápidos** - Sem I/O de disco
* **Testes determinísticos** - Sem dependência de estado
* **Paralelismo** - Testes isolados
* **CI/CD** - Funciona em qualquer ambiente
# Visão Geral
Source: https://docs.squidy.run/architecture/overview
Arquitetura do Squidy
# Arquitetura
O Squidy segue uma arquitetura limpa baseada em **Ports & Adapters** (Arquitetura Hexagonal).
## Diagrama
```
┌─────────────────────────────────────────┐
│ CLI Layer │
│ (Typer + Rich UI) │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ Application Layer │
│ (Use Cases: Init, Audit, Status) │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ Domain Layer │
│ (Project, Config, AuditResult, etc) │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ Ports (Interfaces) │
│ (AIProvider, FileSystem, Storage) │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ Adapters (Implementações) │
│ (OpenAI, Anthropic, LocalFS, etc) │
└─────────────────────────────────────────┘
```
## 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 projeto
* `AuditUseCase` - Auditoria
* `StatusUseCase` - Status rápido
### 3. Domain Layer
Entidades e regras:
* `Project` - Representação do projeto
* `Config` - Configurações
* `AuditResult` - Resultado de auditoria
### 4. Ports
Interfaces abstratas:
* `AIProvider` - Provedores de IA
* `FileSystem` - Sistema de arquivos
* `Storage` - Persistência
### 5. Adapters
Implementações concretas:
* `OpenAIAdapter` / `AnthropicAdapter`
* `LocalFileSystem` / `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
## Fluxo de Dados
```
Usuário → CLI → Use Case → Domain → Port → Adapter → External
↑___________________________________________|
(retorno)
```
# Provedores de IA
Source: https://docs.squidy.run/architecture/providers
Como funcionam os provedores de IA no Squidy
# Provedores de IA
O Squidy suporta múltiplos provedores de IA através de uma interface unificada.
## Interface (Port)
```python theme={null}
class AIProvider(ABC):
@abstractmethod
def generate(self, prompt: str, context: dict) -> str:
"""Gera resposta da IA"""
pass
@abstractmethod
def interview(self, answers: list) -> dict:
"""Conduz entrevista estruturada"""
pass
```
## Provedores Suportados
### OpenAI
Modelos: GPT-4o, GPT-4o-mini
```python theme={null}
from squidy.adapters.providers.openai_adapter import OpenAIAdapter
provider = OpenAIAdapter(api_key="sk-...")
response = provider.generate(prompt, context)
```
### Anthropic
Modelos: Claude 3 Sonnet, Claude 3 Haiku
```python theme={null}
from squidy.adapters.providers.anthropic_adapter import AnthropicAdapter
provider = AnthropicAdapter(api_key="sk-ant-...")
response = provider.generate(prompt, context)
```
## Configuração
Defina a chave via variável de ambiente:
```bash theme={null}
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
```
Ou em arquivo `.env`:
```
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
```
## Seleção de Provedor
O Squidy seleciona automaticamente baseado em:
1. Qual chave está configurada
2. Preferência do usuário (futuro)
## Adicionar Novo Provedor
Para adicionar um novo provedor:
1. Crie uma classe herdando de `AIProvider`
2. Implemente os métodos abstratos
3. Registre no factory
```python theme={null}
class NovoProvider(AIProvider):
def generate(self, prompt: str, context: dict) -> str:
# Implementação
pass
def interview(self, answers: list) -> dict:
# Implementação
pass
```
# squidy audit
Source: https://docs.squidy.run/commands/audit
Audita a saúde do projeto Squidy
# squidy audit
Audita a saúde do projeto verificando estrutura, consistência e atualizações.
## Uso
```bash theme={null}
squidy audit [PATH] [OPTIONS]
```
## Argumentos
| Argumento | Descrição | Padrão |
| --------- | -------------------- | --------------- |
| `PATH` | Diretório do projeto | Diretório atual |
## Opções
| Opção | Descrição | |
| ----------------- | -------------------------------- | ------- |
| `--format`, `-f` | Formato de saída: `text`, `json` | `text` |
| `--fix` | Aplica correções automáticas | `False` |
| `--verbose`, `-v` | Saída detalhada | `False` |
| `--help` | Mostra ajuda do comando | |
## Exemplos
### Auditoria básica
```bash theme={null}
squidy audit
```
### Auditoria de projeto específico
```bash theme={null}
squidy audit ./meu-projeto
```
### Saída em JSON
```bash theme={null}
squidy audit -f json
```
### Aplicar correções
```bash theme={null}
squidy audit --fix
```
## Checkers
O audit executa verificações em múltiplas áreas:
### StructureChecker
Verifica se todos os arquivos obrigatórios existem:
* `readme-agent.md`
* `.squidy/manifest.json`
* Arquivos em `doc/`
### KanbanChecker
Analisa o kanban do projeto:
* WIP limit respeitado
* Tarefas bloqueadas
* Épicos sem tasks
### FreshnessChecker
Identifica arquivos desatualizados:
* `constituicao.md` > 30 dias
* `oraculo.md` sem atualização
* Tasks concluídas não arquivadas
### ConsistencyChecker
Verifica consistência entre arquivos:
* IDs de tasks únicos
* Referências de épicos válidas
* Tags consistentes
## Saída de Exemplo
```
🦑 Audit Report
Estrutura: ✅ 10/10 arquivos OK
Kanban: ⚠️ 2 tarefas acima do WIP
Freshness: ⚠️ constituicao.md (45 dias)
Consistência: ✅ Tudo OK
Score: 85/100
```
## Correções Automáticas
Com `--fix`, o Squidy pode:
* Criar arquivos faltantes
* Arquivar tasks concluídas
* Atualizar índices
* Corrigir referências quebradas
# squidy init
Source: https://docs.squidy.run/commands/init
Inicializa um novo projeto com estrutura de governança
# squidy init
Inicializa um novo projeto com estrutura completa de governança para Agentes de IA.
## Uso
```bash theme={null}
squidy init [PATH] [OPTIONS]
```
## Argumentos
| Argumento | Descrição | Padrão |
| --------- | -------------------- | --------------- |
| `PATH` | Diretório do projeto | Diretório atual |
## Opções
| Opção | Descrição |
| ----------- | -------------------------- |
| `--dry-run` | Simula sem criar arquivos |
| `--manual` | Setup sem entrevista de IA |
| `--help` | Mostra ajuda do comando |
## Exemplos
### Setup interativo (padrão)
```bash theme={null}
squidy init
```
### Projeto específico
```bash theme={null}
squidy init ./minha-api
```
### Dry run (simulação)
```bash theme={null}
squidy init --dry-run
```
### Setup manual
```bash theme={null}
squidy init --manual
```
## Fluxo de Entrevista
O Squidy conduz uma entrevista inteligente em 5 fases:
1. **Visão Geral** - Tipo de projeto e stack
2. **Arquitetura** - Padrões e decisões técnicas
3. **Governança** - Regras e restrições
4. **Workflow** - Processo de desenvolvimento
5. **Refinamento** - Ajustes finais
## Arquivos Gerados
```
projeto/
├── readme-agent.md # Guia principal para IA
├── .squidy/manifest.json # Manifesto do projeto
├── doc/
│ ├── AGENT.md # Referência rápida
│ ├── constituicao.md # Princípios e regras
│ ├── oraculo.md # Decisões de arquitetura
│ ├── politicas.md # Stack e convenções
│ ├── kanban.md # Gestão de tarefas
│ ├── emergencia.md # Bloqueios críticos
│ ├── indice-diario.md # Índice de logs
│ └── contexto-sessao.md # Cache de sessão
└── diario/
└── YYYY-MM.md # Log mensal
```
## Próximos Passos
Após executar `init`, instrua seu agente de IA:
> "Leia o arquivo `readme-agent.md` e siga o ritual de onboarding"
Aprenda a auditar seu projeto.
# squidy status
Source: https://docs.squidy.run/commands/status
Mostra o status atual do projeto
# squidy status
Mostra o status atual do projeto de forma rápida.
## Uso
```bash theme={null}
squidy status [PATH]
```
## Argumentos
| Argumento | Descrição | Padrão |
| --------- | -------------------- | --------------- |
| `PATH` | Diretório do projeto | Diretório atual |
## Exemplos
### Status do diretório atual
```bash theme={null}
squidy status
```
### Status de projeto específico
```bash theme={null}
squidy status ./meu-projeto
```
## Informações Exibidas
* ✅ Status da estrutura Squidy
* 📋 Tarefas em progresso (WIP)
* 🚨 Bloqueios críticos
* 📅 Última atualização
* 🏷️ Tags do projeto
* 📊 Versão do manifesto
## Saída de Exemplo
```
🦑 Project Status
📁 Projeto: minha-api
🎯 Versão: 2.0.1
📅 Atualizado: 2026-02-25
📋 Kanban:
Em progresso: 2/3
Backlog: 5 tarefas
Concluído: 12 tarefas
🚨 Bloqueios: 0
✅ Estrutura: OK
```
## Alias
```bash theme={null}
squidy doctor # Mesmo que status
```
# Auditoria
Source: https://docs.squidy.run/concepts/audit
Como funciona o sistema de auditoria do Squidy
# Auditoria
O sistema de auditoria do Squidy verifica a saúde e consistência do projeto.
## Checkers
### StructureChecker
Verifica se a estrutura de arquivos está completa.
**Verifica:**
* ✅ `readme-agent.md` existe
* ✅ `.squidy/manifest.json` existe
* ✅ Diretório `doc/` existe
* ✅ Arquivos obrigatórios em `doc/`
**Erros comuns:**
* Arquivos deletados acidentalmente
* Projeto movido sem estrutura
### KanbanChecker
Analisa a saúde do Kanban.
**Verifica:**
* ✅ WIP limit respeitado (máx 3)
* ✅ Tasks não bloqueadas por muito tempo
* ✅ Épicos têm tasks associadas
* ✅ IDs únicos
**Warnings:**
* Muitas tasks em progresso
* Tasks bloqueadas > 7 dias
* Épicos órfãos
### FreshnessChecker
Identifica arquivos desatualizados.
**Limites:**
| Arquivo | Limite |
| ----------------- | -------------------- |
| `constituicao.md` | 30 dias |
| `oraculo.md` | 14 dias |
| `politicas.md` | 60 dias |
| Tasks concluídas | 7 dias para arquivar |
### ConsistencyChecker
Verifica consistência entre arquivos.
**Verifica:**
* ✅ Referências de épicos válidas
* ✅ Tasks mencionadas existem
* ✅ Tags consistentes
* ✅ IDs no formato correto
## Pontuação
O score de auditoria varia de 0 a 100:
| Range | Status |
| ------ | ------------------ |
| 90-100 | 🟢 Excelente |
| 70-89 | 🟡 Bom |
| 50-69 | 🟠 Precisa atenção |
| 0-49 | 🔴 Crítico |
## Correções Automáticas
Com `--fix`, o Squidy pode:
1. **Criar arquivos faltantes** - Gera templates básicos
2. **Arquivar tasks** - Move concluídas para histórico
3. **Atualizar índices** - Reconstrói índice-diario.md
4. **Corrigir IDs** - Normaliza formatos
Sempre revise as correções antes de aplicar em produção.
# Governança
Source: https://docs.squidy.run/concepts/governance
Entenda como o Squidy estrutura a governança do projeto
# Governança
O Squidy implementa uma estrutura de governança completa para projetos com Agentes de IA.
## Princípios
### 1. Contexto Persistente
A IA tem acesso a todo o contexto do projeto através de arquivos estruturados.
### 2. Regras Explícitas
Proibições, restrições e convenções são documentadas de forma clara.
### 3. Rastreabilidade
Todas as decisões são registradas e podem ser auditadas.
### 4. Autonomia Controlada
A IA tem autonomia dentro dos limites definidos.
## Arquivos de Governança
### constituicao.md
Define os princípios fundamentais:
* **Propósito** - Por que o projeto existe
* **Princípios** - Valores e diretrizes
* **Proibições** - O que nunca fazer
* **Definition of Done** - Critérios de aceitação
### politicas.md
Especifica as regras técnicas:
* **Stack** - Tecnologias permitidas
* **Convenções** - Padrões de código
* **Padrões** - Arquitetura e design
* **Processo** - Fluxo de trabalho
### oraculo.md
Registra decisões de arquitetura (ADRs):
* Decisões tomadas
* Contexto e motivação
* Alternativas consideradas
* Consequências
## Ciclo de Governança
```
┌─────────────┐
│ Setup │ ← squidy init
│ Inicial │
└──────┬──────┘
▼
┌─────────────┐
│ Desenvolver │ ← IA segue regras
│ com IA │
└──────┬──────┘
▼
┌─────────────┐
│ Auditar │ ← squidy audit
│ Regular │
└──────┬──────┘
▼
┌─────────────┐
│ Atualizar │ ← Evoluir regras
│ Regras │
└─────────────┘
```
## Benefícios
* **Consistência** - A IA sempre segue as mesmas regras
* **Qualidade** - Definition of Done garante padrões
* **Segurança** - Proibições previnem erros graves
* **Evolução** - Decisões são documentadas e revisáveis
# Kanban
Source: https://docs.squidy.run/concepts/kanban
Sistema de gestão de tarefas do Squidy
# Kanban
O Squidy inclui um sistema de gestão de tarefas baseado em Kanban.
## Estrutura Hierárquica
```markdown theme={null}
## 🔥 ÉPICOS
### ÉPICO-001: Sistema de Autenticação
**Prioridade:** P0 | **Complexidade:** M
**Tasks:** TASK-001, TASK-002
## 📋 BACKLOG
### TASK-001: Setup JWT [ÉPICO-001]
**Complexidade:** S | **Prioridade:** P0
**Subtarefas:**
- [ ] SUB-001: Instalar biblioteca (XS - 30min)
- [ ] SUB-002: Configurar middleware (S - 1h)
## 🏗️ EM PROGRESSO (WIP: 1/3)
- [ ] TASK-001: Setup JWT
## ✅ CONCLUÍDO
- [x] TASK-000: Setup inicial
```
## Níveis
| Nível | Prefixo | Exemplo | Descrição |
| --------- | -------- | --------- | ------------------- |
| Épico | `ÉPICO-` | ÉPICO-001 | Grande iniciativa |
| Task | `TASK-` | TASK-001 | Unidade de trabalho |
| Subtarefa | `SUB-` | SUB-001 | Passo específico |
## Prioridades
| Prioridade | Significado |
| ---------- | -------------------- |
| P0 | Crítico - bloqueante |
| P1 | Alto - importante |
| P2 | Médio - desejável |
| P3 | Baixo - futuro |
## Complexidade (T-shirt Sizes)
| Tamanho | Tempo estimado |
| ------- | -------------------- |
| XS | \~30 min |
| S | \~1-2 horas |
| M | \~4-8 horas |
| L | \~1-2 dias |
| XL | \~3-5 dias |
| XXL | +1 semana (decompor) |
## WIP Limit
Limite de trabalho em progresso:
* Máximo 3 tasks simultâneas
* Evita multitasking
* Foco em entregar
## Workflow
1. **Criar** épicos no início do projeto
2. **Decompor** em tasks durante o planejamento
3. **Mover** tasks para "Em Progresso" ao iniciar
4. **Completar** subtarefas uma a uma
5. **Revisar** e marcar como concluído
## Comandos Relacionados
```bash theme={null}
# Ver status do kanban
squidy status
# Auditar estrutura
squidy audit
```
# Squidy - Documentação
Source: https://docs.squidy.run/index
Setup inteligente para projetos com Agentes de IA
# 🦑 Squidy
**Setup inteligente para projetos com Agentes de IA**
Governança, Auditoria e Documentação Automática para Claude, GPT-4, Cursor e mais.
Instale o Squidy e configure seu primeiro projeto.
## O Problema
Você usa **Claude**, **ChatGPT** ou **Cursor** para programar, mas:
* 🤯 A IA esquece tudo na próxima conversa
* 📝 Você reescreve os mesmos requisitos toda semana
* 🎨 O agente fica "criativo" e muda sua arquitetura
* 📂 Seu projeto vira bagunça porque ninguém documenta
* ⏱️ Gasta 30 min configurando prompt antes de codar
**O Squidy resolve isso em 2 minutos.**
## O Que é o Squidy?
O **Squidy** é uma CLI que cria automaticamente a estrutura de governança para projetos com Agentes de IA.
Converse com IA sobre seu projeto e receba documentação completa.
Verifique a saúde do projeto e identifique problemas.
Gestão de tarefas com Épicos → Tasks → Subtarefas.
Regras, proibições e Definition of Done para sua IA.
## Instalação Rápida
```bash theme={null}
pip install squidy
squidy --version
```
Opções de instalação via pip, pipx ou desenvolvimento.
## Estrutura Criada
O Squidy gera uma estrutura completa de governança:
```
meu-projeto/
├── readme-agent.md # 🤖 Guia completo para o agente
├── .squidy/
│ └── manifest.json # 📋 Manifesto do projeto
├── doc/
│ ├── AGENT.md # 🎯 Referência rápida
│ ├── constituicao.md # ⚖️ Princípios e regras
│ ├── oraculo.md # 🧙 Decisões de arquitetura
│ ├── politicas.md # 📋 Stack e convenções
│ ├── kanban.md # 📊 Gestão de tarefas
│ ├── emergencia.md # 🚨 Bloqueios críticos
│ ├── indice-diario.md # 📑 Índice do histórico
│ └── contexto-sessao.md # 💾 Cache do estado
└── diario/
└── 2026-02.md # 📅 Log de decisões
```
## Próximos Passos
Configure seu primeiro projeto em minutos.
Aprenda os comandos principais do Squidy.
***
Precisa de ajuda? Entre em contato.
# Instalação
Source: https://docs.squidy.run/installation
Como instalar o Squidy no seu ambiente
# 📦 Instalação
## Via pip (recomendado)
```bash theme={null}
pip install squidy
```
Verifique a instalação:
```bash theme={null}
squidy --version
```
## Via pipx (isolado)
Para instalação isolada sem conflitos:
```bash theme={null}
pipx install squidy
squidy --version
```
## Desenvolvimento
Clone o repositório e instale em modo de desenvolvimento:
```bash theme={null}
git clone https://github.com/seomarc/squidyrun.git
cd squidyrun
python -m venv venv && source venv/bin/activate # Linux/Mac
# ou: python -m venv venv && venv\Scripts\activate # Windows
pip install -e ".[dev]"
squidy --version
```
## Requisitos
* **Python:** 3.9 ou superior
* **Sistema:** Linux, macOS, Windows (WSL recomendado)
## Variáveis de Ambiente
Configure as chaves de API para uso com IA:
```bash theme={null}
# OpenAI
export OPENAI_API_KEY="sk-..."
# Anthropic (Claude)
export ANTHROPIC_API_KEY="sk-ant-..."
```
Ou use um arquivo `.env` no diretório do projeto.
## Atualização
```bash theme={null}
pip install --upgrade squidy
```
## Desinstalação
```bash theme={null}
pip uninstall squidy
```
## Solução de Problemas
### Comando não encontrado
Adicione o diretório de scripts do Python ao PATH:
```bash theme={null}
# Linux/Mac
export PATH="$HOME/.local/bin:$PATH"
# Windows
set PATH=%APPDATA%\Python\Scripts;%PATH%
```
### Conflitos de dependência
Use ambiente virtual:
```bash theme={null}
python -m venv venv
source venv/bin/activate
pip install squidy
```
# Links
Source: https://docs.squidy.run/links
Links úteis relacionados ao Squidy
# Links
Acesse todos os recursos relacionados ao Squidy.
## 🌐 Oficial
squidy.run
pip install squidy
Código fonte e issues
Você está aqui!
## 👤 Desenvolvedor
* **Marcos Tadeu**
* 🌐 [Site Pessoal](https://www.marcostadeu.com.br/)
* 💼 [LinkedIn](https://www.linkedin.com/in/seomarc/)
* 💻 [GitHub](https://github.com/seomarc)
* ▶️ [YouTube](https://www.youtube.com/@seomarcos)
* **SearchOps**
* 🌐 [searchops.io](https://searchops.io/)
## ☕ Apoie o Projeto
Se o Squidy te ajudou, considere apoiar:
Contribua com o desenvolvimento
## Comunidade
* ⭐ [GitHub Stars](https://github.com/seomarc/squidyrun) - Deixe uma estrela!
* 🐛 [Issues](https://github.com/seomarc/squidyrun/issues) - Reporte bugs
* 💡 [Discussions](https://github.com/seomarc/squidyrun/discussions) - Sugestões e ideias
## Contato
📧 **Email:** [contato@squidy.run](mailto:contato@squidy.run)
# Quickstart
Source: https://docs.squidy.run/quickstart
Configure seu primeiro projeto com Squidy em minutos
# 🚀 Quickstart
Configure seu primeiro projeto com Squidy em 3 passos simples.
## 1. Instalação
```bash theme={null}
pip install squidy
```
Verifique a instalação:
```bash theme={null}
squidy --version
```
## 2. Inicialize seu Projeto
Execute o comando `init` para iniciar o setup interativo:
```bash theme={null}
squidy init
```
O Squidy fará perguntas sobre seu projeto:
```
🦑 Setup com Agente IA
🤖 Agente: Olá! Me conte sobre o projeto que você quer configurar.
Exemplo: "API REST para delivery com Node e PostgreSQL"
Você: API REST para delivery com Node e PostgreSQL
🤖 Agente: Legal! Qual framework frontend você vai usar?
Você: React com TypeScript
... (mais 2-3 perguntas contextuais) ...
✅ Configuração gerada com sucesso!
```
## 3. Use com sua IA
Após o setup, instrua seu agente de IA:
> "Acesse `./readme-agent.md` e siga o ritual de onboarding"
Ou para um projeto específico:
```bash theme={null}
squidy init ./meu-novo-projeto
```
## Comandos Úteis
| Comando | Descrição |
| --------------- | ------------------------ |
| `squidy init` | Setup interativo com IA |
| `squidy audit` | Audita o projeto atual |
| `squidy status` | Mostra status do projeto |
## Opções do Init
```bash theme={null}
# Simular sem criar arquivos (dry-run)
squidy init --dry-run
# Setup manual (sem IA)
squidy init --manual
# Especificar diretório
squidy init ./meu-projeto
```
## Próximos Passos
Detalhes completos do comando de inicialização.
Entenda como o Squidy estrutura a governança do projeto.
# CLI Reference
Source: https://docs.squidy.run/reference/cli
Referência completa dos comandos CLI
# CLI Reference
Referência completa dos comandos disponíveis no Squidy.
## Comandos Globais
### `--version`
Mostra a versão do Squidy.
```bash theme={null}
squidy --version
# squidy 2.0.1
```
### `--help`
Mostra ajuda geral ou de um comando específico.
```bash theme={null}
squidy --help
squidy init --help
```
## Comandos Principais
### init
Inicializa um novo projeto.
```bash theme={null}
squidy init [PATH] [--dry-run] [--manual]
```
**Argumentos:**
* `PATH` - Diretório do projeto (padrão: atual)
**Opções:**
* `--dry-run` - Simula sem criar arquivos
* `--manual` - Setup sem IA
### audit
Audita o projeto.
```bash theme={null}
squidy audit [PATH] [-f FORMAT] [--fix] [-v]
```
**Argumentos:**
* `PATH` - Diretório do projeto
**Opções:**
* `-f, --format` - Formato: `text`, `json`
* `--fix` - Aplica correções
* `-v, --verbose` - Saída detalhada
### status
Mostra status do projeto.
```bash theme={null}
squidy status [PATH]
```
**Alias:**
```bash theme={null}
squidy doctor
```
## Variáveis de Ambiente
| Variável | Descrição | Obrigatória |
| ------------------- | ------------------ | ----------- |
| `OPENAI_API_KEY` | Chave da OpenAI | Opcional\* |
| `ANTHROPIC_API_KEY` | Chave da Anthropic | Opcional\* |
\* Pelo menos uma é necessária para uso com IA.
## Códigos de Saída
| Código | Significado |
| ------ | ---------------------- |
| 0 | Sucesso |
| 1 | Erro geral |
| 2 | Erro de validação |
| 3 | Projeto não encontrado |
# Configuração
Source: https://docs.squidy.run/reference/configuration
Opções de configuração do Squidy
# Configuração
O Squidy pode ser configurado via variáveis de ambiente ou arquivo `.env`.
## Variáveis de Ambiente
### Provedores de IA
| Variável | Descrição | Exemplo |
| --------------------- | ------------------ | ----------------------- |
| `OPENAI_API_KEY` | Chave da OpenAI | `sk-...` |
| `ANTHROPIC_API_KEY` | Chave da Anthropic | `sk-ant-...` |
| `DEFAULT_AI_PROVIDER` | Provedor padrão | `openai` ou `anthropic` |
### Configurações Gerais
| Variável | Descrição | Padrão |
| ------------------ | -------------- | ------- |
| `SQUIDY_LOG_LEVEL` | Nível de log | `INFO` |
| `SQUIDY_DRY_RUN` | Modo simulação | `false` |
## Arquivo .env
Crie um arquivo `.env` no diretório do projeto:
```bash theme={null}
# Provedores de IA
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxx
# Configurações
SQUIDY_LOG_LEVEL=DEBUG
```
O Squidy carrega automaticamente as variáveis do `.env`.
## Manifesto do Projeto
O arquivo `.squidy/manifest.json` contém metadados do projeto:
```json theme={null}
{
"version": "2.0.1",
"name": "meu-projeto",
"created_at": "2026-02-25T10:00:00Z",
"updated_at": "2026-02-25T15:30:00Z",
"config": {
"language": "python",
"framework": "fastapi",
"database": "postgresql"
}
}
```
**Campos:**
* `version` - Versão do Squidy usada
* `name` - Nome do projeto
* `created_at` - Data de criação
* `updated_at` - Última atualização
* `config` - Configurações específicas
## Prioridade de Configuração
Configurações são carregadas na ordem (última prevalece):
1. Valores padrão
2. Variáveis de ambiente do sistema
3. Arquivo `.env`
4. Argumentos de linha de comando
# Templates
Source: https://docs.squidy.run/reference/templates
Templates de arquivos gerados pelo Squidy
# Templates
O Squidy usa templates Jinja2 para gerar a documentação do projeto.
## Estrutura de Templates
```
squidy/generation/templates/
├── readme-agent.md.j2
├── agent.md.j2
├── constituicao.md.j2
├── oraculo.md.j2
├── politicas.md.j2
├── kanban.md.j2
├── emergencia.md.j2
└── manifest.json.j2
```
## Variáveis Disponíveis
Todos os templates recebem um objeto `project`:
```python theme={null}
{
"name": "nome-do-projeto",
"description": "Descrição do projeto",
"stack": {
"language": "python",
"framework": "fastapi",
"database": "postgresql"
},
"conventions": [...],
"rules": [...],
"created_at": "..."
}
```
## Exemplo de Template
```jinja2 theme={null}
# {{ project.name }}
## Descrição
{{ project.description }}
## Stack
- **Linguagem:** {{ project.stack.language }}
- **Framework:** {{ project.stack.framework }}
- **Database:** {{ project.stack.database }}
## Convenções
{% for convention in project.conventions %}
- {{ convention }}
{% endfor %}
```
## Personalização (Futuro)
Em versões futuras, você poderá:
* Criar templates customizados
* Estender templates existentes
* Definir templates por stack
## Template Engine
O Squidy usa Jinja2 com configurações específicas:
```python theme={null}
from jinja2 import Environment, PackageLoader
env = Environment(
loader=PackageLoader('squidy', 'templates'),
trim_blocks=True,
lstrip_blocks=True
)
```
Isso garante:
* **Whitespace control** - Saída limpa
* **Escaping automático** - Segurança
* **Extensibilidade** - Macros e includes