Skip to content

📂 Archivos y Control de Git

En esta sección se detallan a fondo los comandos para interactuar con el sistema de archivos del workspace, operaciones avanzadas de Git y la gestión de workspaces y sesiones.


📁 /add-dir (Indexación Masiva de Carpetas)

Agrega directorios completos y extensos de golpe al mapa semántico del agente.

  • Sintaxis:
    text
    /add-dir <ruta_directorio>
  • Caso de uso: Si acabas de clonar un módulo secundario o quieres que el agente tenga visibilidad total de una nueva carpeta de componentes sin esperar a que el modelo los vaya descubriendo uno a uno.

🌿 /branch (Operaciones de Git en Caliente)

Permite al agente comparar, cambiar, crear o listar ramas de Git directamente en caliente.

  • Sintaxis:
    text
    /branch <crear | cambiar | listar | comparar> [nombre_rama]
  • Ejemplos:
    • /branch crear feature/auth-fix
    • /branch cambiar main

🔍 /diff (Visualización de Cambios)

Muestra un visor interactivo de todas las modificaciones y parches aplicados por el agente sobre tus archivos locales en la sesión actual frente a tu commit activo.

  • Sintaxis:
    text
    /diff
  • Detalle técnico: Renderiza un diff en la terminal con formato de color verde (añadido) y rojo (removido), dándote total claridad de lo que ha hecho el agente antes de realizar un commit.

📄 /files (Seguimiento de Archivos en Contexto)

Muestra una lista filtrable de los archivos que el modelo está siguiendo de forma activa en su memoria a corto plazo.

  • Sintaxis:
    text
    /files
  • Bypass de Contexto: Puedes usar /files clear para remover de golpe todos los archivos del tracking de memoria activa, liberando espacio de tokens si vas a saltar a un módulo de código totalmente diferente.

🏷️ /rename (Refactorización Segura)

Permite renombrar variables, funciones, clases o archivos completos de forma estricta y segura en cascada.

  • Sintaxis:
    text
    /rename <nombre_antiguo> <nombre_nuevo>
  • Detalle técnico: Analiza la arquitectura del proyecto para modificar no solo el nombre físico del archivo o variable, sino también todas las importaciones y referencias cruzadas en el resto de los archivos del repositorio para evitar fallos de compilación.

🔄 /rewind (Rebobinado Temporal de Cambios)

Deshace los parches de código y los turnos aplicados por el agente en tu sesión. Es una "máquina del tiempo" local.

  • Sintaxis:
    text
    /rewind [numero_turnos]
  • Caso de uso: Si el agente aplicó parches complejos en los últimos 2 turnos pero los tests de compilación fallaron y prefieres volver al estado de código de hace 2 turnos para tomar otra estrategia.

🔗 /session y /resume (Vinculación y Reanudación)

Permite gestionar la persistencia y la reanudación de sesiones previas en caliente mediante identificadores UUID.

  • Sintaxis:
    text
    /session
    /resume <session_uuid>
  • Detalle técnico: /session te proporciona el código QR y enlace para chatear de forma remota, mientras que /resume te permite inyectar el UUID de una sesión anterior para recuperar el buffer completo de la terminal y continuar trabajando donde te quedaste.

📤 /export (Exportar Sesión)

Exporta la conversación completa, métricas de consumo de tokens y parches a un archivo comprimido o formato Markdown.

  • Sintaxis:
    text
    /export

🗺️ /workspace y /teleport (Persistencia de Espacios)

Permite crear, listar y saltar entre diferentes espacios de trabajo locales en tu disco.

  • Sintaxis:
    text
    /workspace [crear | listar]
    /teleport <alias_workspace>

🧾 Operaciones de Commit y Pull Request

💾 /commit (Commit Asistido por el Agente)

Pide al agente que cree un commit a partir del estado actual del repositorio (alias: /confirmar). El agente analiza git status, git diff HEAD, la rama actual y los 10 últimos commits para inferir el estilo del repositorio y redactar un mensaje conciso enfocado en el "por qué".

  • Sintaxis:
    text
    /commit
  • Herramientas autorizadas: únicamente Bash(git add:*), Bash(git status:*) y Bash(git commit:*). No puede tocar push, rebase ni reset aunque tú se lo pidas en lenguaje natural — la lista blanca está hardcodeada en el comando.
  • Protocolo de seguridad Git aplicado automáticamente:
    • Jamás modifica git config.
    • Nunca usa --no-verify, --no-gpg-sign ni omite hooks.
    • Siempre crea un commit nuevo — nunca usa git commit --amend salvo que se lo pidas explícitamente.
    • Detecta y advierte si los archivos a comitear parecen contener secretos (.env, credentials.json).
    • Si no hay cambios, no crea commits vacíos.
  • Caso de uso: sesiones largas en las que prefieres no parar a redactar mensajes — el agente respeta el estilo de tu historial reciente (Convencional, scope, etc.) y agrega la atribución de Context Code si está configurada.

🚀 /commit-push-pr (Commit + Push + Pull Request)

Flujo completo en un solo comando: redacta el mensaje, crea/cambia la rama si estás en main/master, hace push y abre (o actualiza) un PR en GitHub.

  • Sintaxis:
    text
    /commit-push-pr
    /commit-push-pr <instrucciones adicionales para el agente>
  • Herramientas autorizadas: git checkout/add/status/push/commit, gh pr create/edit/view/merge, ToolSearch y herramientas Slack (mcp__slack__send_message, mcp__claude_ai_Slack__slack_send_message).
  • Comportamiento esperado:
    1. Si estás en la rama por defecto (main/master), crea una rama nueva con prefijo ${SAFEUSER}/ (o ${USER}/ si no hay SAFEUSER).
    2. Hace commit con HEREDOC para preservar el mensaje multilinea.
    3. Hace git push al origen.
    4. Si ya existe un PR para esta rama, lo actualiza con gh pr edit; si no, lo crea con gh pr create (título < 70 caracteres, body con Summary + Test plan).
    5. Si tu CLAUDE.md menciona canales de Slack, te ofrece postear el URL del PR (solo si confirmas).
  • Protocolo de seguridad Git aplicado:
    • Nunca hace push --force a main/master — solo te advierte si lo pides.
    • No omite hooks por defecto.
    • No commitea archivos sospechosos de secretos.
  • Caso de uso: PRs de fixes rápidos donde quieres ir del diff al PR abierto sin friction. Útil con instrucciones extra: /commit-push-pr fix typo en README, no hace falta test plan.

🏷️ /tag (Etiquetas de Búsqueda — interno Anthropic)

Activa o desactiva una etiqueta de búsqueda sobre la sesión actual para indexar el historial por tema (alias: /etiqueta). Solo disponible cuando USER_TYPE=ant — para usuarios externos el comando queda oculto.

  • Sintaxis:
    text
    /tag <nombre-etiqueta>
  • Detalle técnico: la etiqueta se guarda con saveTag ligada al sessionId y transcriptPath actuales, permitiendo localizar transcripciones posteriormente por nombre de tag. Pasar el nombre de un tag ya activo lo elimina; pasar uno nuevo lo añade.

💬 /pr-comments (Comentarios de Pull Request — vía plugin)

Recupera y formatea los comentarios de un Pull Request de GitHub (alias: /comentarios-pr). Actualmente entregado como plugin de marketplace (pr-comments) — si no lo tienes instalado, Context Code muestra el prompt embebido como fallback hasta que el marketplace privado lo publique.

  • Sintaxis:
    text
    /pr-comments
    /pr-comments <instrucciones extra>
  • Funcionamiento: el agente ejecuta:
    1. gh pr view --json number,headRepository para resolver PR y repositorio.
    2. gh api /repos/{owner}/{repo}/issues/{number}/comments para los comentarios del nivel PR.
    3. gh api /repos/{owner}/{repo}/pulls/{number}/comments para los comentarios de code review (con body, diff_hunk, path, line).
    4. Si un comentario referencia código, lo recupera vía gh api /repos/.../contents/{path}?ref={branch} decodificando base64.
  • Formato de salida: Markdown anidado por hilo: @autor archivo.ts#linea + bloque de diff_hunk + cita del comentario + replies indentadas. Si no hay comentarios, devuelve literalmente "No comments found.".

Desarrollado con pasión e Inteligencia Artificial.