Code Council

Seu Conselho de Revisão de Código com IA - Obtenha perspectivas diversas de múltiplos modelos de IA em paralelo.

Documentação

Code Council

Uma IA pode deixar passar coisas. Um conselho de IAs captura mais.

npm version License: MIT CI codecov

Ver Documentação | npm

O Code Council executa seu código através de múltiplos modelos de IA simultaneamente e mostra onde eles concordam, onde discordam e o que apenas um modelo detectou.

Code Council

Exemplo de Saída

## Consensus Analysis

### Unanimous (All 4 models agree) - High Confidence

**Critical: SQL Injection Vulnerability**
Location: src/api/users.ts:42

The user input is directly interpolated into the SQL query without sanitization.
Use parameterized queries instead.

---

### Majority (3 of 4 models) - Moderate Confidence

**High: Missing Input Validation**
Location: src/api/users.ts:38

The userId parameter is used without validation. Add type checking.

---

### Disagreement - Your Judgment Needed

**Session Token Expiration**
Location: src/api/auth.ts:28

- Kimi K2.5: "Tokens should expire after 24 hours"
- DeepSeek V3.2: "Current 7-day expiration is reasonable for this use case"
- Minimax M2.1: "No issue found"

---

### Single Model Finding - Worth Checking

**Low: Magic Number**
Location: src/utils/pagination.ts:12
Found by: GLM 4.7

The value 20 should be extracted to a named constant.

Por que Múltiplos Modelos?

Modelos de IA diferentes têm pontos fortes diferentes:

  • Um modelo pode deixar passar um problema de segurança que outro detecta
  • Descobertas unânimes são quase certamente problemas reais
  • Discordâncias destacam onde você deve olhar mais de perto
  • Descobertas de um único modelo podem ser ruído, ou podem ser o único modelo que viu algo que os outros deixaram passar

Pense nisso como ter 4 engenheiros seniores revisando seu código de uma só vez.

How Consensus Works

Início Rápido

Servidor MCP (Claude Desktop, Cursor, etc.)

Adicione à sua configuração do Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json no macOS):

{
  "mcpServers": {
    "code-council": {
      "command": "npx",
      "args": ["-y", "@klitchevo/code-council"],
      "env": {
        "OPENROUTER_API_KEY": "your-api-key-here"
      }
    }
  }
}

Obtenha sua chave de API em OpenRouter.

É só isso. Peça ao Claude: "Use review_code para verificar esta função: [cole o código]"

CLI (GitHub Actions, CI/CD)

Execute revisões diretamente da linha de comando:

# Review git changes
npx @klitchevo/code-council review git --review-type diff

# Review with inline PR comments format (for GitHub Actions)
npx @klitchevo/code-council review git --review-type diff --format pr-comments

# Review code from stdin
echo "function foo() {}" | npx @klitchevo/code-council review code

# Review with custom models
npx @klitchevo/code-council review git --models "anthropic/claude-sonnet-4,openai/gpt-4o"

# Show help
npx @klitchevo/code-council review --help

Mais opções de configuração: Consulte o Guia de Configuração para Cursor, VS Code, modelos personalizados e opções avançadas.

GitHub Actions

Revise PRs automaticamente com múltiplos modelos de IA. As descobertas aparecem como comentários inline nas linhas exatas do código. As correções de código usam a sintaxe de sugestão do GitHub para aplicação com um clique. Re-execuções limpam automaticamente comentários antigos.

Configuração Rápida

Gere o arquivo de workflow automaticamente:

npx @klitchevo/code-council setup workflow

Isso cria .github/workflows/code-council-review.yml com comentários inline de PR habilitados.

Opções:

  • --simple - Usa o formato markdown em vez de comentários inline
  • --force - Sobrescreve o arquivo de workflow existente

Configuração Manual

Ou crie o workflow manualmente:

name: Code Council Review

on:
  pull_request:
    types: [opened, synchronize, ready_for_review, reopened]

jobs:
  review:
    runs-on: ubuntu-latest
    if: github.event.pull_request.draft == false
    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Run Code Council Review
        env:
          OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
        run: |
          npx @klitchevo/code-council review git \
            --review-type diff \
            --format pr-comments \
            > review.json

      - name: Post Review
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews \
            --method POST \
            --input review.json

Adicione OPENROUTER_API_KEY aos segredos do seu repositório (Settings > Secrets > Actions).

Casos de Uso

CenárioFerramentaO Que Você Obtém
Prestes a fazer merge de um PRreview_git_changesRevisão multi-modelo do seu diff
Revisões automatizadas de PRCLI review gitRevisão multi-modelo no GitHub Actions
Planejando um refactorreview_planDetecte problemas de design antes de codificar
Revisando componentes Reactreview_frontendFoco em acessibilidade + performance + UX
Protegendo um endpoint de APIreview_backendAnálise de segurança + arquitetura
Quer discussão mais aprofundadadiscuss_with_councilConversa multi-turno com contexto
Auditoria de todo o codebasetps_auditAnálise de fluxo, desperdício e gargalos

Referência completa de ferramentas: Consulte a Referência de Ferramentas para todos os parâmetros e exemplos.

Lendo os Resultados

O Code Council mostra níveis de confiança para cada descoberta:

NívelSignificadoAção
UnânimeTodos os modelos concordamAlta confiança - corrija isso
MaioriaA maioria dos modelos concordaProvavelmente válido - investigue
DiscordânciaOs modelos conflitamSeu julgamento é necessário
ÚnicoApenas um modelo encontrou issoVale a pena verificar

Configuração

O Code Council funciona imediatamente com padrões sensatos. Para personalização:

Exemplo de Modelos Personalizados

{
  "env": {
    "OPENROUTER_API_KEY": "your-api-key",
    "CODE_REVIEW_MODELS": ["anthropic/claude-sonnet-4.5", "openai/gpt-4o"]
  }
}

Custo

Os modelos padrão são escolhidos por custo-benefício (~$0,01–0,05 por revisão).

Troque para Claude/GPT-4 para maior qualidade a um custo mais alto (~$0,10–0,30 por revisão).

Consulte o Guia de Seleção de Modelos para detalhes de preços e dicas de otimização.

Requisitos

  • Node.js >= 18.0.0
  • Chave de API do OpenRouter
  • Cliente compatível com MCP (Claude Desktop, Cursor, etc.)

Solução de Problemas

"OPENROUTER_API_KEY environment variable is required" Adicione a chave de API à seção env da configuração do seu cliente MCP.

Revisões lentas Isso é esperado ao usar múltiplos modelos. Considere usar menos modelos ou modelos mais rápidos, como o Gemini Flash.

Modelos retornando erros Verifique seus créditos do OpenRouter e a disponibilidade dos modelos em status.openrouter.ai.

Contribuindo

Contribuições são bem-vindas! Abra uma issue ou um PR.

Licença

MIT

Links