Biblioteca · Automatización: navegador, pantalla y horarios

Claude Code en la terminal (CLI): cuándo rinde más que el editor

Creador50 minActualizado: octubre de 2026
42 de 105 en la biblioteca

Tiempo: unos 20 min de teoría + 30 min de práctica


Lo esencial

VS Code con la extensión es bonito y cómodo para empezar. Pero la verdadera fuerza de Claude Code aparece en la terminal: scripts, automatización, CI/CD (Continuous Integration/Delivery: compilación y entrega automáticas), bots (programas automatizados) y tareas programadas (que corren según un horario con el programador cron). La CLI (interfaz de línea de comandos) funciona donde no hay interfaz gráfica: en un servidor, en Docker o en GitHub Actions.

🎨 Imagínalo así: VS Code es como una computadora con mouse en una oficina. La CLI es como darle instrucciones por teléfono a un mecánico en el taller. Cuando tienes un solo mecánico y hay que darles tareas a tres cuadrillas a la vez, el teléfono (la CLI) rinde más que ir a explicarle a cada una en persona.


Conceptos clave

  • El comando claude: abre Claude desde cualquier carpeta en la terminal
  • La bandera -p (print mode): una sola petición, sin modo interactivo
  • stdin/stdout/pipe: Claude como una pieza más de una cadena de comandos de Unix
  • --model / --max-budget-usd: control del modelo y del costo
  • Modo headless (sin interfaz gráfica): para automatizar sin una persona presente
  • API (interfaz de programación de aplicaciones): la forma en que un programa habla con un servicio
  • CLAUDE.md en la carpeta: el contexto funciona en la CLI igual que en VS Code

Teoría

Instalar la CLI

A octubre de 2026, la forma principal es el instalador nativo (se actualiza solo). Métodos vigentes y requisitos del sistema: documentación de instalación.

bash
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash

# Windows PowerShell
irm https://claude.ai/install.ps1 | iex

# Homebrew (macOS): no se actualiza solo, usa brew upgrade claude-code
brew install --cask claude-code

# Con npm (requiere Node.js 22+): también funciona
npm install -g @anthropic-ai/claude-code

# Verifica la instalación
claude --version

# Primer arranque: se abre la autorización en el navegador
claude

Claude Code viene incluido en los planes de pago (Pro, Max, Team, Enterprise) o funciona con una clave de API de la Console; el plan gratis de claude.ai no lo incluye. Precios y planes vigentes: Lo vigente.

La CLI y la extensión de VS Code usan la misma cuenta: si inicias sesión en una, funciona en las dos.


Modos de trabajo de la CLI

🎨 Imagínalo así: la CLI de Claude es como una navaja suiza. La navaja abierta (modo interactivo) es una conversación completa. Una herramienta concreta de la navaja (la bandera -p) es una acción rápida y puntual. El pipe es pasar la navaja de mano en mano por una fila de personas.

1. Modo interactivo (como en VS Code)

bash
cd mi-proyecto/
claude
# Se abre un chat completo dentro de la terminal

2. Una sola petición con -p (print mode)

bash
# Hace la pregunta y muestra la respuesta de inmediato
claude -p "Escribe una función en Python que calcule el IVA"

# Elegimos el modelo
claude -p --model haiku "Necesito una respuesta rápida"

# Limitamos el presupuesto
claude -p --max-budget-usd 0.10 "Revisa este código"

3. stdin: pasar datos con un pipe

bash
# Analizamos un archivo
cat server.log | claude -p "Encuentra los errores y explica sus causas"

# Analizamos código
cat app.py | claude -p "Encuentra posibles bugs en este código"

# Analizamos la salida de otro comando
git diff HEAD~3 | claude -p "Escribe un changelog para estos cambios"

# Datos desde un JSON
curl -s api.example.com/data.json | claude -p "Encuentra anomalías en los datos"

4. Contexto desde archivos

bash
# Claude lee el archivo y responde la pregunta
claude -p "¿Qué hace este código?" < main.py

# Varios archivos a través de un archivo temporal
cat requirements.txt Dockerfile > /tmp/context.txt
claude -p "¿Hay conflictos de versiones?" < /tmp/context.txt

La CLI en scripts: ejemplos reales

🎨 Imagínalo así: la CLI dentro de un script es como el piloto automático de un avión. El piloto configura la ruta una vez y luego el avión vuela solo. Un script con Claude Code se configura una vez y trabaja todos los días sin ti.

Reporte diario del código:

Puedes programar la ejecución con cron, y el propio Claude Code trae routines integradas y /loop: mira la lección Loop vs Scheduled Tasks.

bash
#!/usr/bin/env bash
# daily-code-review.sh: corre cada mañana a las 09:00

cd ~/proyecto/

# Reunimos los cambios de ayer
CHANGES=$(git log --since="1 day ago" --oneline)

if [ -z "$CHANGES" ]; then
  echo "No hubo cambios"
  exit 0
fi

# Se los mandamos a Claude para que los analice
SUMMARY=$(echo "$CHANGES" | claude -p "
Analiza estos commits de git de ayer.
Destaca: los cambios principales, los posibles riesgos y qué conviene probar.
Formato: viñetas breves, no más de 200 palabras.
")

# Enviamos el resumen a un chat de Telegram (puedes cambiarlo por Slack, correo u otro canal)
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
  --data-urlencode "chat_id=${CHAT_ID}" \
  --data-urlencode "text=📊 Resumen de ayer:\n${SUMMARY}"

Documentación automática:

bash
#!/usr/bin/env bash
# generate-docs.sh

for file in src/**/*.py; do
  echo "Documentando: $file"
  
  # Generamos un docstring para cada función
  # (trabaja en una rama de git aparte y revisa git diff: el modelo puede agregar texto de más)
  DOCS=$(cat "$file" | claude -p "
  Agrega docstrings detallados a todas las funciones de este archivo de Python.
  Formato: Google Style. Devuelve solo el código con los docstrings agregados.
  ")
  
  # Sobrescribimos el archivo
  echo "$DOCS" > "$file"
done

echo "¡Documentación actualizada!"

Revisión de código antes del commit:

bash
#!/usr/bin/env bash
# pre-commit-review.sh (puedes agregarlo en .git/hooks/pre-commit)

STAGED=$(git diff --cached)

if [ -z "$STAGED" ]; then
  exit 0
fi

REVIEW=$(echo "$STAGED" | claude -p "
Eres un revisor de código con experiencia.
Revisa estos cambios en busca de: bugs, problemas de seguridad y malas prácticas.
Si todo está bien, responde PASS.
Si hay problemas, enuméralos brevemente.
")

echo "$REVIEW"

# Si Claude encontró problemas, bloqueamos el commit
if [[ "$REVIEW" != *"PASS"* ]]; then
  echo "❌ La revisión de código encontró problemas. Corrígelos e inténtalo de nuevo."
  exit 1
fi

echo "✅ Revisión de código aprobada"
exit 0

CLI vs MCP Marketplace: qué elegir y cuándo

🎨 Imagínalo así: la CLI es como el martillo y los clavos. Siempre a la mano, rápida, confiable. MCP (Model Context Protocol, protocolo de contexto del modelo) es como una herramienta de construcción especializada (un rotomartillo, un nivel láser). Sirve para tareas específicas, pero hay que instalarla y configurarla.

Tarea CLI MCP
Una sola petición ✅ Ideal Trabajo de más
Script de automatización ✅ Nativo Más complicado
Pipeline de CI/CD ✅ Sencillo Configuración complicada
Bot de Telegram/Discord ✅ Con -p No tiene sentido
Acceso a bases de datos Mejor MCP ✅ Integración nativa
Automatización del navegador Mejor MCP ✅ Playwright MCP
Integración con GitHub Los dos sirven ✅ GitHub MCP
Trabajo sin red ✅ Funciona Requiere servidor
Docker/serverless ✅ Nativo Configuración complicada

La regla: la CLI para automatización y scripts. MCP para integrarte con servicios concretos en modo interactivo.


Git Worktrees: trabajo en paralelo

🎨 Imagínalo así: los worktrees de Git son como tener varios escritorios en una misma computadora. En uno haces una función nueva, en otro arreglas un bug, en el tercero Claude hace pruebas, todo al mismo tiempo y sin cambiar de rama.

bash
# Creamos una carpeta aparte para la nueva función
git worktree add ../proyecto-feature-X feature/new-payment

# En la carpeta principal: el trabajo actual
cd ~/proyecto/
claude  # Trabajamos en la rama principal

# En la carpeta de al lado: otro Claude
cd ~/proyecto-feature-X/
claude  # El segundo Claude trabaja en la función por su cuenta

Claude Code puede crear el worktree por sí mismo: claude -w feature-auth abre una sesión en una copia de trabajo aislada.

Ventajas:

  • Las distintas sesiones de Claude no se estorban entre sí
  • Puedes tener un CLAUDE.md distinto para cada tarea
  • Puedes hacer revisión de código en un worktree mientras escribes código en otro

Banderas útiles de la CLI

bash
# Banderas principales
claude -p "petición"                        # Print mode (sin modo interactivo)
claude -p --model haiku                     # Elegir modelo por alias (sonnet, opus, haiku, fable) o por nombre completo
claude -p --max-budget-usd 0.50             # Tope de costo (solo en print mode)
claude -p --max-turns 3                     # Tope de pasos del agente
claude -p --tools ""                        # Desactivar todas las herramientas integradas (seguridad)
claude -p --output-format json              # Salida en JSON

# Trabajo con el contexto
claude --add-dir ../lib                     # Dar acceso a una carpeta adicional
claude --append-system-prompt "Responde en español"  # Agregar una regla al prompt de sistema (las instrucciones base para la IA)

# Modo autónomo
claude --dangerously-skip-permissions       # Saltar las confirmaciones (para CI)
# ¡Úsalo solo en entornos aislados (Docker, GitHub Actions)!
# Lista completa de banderas: https://code.claude.com/docs/en/cli-reference

Claude Code en GitHub Actions

yaml
# .github/workflows/ai-review.yml
name: AI Code Review

on: [pull_request]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0
      
      - name: Install Claude Code CLI
        run: npm install -g @anthropic-ai/claude-code
      
      - name: Get PR diff
        run: git diff origin/main...HEAD > /tmp/pr-diff.txt
      
      - name: AI Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          # --tools "": el texto del PR no es de confianza (prompt injection), así que Claude solo lee el diff y responde, sin herramientas
          REVIEW=$(cat /tmp/pr-diff.txt | claude -p \
            --tools "" \
            --max-budget-usd 1.00 \
            "Revisa este PR en busca de bugs y problemas de seguridad. Sé breve.")
          echo "## AI Code Review" >> $GITHUB_STEP_SUMMARY
          echo "$REVIEW" >> $GITHUB_STEP_SUMMARY

Para revisar PR y responder a @claude en los comentarios también existe una GitHub Action oficial de Anthropic: anthropics/claude-code-action@v1 (configuración rápida con el comando /install-github-app). Detalles: documentación de GitHub Actions.


Práctica

  1. Instala la CLI con el instalador nativo (el comando está al inicio de la lección)
  2. Comprueba que funciona: claude -p "Escribe un hola mundo en Python"
  3. Prueba un pipe: cat tu-script.py | claude -p "Encuentra bugs"
  4. Crea un daily-report.sh que analice el git log y envíe un resumen
  5. Agrega un hook pre-commit con revisión de código

Herramientas y recursos


Ideas clave

La CLI abre Claude Code a la automatización: scripts, CI/CD, bots, tareas programadas. Donde no hay interfaz gráfica, la CLI es la única opción.

La bandera -p convierte a Claude en una herramienta de Unix: cat file | claude -p "analiza". Eso abre combinaciones sin fin con otros comandos.

La CLI donde necesitas velocidad y automatización. MCP donde necesitas integrarte con un servicio concreto (una base de datos, el navegador, GitHub).


Siguiente lección

→ Los competidores que perdieron: la historia de Devin, Windsurf y Manus

La marca se guarda solo en este navegador y no se envía a ningún sitio. Mi progreso