Warp, la terminal de agente para desarrolladores
Disponible para MacOS, Linux y Windows
📦 Repomix es una herramienta poderosa que empaqueta todo su repositorio en un solo archivo compatible con IA.
Es perfecto para cuando necesitas alimentar tu base de código a modelos de lenguaje grandes (LLM) u otras herramientas de IA como Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok y más.
🎉 ¡Nuevo: sitio web de Repomix y comunidad de Discord!
- Prueba Repomix en tu navegador en repomix.com
- Únase a nuestro servidor de Discord para recibir apoyo y debate.
¡Esperamos verte allí!
🌟 Características
- Optimizado para IA : formatea su base de código de una manera que sea fácil de entender y procesar para la IA.
- Recuento de tokens : proporciona recuentos de tokens para cada archivo y todo el repositorio, lo cual es útil para los límites de contexto de LLM.
- Fácil de usar : solo necesita un comando para comprimir todo su repositorio.
- Personalizable : configure fácilmente qué incluir o excluir.
- Git-Aware : respeta automáticamente sus archivos
.gitignore
y.git/info/exclude
. - Centrado en la seguridad : incorpora Secretlint para realizar comprobaciones de seguridad sólidas para detectar y prevenir la inclusión de información confidencial.
- Compresión de código : la opción
--compress
utiliza Tree-sitter para extraer elementos de código clave, lo que reduce el recuento de tokens y preserva la estructura.
🚀 Inicio rápido
Uso de la herramienta CLI >_
Puedes probar Repomix instantáneamente en el directorio de tu proyecto sin necesidad de instalación:
O instalar globalmente para uso repetido:
¡Listo! Repomix generará un archivo repomix-output.xml
en tu directorio actual, que contiene todo tu repositorio en un formato compatible con IA.
Luego puedes enviar este archivo a un asistente de IA con un mensaje como el siguiente:
Al proponer cambios específicos, la IA podría generar el código correspondiente. Con funciones como los Artefactos de Claude, se podrían generar múltiples archivos, lo que permite generar múltiples fragmentos de código interdependientes.
¡Feliz codificación! 🚀
Usando el sitio web 🌐
¿Quieres probarlo rápidamente? Visita el sitio web oficial: repomix.com . Simplemente introduce el nombre de tu repositorio, completa los datos opcionales y haz clic en el botón "Empaquetar" para ver el resultado generado.
Opciones disponibles
El sitio web ofrece varias funciones convenientes:
- Formato de salida personalizable (XML, Markdown o texto sin formato)
- Estimación instantánea del recuento de tokens
- ¡Mucho más!
Usando la extensión del navegador 🧩
¡Accede al instante a Repomix directamente desde cualquier repositorio de GitHub! Nuestra extensión para Chrome añade un práctico botón "Repomix" a las páginas del repositorio de GitHub.
Instalar
- Extensión de Chrome: Repomix - Chrome Web Store
- Complemento de Firefox: Próximamente
Características
- Acceso con un clic a Repomix para cualquier repositorio de GitHub
- ¡Pronto habrá más funciones interesantes!
Usando la extensión VSCode ⚡️
Repomix Runner (creada por massdo ), una extensión de VSCode mantenida por la comunidad, te permite ejecutar Repomix directamente en tu editor con solo unos clics. Ejecútalo en cualquier carpeta, gestiona las salidas sin problemas y controla todo a través de la intuitiva interfaz de VSCode.
¿Quieres tu salida como archivo o solo el contenido? ¿Necesitas limpieza automática? Esta extensión te ayuda. Además, funciona a la perfección con tu archivo repomix.config.json.
Pruébalo ahora en VSCode Marketplace . El código fuente está disponible en GitHub .
Herramientas alternativas 🛠️
Si usa Python, es posible que desee consultar Gitingest
, que es más adecuado para el ecosistema de Python y los flujos de trabajo de ciencia de datos: https://github.com/cyclotruc/gitingest
📊 Uso
Para empacar todo su repositorio:
Para empaquetar un directorio específico:
Para empaquetar archivos o directorios específicos usando patrones glob :
Para excluir archivos o directorios específicos:
Para empaquetar un repositorio remoto:
Para comprimir la salida:
Para inicializar un nuevo archivo de configuración ( repomix.config.json
):
Una vez que haya generado el archivo empaquetado, puede usarlo con herramientas de IA generativa como ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok y más.
Uso de Docker 🐳
También puedes ejecutar Repomix usando Docker.
Esto es útil si desea ejecutar Repomix en un entorno aislado o prefiere utilizar contenedores.
Uso básico (directorio actual):
Para empaquetar un directorio específico:
Procesar un repositorio remoto y enviarlo a un directorio output
:
Ejemplos de indicaciones
Una vez generado el archivo comprimido con Repomix, puede usarlo con herramientas de IA como ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok y más. Aquí tiene algunos ejemplos de instrucciones para empezar:
Revisión y refactorización de código
Para una revisión completa del código y sugerencias de refactorización:
Generación de documentación
Para generar la documentación del proyecto:
Generación de casos de prueba
Para generar casos de prueba:
Evaluación de la calidad del código
Evaluar la calidad del código y el cumplimiento de las mejores prácticas:
Descripción general de la biblioteca
Obtenga una comprensión de alto nivel de la biblioteca.
Siéntase libre de modificar estas indicaciones según sus necesidades específicas y las capacidades de la herramienta de IA que esté utilizando.
Discusión comunitaria
Consulta nuestra discusión comunitaria donde los usuarios comparten:
- ¿Qué herramientas de IA están utilizando con Repomix?
- Indicaciones efectivas que han descubierto
- Cómo les ha ayudado Repomix
- Consejos y trucos para aprovechar al máximo el análisis de código de IA
¡Únete a la conversación y comparte tus experiencias! Tus ideas podrían ayudar a otros a usar Repomix mejor.
Formato de archivo de salida
Repomix genera un único archivo con separadores claros entre las diferentes partes de su base de código.
Para mejorar la comprensión de la IA, el archivo de salida comienza con una explicación orientada a la IA, lo que facilita que los modelos de IA comprendan el contexto y la estructura del repositorio empaquetado.
Formato XML (predeterminado)
El formato XML estructura el contenido de forma jerárquica:
Para aquellos interesados en el potencial de las etiquetas XML en contextos de IA:
https://docs.anthropic.com/es/docs/construir-con-claude/ingeniería-pronta/usar-etiquetas-xml
Cuando sus indicaciones incluyen múltiples componentes, como contexto, instrucciones y ejemplos, las etiquetas XML pueden ser un punto de inflexión. Ayudan a Claude a analizar sus indicaciones con mayor precisión, lo que resulta en resultados de mayor calidad.
Esto significa que la salida XML de Repomix no es solo un formato diferente, sino potencialmente una forma más efectiva de alimentar su base de código a los sistemas de IA para análisis, revisión de código u otras tareas.
Formato Markdown
Para generar salida en formato Markdown, utilice la opción --style markdown
:
El formato Markdown estructura el contenido de forma jerárquica:
Este formato proporciona una estructura limpia y legible que es amigable para los humanos y fácilmente analizable por los sistemas de IA.
Formato de texto simple
Para generar salida en formato de texto simple, utilice la opción --style plain
:
Opciones de línea de comandos
Opciones básicas
-v, --version
: Mostrar la versión de la herramienta
Opciones de salida
-o, --output <file>
: especifica el nombre del archivo de salida--stdout
: Salida a stdout en lugar de escribir en un archivo (no se puede utilizar con la opción--output
)--style <style>
: especifica el estilo de salida (xml
,markdown
,plain
)--parsable-style
: Habilita la salida analizable según el esquema de estilo seleccionado. Tenga en cuenta que esto puede aumentar el número de tokens.--compress
: realiza una extracción de código inteligente, centrándose en las funciones esenciales y las firmas de clase para reducir el recuento de tokens--output-show-line-numbers
: Mostrar números de línea en la salida--copy
: Copia adicionalmente la salida generada al portapapeles del sistema--no-file-summary
: Deshabilitar la salida de la sección de resumen de archivos--no-directory-structure
: Deshabilitar la salida de la sección de estructura de directorio--remove-comments
: elimina comentarios de los tipos de archivos admitidos--remove-empty-lines
: Elimina líneas vacías de la salida--header-text <text>
: Texto personalizado para incluir en el encabezado del archivo--instruction-file-path <path>
: Ruta a un archivo que contiene instrucciones personalizadas detalladas--include-empty-directories
: incluye directorios vacíos en la salida--include-diffs
: incluye diferencias de git en la salida (incluye el árbol de trabajo y los cambios preparados por separado)--no-git-sort-by-changes
: deshabilita la clasificación de archivos por recuento de cambios de Git (habilitado de forma predeterminada)
Opciones de filtro
--include <patterns>
: Lista de patrones de inclusión (separados por comas)-i, --ignore <patterns>
: Patrones de ignorar adicionales (separados por comas)--no-gitignore
: deshabilitar el uso del archivo .gitignore--no-default-patterns
: Deshabilitar patrones predeterminados
Opciones de repositorio remoto
--remote <url>
: Procesar un repositorio Git remoto--remote-branch <name>
: especifica el nombre de la rama remota, la etiqueta o el hash de confirmación (el valor predeterminado es la rama predeterminada del repositorio)
Opciones de configuración
-c, --config <path>
: Ruta a un archivo de configuración personalizado--init
: Crear archivo de configuración--global
: Utilizar configuración global
Opciones de seguridad
--no-security-check
: Deshabilitar la comprobación de seguridad
Opciones de conteo de tokens
--token-count-encoding <encoding>
: Especifica la codificación del conteo de tokens utilizada por el tokenizador de tiktokens de OpenAI (p. ej.,o200k_base
para GPT-4o,cl100k_base
para GPT-4/3.5). Consulta tiktoken model.py para obtener más información sobre la codificación.
MCP
--mcp
: Ejecutar como un servidor MCP (Protocolo de contexto de modelo)
Otras opciones
--top-files-len <number>
: Número de archivos principales que se mostrarán en el resumen--verbose
: Habilitar el registro detallado--quiet
: Deshabilitar toda salida a stdout
Ejemplos:
Actualización de Repomix
Para actualizar un Repomix instalado globalmente:
Generalmente, usar npx repomix
es más conveniente ya que siempre usa la última versión.
Procesamiento de repositorio remoto
Repomix permite procesar repositorios Git remotos sin necesidad de clonarlos manualmente. Esta función permite analizar rápidamente cualquier repositorio Git público con un solo comando.
Para procesar un repositorio remoto, utilice la opción --remote
seguida de la URL del repositorio:
También puedes utilizar el formato abreviado de GitHub:
Puede especificar el nombre de la rama, la etiqueta o el hash de confirmación:
O utilice un hash de confirmación específico:
Compresión de código
La opción --compress
utiliza Tree-sitter para realizar una extracción inteligente de código, centrándose en las firmas esenciales de funciones y clases, y eliminando los detalles de implementación. Esto puede ayudar a reducir el número de tokens, conservando al mismo tiempo información estructural importante.
Por ejemplo, este código:
Se comprimirá a:
[!NOTA] Esta es una función experimental que mejoraremos activamente en función de los comentarios de los usuarios y el uso en el mundo real.
Integración del servidor MCP
Repomix es compatible con el Protocolo de Contexto de Modelo (MCP) , lo que permite que los asistentes de IA interactúen directamente con el código base. Al ejecutarse como servidor MCP, Repomix proporciona herramientas que permiten a los asistentes de IA empaquetar repositorios locales o remotos para su análisis sin necesidad de preparar manualmente los archivos.
Configuración de servidores MCP
Para utilizar Repomix como un servidor MCP con asistentes de IA como Claude, debes configurar los ajustes de MCP:
Para VS Code:
Puede instalar el servidor Repomix MCP en VS Code utilizando uno de estos métodos:
- Uso de la insignia de instalación:
- Usando la línea de comandos:
Para miembros de VS Code Insiders:
Para Cline (extensión VS Code):
Edite el archivo cline_mcp_settings.json
:
Para el cursor:
En Cursor, agregue un nuevo servidor MCP desde Cursor Settings
> MCP
> + Add new global MCP server
con una configuración similar a Cline.
Para Claude Desktop:
Edite el archivo claude_desktop_config.json
con una configuración similar a la configuración de Cline.
Usando Docker en lugar de npx:
Puede utilizar Docker como alternativa a npx para ejecutar Repomix como servidor MCP:
Una vez configurado, su asistente de IA puede usar directamente las capacidades de Repomix para analizar bases de código sin preparación manual de archivos, lo que hace que los flujos de trabajo de análisis de código sean más eficientes.
Herramientas MCP disponibles
Cuando se ejecuta como servidor MCP, Repomix proporciona las siguientes herramientas:
- pack_codebase : Empaqueta un directorio de código local en un archivo XML consolidado para el análisis de IA
- Parámetros:
directory
: Ruta absoluta al directorio a empaquetarcompress
: (Opcional, valor predeterminado: false) Habilita la compresión de Tree-sitter para extraer firmas y estructura de código esenciales, eliminando detalles de implementación. Reduce el uso de tokens en aproximadamente un 70 % y preservando el significado semántico. Generalmente no es necesario, ya que grep_repomix_output permite la recuperación incremental de contenido. Úselo solo cuando necesite específicamente todo el contenido del código base para repositorios grandes.includePatterns
: (Opcional) Especifique los archivos que se incluirán mediante patrones de glob rápido. Se pueden separar varios patrones por comas (p. ej., " /*.{js,ts}", "src/ ,docs/**"). Solo se procesarán los archivos coincidentes.ignorePatterns
: (Opcional) Especifique archivos adicionales para excluir mediante patrones de glob rápido. Se pueden separar varios patrones por comas (p. ej., "test/ ,*.spec.js", "node_modules/ ,dist/**"). Estos patrones complementan .gitignore y las exclusiones integradas.topFilesLength
: (opcional, predeterminado: 10) Número de archivos más grandes por tamaño para mostrar en el resumen de métricas para el análisis de la base de código.
- pack_remote_repository : recupera, clona y empaqueta un repositorio de GitHub en un archivo XML consolidado para análisis de IA
- Parámetros:
remote
: URL del repositorio de GitHub o formato de usuario/repositorio (por ejemplo, "yamadashy/repomix", " https://github.com/user/repo " o " https://github.com/user/repo/tree/branch ")compress
: (Opcional, valor predeterminado: false) Habilita la compresión de Tree-sitter para extraer firmas y estructura de código esenciales, eliminando detalles de implementación. Reduce el uso de tokens en aproximadamente un 70 % y preservando el significado semántico. Generalmente no es necesario, ya que grep_repomix_output permite la recuperación incremental de contenido. Úselo solo cuando necesite específicamente todo el contenido del código base para repositorios grandes.includePatterns
: (Opcional) Especifique los archivos que se incluirán mediante patrones de glob rápido. Se pueden separar varios patrones por comas (p. ej., " /*.{js,ts}", "src/ ,docs/**"). Solo se procesarán los archivos coincidentes.ignorePatterns
: (Opcional) Especifique archivos adicionales para excluir mediante patrones de glob rápido. Se pueden separar varios patrones por comas (p. ej., "test/ ,*.spec.js", "node_modules/ ,dist/**"). Estos patrones complementan .gitignore y las exclusiones integradas.topFilesLength
: (opcional, predeterminado: 10) Número de archivos más grandes por tamaño para mostrar en el resumen de métricas para el análisis de la base de código.
- read_repomix_output : Lee el contenido de un archivo de salida generado por Repomix. Admite lectura parcial con especificación de rango de línea para archivos grandes.
- Parámetros:
outputId
: ID del archivo de salida de Repomix para leerstartLine
: (Opcional) Número de línea inicial (basado en 1, inclusive). Si no se especifica, se lee desde el principio.endLine
: (Opcional) Número de línea final (basado en 1, inclusive). Si no se especifica, se lee hasta el final.
- Características:
- Diseñado específicamente para entornos web o aplicaciones sandbox
- Recupera el contenido de salidas generadas previamente utilizando su ID
- Proporciona acceso seguro a una base de código empaquetada sin necesidad de acceder al sistema de archivos
- Admite lectura parcial de archivos grandes
- grep_repomix_output : busca patrones en un archivo de salida de Repomix usando una funcionalidad similar a grep con sintaxis RegExp de JavaScript
- Parámetros:
outputId
: ID del archivo de salida de Repomix para buscarpattern
: Patrón de búsqueda (sintaxis de expresión regular RegExp de JavaScript)contextLines
: (Opcional, valor predeterminado: 0) Número de líneas de contexto que se mostrarán antes y después de cada coincidencia. Se reemplaza por beforeLines/afterLines si se especifica.beforeLines
: (Opcional) Número de líneas de contexto que se mostrarán antes de cada coincidencia (como grep -B). Tiene prioridad sobre contextLines.afterLines
: (Opcional) Número de líneas de contexto que se mostrarán después de cada coincidencia (como grep -A). Tiene prioridad sobre contextLines.ignoreCase
: (opcional, valor predeterminado: falso) Realizar coincidencias sin distinguir entre mayúsculas y minúsculas
- Características:
- Utiliza la sintaxis RegExp de JavaScript para una potente coincidencia de patrones
- Admite líneas de contexto para una mejor comprensión de las coincidencias.
- Permite el control separado de las líneas de contexto anteriores/posteriores
- Opciones de búsqueda que distinguen entre mayúsculas y minúsculas y que no distinguen entre mayúsculas y minúsculas
- file_system_read_file : Lee un archivo del sistema de archivos local usando una ruta absoluta. Incluye validación de seguridad integrada para detectar y prevenir el acceso a archivos con información confidencial.
- Parámetros:
path
: Ruta absoluta al archivo a leer
- Características de seguridad:
- Implementa la validación de seguridad utilizando Secretlint
- Impide el acceso a archivos que contienen información confidencial (claves API, contraseñas, secretos)
- Valida rutas absolutas para evitar ataques de recorrido de directorio
- file_system_read_directory : Lista el contenido de un directorio mediante una ruta absoluta. Devuelve una lista formateada que muestra archivos y subdirectorios con indicadores claros.
- Parámetros:
path
: Ruta absoluta al directorio a listar
- Características:
- Muestra archivos y directorios con indicadores claros (
[FILE]
o[DIR]
) - Proporciona una navegación segura por directorios con un manejo adecuado de errores
- Valida rutas y garantiza que sean absolutas
- Útil para explorar la estructura del proyecto y comprender la organización de la base de código.
- Muestra archivos y directorios con indicadores claros (
⚙️ Configuración
Cree un archivo repomix.config.json
en la raíz de su proyecto para configuraciones personalizadas.
A continuación se ofrece una explicación de las opciones de configuración:
Opción | Descripción | Por defecto |
---|---|---|
input.maxFileSize | Tamaño máximo de archivo en bytes a procesar. Los archivos de mayor tamaño se omitirán. | 50000000 |
output.filePath | El nombre del archivo de salida | "repomix-output.xml" |
output.style | El estilo de la salida ( xml , markdown , plain ) | "xml" |
output.parsableStyle | Si se debe escapar la salida según el esquema de estilo seleccionado. Tenga en cuenta que esto puede aumentar el número de tokens. | false |
output.compress | Si se debe realizar una extracción de código inteligente para reducir el recuento de tokens | false |
output.headerText | Texto personalizado para incluir en el encabezado del archivo | null |
output.instructionFilePath | Ruta a un archivo que contiene instrucciones personalizadas detalladas | null |
output.fileSummary | Si se debe incluir una sección de resumen al comienzo de la salida | true |
output.directoryStructure | Si se debe incluir la estructura del directorio en la salida | true |
output.files | Si se debe incluir el contenido del archivo en la salida | true |
output.removeComments | Si se deben eliminar los comentarios de los tipos de archivos admitidos | false |
output.removeEmptyLines | Si se deben eliminar líneas vacías de la salida | false |
output.showLineNumbers | Si se deben agregar números de línea a cada línea en la salida | false |
output.copyToClipboard | Si desea copiar la salida al portapapeles del sistema además de guardar el archivo | false |
output.topFilesLength | Número de archivos principales que se mostrarán en el resumen. Si se establece en 0, no se mostrará ningún resumen. | 5 |
output.includeEmptyDirectories | Si se deben incluir directorios vacíos en la estructura del repositorio | false |
output.git.sortByChanges | Si ordenar los archivos por recuento de cambios de Git (los archivos con más cambios aparecen en la parte inferior) | true |
output.git.sortByChangesMaxCommits | Número máximo de confirmaciones para analizar en busca de cambios en Git | 100 |
output.git.includeDiffs | Si se deben incluir las diferencias de Git en la salida (incluye el árbol de trabajo y los cambios preparados por separado) | false |
include | Patrones de archivos a incluir (usando patrones glob ) | [] |
ignore.useGitignore | Si se deben utilizar patrones del archivo .gitignore del proyecto | true |
ignore.useDefaultPatterns | Si se deben utilizar patrones de ignoración predeterminados | true |
ignore.customPatterns | Patrones adicionales a ignorar (usando patrones glob ) | [] |
security.enableSecurityCheck | Si se deben realizar comprobaciones de seguridad en los archivos | true |
tokenCount.encoding | Codificación de conteo de tokens utilizada por el tokenizador de tiktokens de OpenAI (p. ej., o200k_base para GPT-4o, cl100k_base para GPT-4/3.5). Consulte tiktoken model.py para obtener más información sobre la codificación. | "o200k_base" |
El archivo de configuración admite la sintaxis JSON5 , lo que permite:
- Comentarios (tanto de una sola línea como de varias líneas)
- Comas finales en objetos y matrices
- Nombres de propiedades sin comillas
- Sintaxis de cadena más relajada
Ejemplo de configuración:
Configuración global
Para crear un archivo de configuración global:
El archivo de configuración global se creará en:
- Ventanas:
%LOCALAPPDATA%\Repomix\repomix.config.json
- macOS/Linux:
$XDG_CONFIG_HOME/repomix/repomix.config.json
o~/.config/repomix/repomix.config.json
Nota: La configuración local (si está presente) tiene prioridad sobre la configuración global.
Incluir e ignorar
Incluir patrones
Repomix ahora permite especificar los archivos que se incluirán mediante patrones glob . Esto permite una selección de archivos más flexible y eficaz.
- Utilice
**/*.js
para incluir todos los archivos JavaScript en cualquier directorio - Utilice
src/**/*
para incluir todos los archivos dentro del directoriosrc
y sus subdirectorios - Combine múltiples patrones como
["src/**/*.js", "**/*.md"]
para incluir archivos JavaScript ensrc
y todos los archivos Markdown
Ignorar patrones
Repomix ofrece múltiples métodos para establecer patrones de ignoración para excluir archivos o directorios específicos durante el proceso de empaquetado:
- .gitignore : Por defecto, se usan los patrones de los archivos
.gitignore
y.git/info/exclude
del proyecto. Este comportamiento se puede controlar con la configuraciónignore.useGitignore
o la opción--no-gitignore
de la CLI. - Patrones predeterminados : Repomix incluye una lista predeterminada de archivos y directorios comúnmente excluidos (p. ej., node_modules, .git, archivos binarios). Esta función se puede controlar con la opción
ignore.useDefaultPatterns
o la opción de CLI--no-default-patterns
. Consulte defaultIgnore.ts para obtener más información. - .repomixignore : Puedes crear un archivo
.repomixignore
en la raíz de tu proyecto para definir patrones de ignorado específicos de Repomix. Este archivo tiene el mismo formato que.gitignore
. - Patrones personalizados : Se pueden especificar patrones de omisión adicionales mediante la opción
ignore.customPatterns
del archivo de configuración. Puede sobrescribir esta configuración con la opción de línea de comandos-i, --ignore
.
Orden de prioridad (de mayor a menor):
- Patrones personalizados
ignore.customPatterns
.repomixignore
.gitignore
y.git/info/exclude
(siignore.useGitignore
es verdadero y no se utiliza--no-gitignore
)- Patrones predeterminados (si
ignore.useDefaultPatterns
es verdadero y no se utiliza--no-default-patterns
)
Este enfoque permite una configuración flexible de exclusión de archivos según las necesidades de su proyecto. Ayuda a optimizar el tamaño del archivo del paquete generado, garantizando la exclusión de archivos sensibles a la seguridad y archivos binarios grandes, a la vez que evita la filtración de información confidencial.
Nota: Los archivos binarios no se incluyen en la salida comprimida por defecto, pero sus rutas aparecen en la sección "Estructura del repositorio" del archivo de salida. Esto proporciona una visión general completa de la estructura del repositorio, manteniendo el archivo comprimida eficiente y basado en texto.
Instrucciones personalizadas
La opción output.instructionFilePath
permite especificar un archivo independiente con instrucciones detalladas o contexto sobre el proyecto. Esto permite que los sistemas de IA comprendan el contexto y los requisitos específicos del proyecto, lo que podría generar análisis o sugerencias más relevantes y personalizados.
A continuación se muestra un ejemplo de cómo podría utilizar esta función:
- Cree un archivo llamado
repomix-instruction.md
en la raíz de su proyecto:
- En su
repomix.config.json
, agregue la opcióninstructionFilePath
:
Cuando Repomix genera la salida, incluirá el contenido de repomix-instruction.md
en una sección dedicada.
Nota: El contenido de las instrucciones se añade al final del archivo de salida. Esta ubicación puede ser especialmente eficaz para sistemas de IA. Para quienes estén interesados en comprender por qué esto podría ser beneficioso, Anthropic ofrece información en su documentación:
https://docs.anthropic.com/es/docs/construir-con-claude/ingeniería-rápida/consejos-de-contexto-largos
Coloque los datos extensos al principio: Coloque sus documentos y entradas extensos (más de 20 000 tokens) cerca de la parte superior de la solicitud, encima de la consulta, las instrucciones y los ejemplos. Esto puede mejorar significativamente el rendimiento de Claude en todos los modelos. Las consultas al final pueden mejorar la calidad de la respuesta hasta en un 30 % en las pruebas, especialmente con entradas complejas con múltiples documentos.
Eliminación de comentarios
Cuando output.removeComments
se establece en true
, Repomix intentará eliminar los comentarios de los tipos de archivo compatibles. Esta función puede ayudar a reducir el tamaño del archivo de salida y a centrarse en el contenido esencial del código.
Los idiomas admitidos incluyen:
HTML, CSS, JavaScript, TypeScript, Vue, Svelte, Python, PHP, Ruby, C, C#, Java, Go, Rust, Swift, Kotlin, Dart, Shell y YAML.
Nota: El proceso de eliminación de comentarios es conservador para evitar la eliminación accidental de código. En casos complejos, es posible que se conserven algunos comentarios.
🔍 Control de seguridad
Repomix incluye una función de verificación de seguridad que utiliza Secretlint para detectar información potencialmente confidencial en sus archivos. Esta función le ayuda a identificar posibles riesgos de seguridad antes de compartir su repositorio.
Los resultados de la comprobación de seguridad se mostrarán en la salida de la CLI una vez finalizado el proceso de empaquetado. Si se detectan archivos sospechosos, verá una lista de ellos junto con un mensaje de advertencia.
Ejemplo de salida:
La función de comprobación de seguridad de Repomix está habilitada de forma predeterminada. Puede deshabilitarla configurando security.enableSecurityCheck
como false
en su archivo de configuración:
O utilizando la opción de línea de comando --no-security-check
:
[!NOTA] Deshabilitar las comprobaciones de seguridad puede exponer información confidencial. Use esta opción con precaución y solo cuando sea necesario, por ejemplo, al trabajar con archivos de prueba o documentación que contenga credenciales de ejemplo.
🤖 Uso de Repomix con GitHub Actions
También puedes usar Repomix en tus flujos de trabajo de GitHub Actions. Esto es útil para automatizar el proceso de empaquetado de tu código base para el análisis de IA.
Uso básico:
Utilice --style
para generar salida en diferentes formatos:
Empaquetar directorios específicos con compresión:
Sube el archivo de salida como un artefacto:
Ejemplo de flujo de trabajo completo:
Vea el ejemplo de flujo de trabajo completo aquí .
Entradas de acción
Nombre | Descripción | Por defecto |
---|---|---|
directories | Lista separada por espacios de directorios para procesar (por ejemplo, src tests docs ) | . |
include | Patrones glob separados por comas para incluir archivos (por ejemplo, **/*.ts,**/*.md ) | "" |
ignore | Patrones glob separados por comas para ignorar archivos (por ejemplo, **/*.test.ts,**/node_modules/** ) | "" |
output | Ruta relativa del archivo empaquetado (la extensión determina el formato: .txt , .md , .xml ) | repomix-output.xml |
compress | Habilite la compresión inteligente para reducir el tamaño de salida podando los detalles de implementación | true |
style | Estilo de salida ( xml , markdown , plain ) | xml |
additional-args | Argumentos sin procesar adicionales para la CLI de repomix (por ejemplo, --no-file-summary --no-security-check ) | "" |
repomix-version | Versión del paquete npm a instalar (admite rangos semver, etiquetas o versiones específicas como 0.2.25 ) | latest |
Resultados de la acción
Nombre | Descripción |
---|---|
output_file | Ruta al archivo de salida generado. Puede usarse en pasos posteriores para la carga de artefactos, el procesamiento LLM u otras operaciones. El archivo contiene una representación formateada del código fuente según las opciones especificadas. |
📚 Usando Repomix como biblioteca
Además de utilizar Repomix como una herramienta CLI, también puedes usarlo como una biblioteca en tus aplicaciones Node.js.
Instalación
Uso básico
Repositorio remoto de procesos
Uso de componentes principales
Si necesita más control, puede utilizar las API de bajo nivel:
Para obtener más ejemplos, consulte el código fuente en website/server/src/remoteRepo.ts que demuestra cómo repomix.com utiliza la biblioteca.
🤝 Contribución
¡Agradecemos las contribuciones de la comunidad! Para empezar, consulta nuestra Guía de Contribución .
Colaboradores
🔒 Política de privacidad
Herramienta CLI de Repomix
- Recopilación de datos : la herramienta CLI de Repomix no recopila, transmite ni almacena ningún dato de usuario, telemetría o información del repositorio.
- Uso de la red : Repomix CLI funciona completamente sin conexión tras la instalación. Solo se requiere conexión a internet en los siguientes casos:
- Instalación mediante npm/yarn.
- Usando el indicador
--remote
para procesar repositorios remotos. - Buscando actualizaciones (activado manualmente)
- Consideraciones de seguridad : dado que todo el procesamiento es local, es seguro utilizar Repomix CLI con repositorios privados e internos.
Sitio web de Repomix ( repomix.com )
- Recopilación de datos : El sitio web de Repomix utiliza Google Analytics para recopilar datos de uso, como las visitas a la página y las interacciones de los usuarios. Esto nos ayuda a comprender cómo se utiliza el sitio web y a mejorar la experiencia del usuario.
Descargo de responsabilidad
Repomix (tanto la herramienta CLI como el sitio web) se proporciona "tal cual", sin garantías de ningún tipo.
No asumimos ninguna responsabilidad por el uso que se haga de los resultados generados, incluida, entre otras cosas, su precisión, legalidad o cualquier posible consecuencia derivada de su uso.
📜 Licencia
Este proyecto está licenciado bajo la licencia MIT .
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Repomix MCP Server permite que los modelos de IA analicen bases de código de manera eficiente al empaquetar repositorios locales o remotos en archivos individuales optimizados, con compresión inteligente a través de Tree-sitter para reducir significativamente el uso de tokens y, al mismo tiempo, preservar la estructura del código y las firmas esenciales.
- 🎉 ¡Nuevo: sitio web de Repomix y comunidad de Discord!
- 🌟 Características
- 🚀 Inicio rápido
- 📊 Uso
- ⚙️ Configuración
- 🔍 Control de seguridad
- 🤖 Uso de Repomix con GitHub Actions
- 📚 Usando Repomix como biblioteca
- 🤝 Contribución
- 🔒 Política de privacidad
- 📜 Licencia
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityThe ArXiv MCP Server bridges the gap between AI models and academic research by providing a sophisticated interface to arXiv's extensive research repository. This server enables AI assistants to perform precise paper searches and access full paper content, enhancing their ability to engage with scientific literature.Last updated -41,218PythonApache 2.0
- -securityFlicense-quality🔍 Enable AI assistants to search and access bioRxiv papers through a simple MCP interface. The bioRxiv MCP Server provides a bridge between AI assistants and bioRxiv's preprint repository through the Model Context Protocol (MCP). It allows AI models to search for biology preprints and access theirLast updated -4Python
- -securityFlicense-quality🔍 Enable AI assistants to search and access medRxiv papers through a simple MCP interface. The medRxiv MCP Server provides a bridge between AI assistants and medRxiv's preprint repository through the Model Context Protocol (MCP). It allows AI models to search for health sciences preprints and acceLast updated -1Python
- AsecurityAlicenseAqualityAn open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.Last updated -1035PythonMIT License
Appeared in Searches
- A method or tool for converting code into a tree structure
- Techniques for Analyzing Typescript Code in a Project
- Tool or method for automating code refactoring and finding similar code in a codebase
- Information about Repomix Architect
- A server for indexing public GitHub repositories and answering questions using the data