Code Council

Tu Consejo de Revisión de Código con IA - Obtén perspectivas diversas de múltiples modelos de IA en paralelo.

Documentación

Code Council

Una sola IA puede pasar por alto cosas. Un consejo de IAs detecta más.

npm version License: MIT CI codecov

Ver Documentación | npm

Code Council ejecuta tu código a través de múltiples modelos de IA simultáneamente, y luego te muestra dónde coinciden, dónde discrepan, y qué solo un modelo detectó.

Code Council

Ejemplo de Salida

## 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 Qué Múltiples Modelos?

Diferentes modelos de IA tienen diferentes fortalezas:

  • Un modelo podría pasar por alto un problema de seguridad que otro detecta
  • Hallazgos unánimes son casi con certeza problemas reales
  • Desacuerdos resaltan dónde deberías mirar más de cerca
  • Hallazgos de un solo modelo podrían ser ruido, o podrían ser el único modelo que vio algo que otros pasaron por alto

Piénsalo como tener 4 ingenieros senior revisando tu código a la vez.

How Consensus Works

Inicio Rápido

Servidor MCP (Claude Desktop, Cursor, etc.)

Añade a tu configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

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

Obtén tu clave API en OpenRouter.

Eso es todo. Pídele a Claude: "Usa review_code para revisar esta función: [pega el código]"

CLI (GitHub Actions, CI/CD)

Ejecuta revisiones directamente desde la línea de comandos:

# 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

Más opciones de configuración: Consulta la Guía de Configuración para Cursor, VS Code, modelos personalizados y opciones avanzadas.

GitHub Actions

Revisa automáticamente PRs con múltiples modelos de IA. Los hallazgos aparecen como comentarios en línea en las líneas exactas del código. Las correcciones de código usan la sintaxis de sugerencias de GitHub para aplicar con un clic. Las re-ejecuciones limpian automáticamente los comentarios antiguos.

Configuración Rápida

Genera el archivo de workflow automáticamente:

npx @klitchevo/code-council setup workflow

Esto crea .github/workflows/code-council-review.yml con comentarios en línea de PR habilitados.

Opciones:

  • --simple - Usa formato markdown en lugar de comentarios en línea
  • --force - Sobrescribe el archivo de workflow existente

Configuración Manual

O crea el 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

Añade OPENROUTER_API_KEY a los secretos de tu repositorio (Settings > Secrets > Actions).

Casos de Uso

EscenarioHerramientaLo Que Obtienes
A punto de fusionar un PRreview_git_changesRevisión multi-modelo de tu diff
Revisiones de PR automatizadasCLI review gitRevisión multi-modelo en GitHub Actions
Planificando un refactorreview_planDetecta problemas de diseño antes de codificar
Revisando componentes Reactreview_frontendEnfoque en accesibilidad + rendimiento + UX
Asegurando un endpoint de APIreview_backendAnálisis de seguridad + arquitectura
Quieres una discusión más profundadiscuss_with_councilConversación multi-turno con contexto
Auditar todo el codebasetps_auditAnálisis de flujo, desperdicio, cuellos de botella

Referencia completa de herramientas: Consulta la Referencia de Herramientas para todos los parámetros y ejemplos.

Leyendo los Resultados

Code Council muestra niveles de confianza para cada hallazgo:

NivelSignificadoAcción
UnánimeTodos los modelos coincidenAlta confianza - corrígelo
MayoríaLa mayoría de los modelos coincidenProbablemente válido - investiga
DesacuerdoLos modelos están en conflictoSe necesita tu criterio
IndividualUn modelo encontró estoVale la pena verificarlo

Configuración

Code Council funciona de inmediato con valores predeterminados sensatos. Para personalización:

Ejemplo de Modelos Personalizados

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

Costo

Los modelos predeterminados se eligen por su relación costo-efectividad (~$0.01-0.05 por revisión).

Cambia a Claude/GPT-4 para mayor calidad a mayor costo (~$0.10-0.30 por revisión).

Consulta la Guía de Selección de Modelos para detalles de precios y consejos de optimización.

Requisitos

  • Node.js >= 18.0.0
  • Clave API de OpenRouter
  • Cliente compatible con MCP (Claude Desktop, Cursor, etc.)

Solución de Problemas

"Se requiere la variable de entorno OPENROUTER_API_KEY" Añade la clave API a la sección env de la configuración de tu cliente MCP.

Las revisiones son lentas Esto es esperado al usar múltiples modelos. Considera usar menos modelos o modelos más rápidos como Gemini Flash.

Los modelos devuelven errores Verifica tus créditos de OpenRouter y la disponibilidad de modelos en status.openrouter.ai.

Contribuciones

¡Las contribuciones son bienvenidas! Por favor abre un issue o un PR.

Licencia

MIT

Enlaces