CommunityProgramación y desarrollogithub.com

codemap

Mapea los archivos de un proyecto de tipos determinados en una sola llamada, agrupados por directorio, opcionalmente con las clases/funciones/exportaciones de cada archivo. Úsalo antes de leer archivos cuando necesites todos los archivos de un tipo (ej. todos los controladores .php, todas las fuentes .css/.scss) o una visión general de lo que define un directorio. Para un nombre de archivo conocido o un patrón glob concreto, usa Glob en su lugar.

¿Qué es codemap?

Esta habilidad, llamada **codemap**, proporciona a un agente de IA (como Claude Code, Cursor, Codex, etc.) una forma rápida y eficiente de obtener un mapa completo del proyecto basado en tipos de archivo. En lugar de escanear el sistema de archivos repetidamente, el agente puede invocar `codemap` con uno o más tipos de extensión (ej. `--ext php,blade.php`), y opcionalmente restringir a un directorio específico (`--dir`) o extraer símbolos como clases, funciones y exportaciones (`--symbols`). Esto es especialmente útil cuando el agente necesita localizar todos los archivos de ciertos tipos (p. ej., todos los controladores PHP o todas las hojas de estilo CSS/SCSS) o necesita entender la estructura de un directorio antes de leer archivos individuales. La herramienta respeta `.gitignore` y omite automáticamente directorios típicos como `vendor/` y `node_modules/`. Está diseñada para complementar otras herramientas como Glob (cuando se conoce el nombre del archivo) o Grep (cuando se busca texto dentro de archivos), y es recomendada para subagentes que comienzan a trabajar en un área desconocida del proyecto.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Borcioo/claude-skills/tree/HEAD/experiments/codemap/skills/codemap

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace codemap?

Ejecuta el script empaquetado. Lee el árbol de trabajo actual en cada llamada e imprime un mapa compacto y ordenado; nunca escribe nada.

${CLAUDE_SKILL_DIR}/scripts/codemap --ext php,blade.php --dir app
${CLAUDE_SKILL_DIR}/scripts/codemap --ext css,scss --symbols
${CLAUDE_SKILL_DIR}/scripts/codemap --ext ts,tsx --dir src --symbols --max 150

Opciones: --ext (separado por comas, sin puntos), --dir, --symbols, --max (límite de líneas de salida, por defecto 300), --exclude REGEX (repetible).

La salida tiene el siguiente aspecto:

# codemap: 12 files in 3 dirs (dir: app, ext: php, via rg)
Http/Controllers/
  UserController.php: class UserController, fn index, fn store

Cuándo usarlo

  • Necesitas todos los archivos de uno o más tipos y no sabes dónde se encuentran.
  • Estás a punto de leer varios archivos solo para saber qué definen: ejecuta primero con --symbols y lee solo los archivos que importan.
  • Un subagente comienza a trabajar en un área desconocida: pásale el mapa de código de ese directorio en lugar de dejar que busque desde cero.

Cuándo no usarlo

  • Conoces el nombre del archivo o un patrón preciso: usa Glob.
  • Necesitas texto dentro de archivos: usa Grep.
  • Necesitas definiciones o referencias de un símbolo y un plugin LSP está habilitado: usa la herramienta LSP.

Trucos

  • Se respeta .gitignore cuando ripgrep o git están disponibles; vendor/, node_modules/, la salida de compilación, los archivos minimizados y los mapas fuente siempre se omiten.
  • Los símbolos provienen de patrones basados en líneas, no de un analizador sintáctico: clases/funciones PHP de nivel superior, exportaciones JS/TS, class/def de nivel superior en Python, type/func de Go, propiedades personalizadas CSS (como recuento) y mixins de SCSS/Less. Trátalos como una tabla de contenidos y luego lee el archivo.
  • Cuando la salida termina con # ... truncated, reduce con --dir, --ext o --exclude en lugar de aumentar mucho --max.

Skills relacionados