Skip to content

Uso básico

Inicio rápido

Empaqueta todo tu repositorio:

bash
repomix

Casos de uso comunes

Empaquetar directorios específicos

bash
repomix ruta/al/directorio

Incluir archivos específicos

Usa patrones glob:

bash
repomix --include "src/**/*.ts,**/*.md"

Excluir archivos

bash
repomix --ignore "**/*.log,tmp/"

Repositorios remotos

bash
# Usando la URL de GitHub
repomix --remote https://github.com/usuario/repositorio

# Usando la abreviatura
repomix --remote usuario/repositorio

# Rama/etiqueta/commit específico
repomix --remote usuario/repositorio --remote-branch main
repomix --remote usuario/repositorio --remote-branch 935b695

Entrada de lista de archivos (stdin)

Pasa rutas de archivos a través de stdin para máxima flexibilidad:

bash
# Usando el comando find
find src -name "*.ts" -type f | repomix --stdin

# Usando git para obtener archivos rastreados
git ls-files "*.ts" | repomix --stdin

# Usando ripgrep (rg) para encontrar archivos
rg --files --type ts | repomix --stdin

# Usando grep para encontrar archivos que contienen contenido específico
grep -l "TODO" **/*.ts | repomix --stdin

# Usando ripgrep para encontrar archivos con contenido específico
rg -l "TODO|FIXME" --type ts | repomix --stdin

# Usando sharkdp/fd para encontrar archivos
fd -e ts | repomix --stdin

# Usando fzf para seleccionar de todos los archivos
fzf -m | repomix --stdin

# Selección interactiva de archivos con fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin

# Usando ls con patrones glob
ls src/**/*.ts | repomix --stdin

# Desde un archivo que contiene rutas de archivos
cat file-list.txt | repomix --stdin

# Entrada directa con echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

La opción --stdin te permite canalizar una lista de rutas de archivos a Repomix, brindando máxima flexibilidad en la selección de qué archivos empaquetar.

Cuando se usa --stdin, los archivos especificados se agregan efectivamente a los patrones de inclusión. Esto significa que el comportamiento normal de inclusión e ignorar sigue aplicando - los archivos especificados vía stdin aún serán excluidos si coinciden con patrones de ignorar.

NOTE

Cuando uses --stdin, las rutas de archivos pueden ser relativas o absolutas, y Repomix manejará automáticamente la resolución de rutas y la eliminación de duplicados.

Compresión de código

bash
repomix --compress

# También puedes usarlo con repositorios remotos:
repomix --remote yamadashy/repomix --compress

Integración con Git

Incluye información de Git para proporcionar contexto de desarrollo al análisis de IA:

bash
# Incluir diffs de git (cambios sin commit)
repomix --include-diffs

# Incluir logs de commits de git (últimos 50 commits por defecto)
repomix --include-logs

# Incluir número específico de commits
repomix --include-logs --include-logs-count 10

# Incluir tanto diffs como logs
repomix --include-diffs --include-logs

Esto añade contexto valioso sobre:

  • Cambios recientes: Los diffs de Git muestran modificaciones sin commit
  • Patrones de desarrollo: Los logs de Git revelan qué archivos típicamente se cambian juntos
  • Historial de commits: Los mensajes de commit recientes proporcionan información sobre el enfoque de desarrollo
  • Relaciones entre archivos: Entender qué archivos se modifican en los mismos commits

Optimización del conteo de tokens

Entender la distribución de tokens de tu base de código es crucial para optimizar las interacciones con IA. Usa la opción --token-count-tree para visualizar el uso de tokens en todo tu proyecto:

bash
repomix --token-count-tree

Esto muestra una vista jerárquica de tu base de código con conteos de tokens:

🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
    ├── cli/ (12,714 tokens)
    │   ├── actions/ (7,546 tokens)
    │   └── reporters/ (990 tokens)
    └── core/ (41,600 tokens)
        ├── file/ (10,098 tokens)
        └── output/ (5,808 tokens)

También puedes establecer un umbral mínimo de tokens para enfocarte en archivos más grandes:

bash
repomix --token-count-tree 1000  # Solo mostrar archivos/directorios con 1000+ tokens

Esto te ayuda a:

  • Identificar archivos pesados en tokens - que podrían exceder los límites de contexto de IA
  • Optimizar la selección de archivos - usando patrones --include e --ignore
  • Planificar estrategias de compresión - dirigiéndose a los mayores contribuyentes
  • Equilibrar contenido vs contexto - al preparar código para análisis de IA

Formatos de salida

XML (predeterminado)

bash
repomix --style xml

Markdown

bash
repomix --style markdown

Texto sin formato

bash
repomix --style plain

Opciones adicionales

Eliminar comentarios

bash
repomix --remove-comments

Mostrar números de línea

bash
repomix --output-show-line-numbers

Copiar al portapapeles

bash
repomix --copy

Deshabilitar la verificación de seguridad

bash
repomix --no-security-check

Configuración

Inicializar el archivo de configuración:

bash
repomix --init

Consulta la Guía de configuración para obtener opciones detalladas.

Released under the MIT License.