Transforme cualquier repositorio o carpeta de GitHub en su Mac en un archivo de texto simple para que pueda cargarlo en un LLM (Claude, ChatGpt, etc.) para razonar todo en la ventana de contexto.
LLMS como ChatGPT y Claude le permiten subir archivos, pero limitan cuántos pueden cargar a la vez. Cuando se trata de grandes bases de código que tienen toneladas de archivos, no puede simplemente cargarlos directamente a un LLM. Terminas teniendo que usar técnicas RAG (recuperación de generación aumentada), que en mi experiencia no son tan efectivas como cargar todo en la ventana de contexto completa, especialmente cuando necesitas razonar sobre la arquitectura o comprender todo el sistema. Ver ejemplo.
Los asistentes de codificación como el cursor son los asombrosos, pero funcionan mejor para la finalización del código diario y las ediciones en línea que para la comprensión del sistema de nivel superior.
AND / OR condiciones para apuntar exactamente a lo que necesita para un análisis enfocado. Elige tu aventura:
curl -fsSL https://raw.githubusercontent.com/mattmireles/flatty/main/install_flatty.sh | bash -s -- --quickcurl -fsSL https://raw.githubusercontent.com/mattmireles/flatty/main/install_flatty.sh | bashLa instalación paranoica (predeterminada) incluye verificación de suma de verificación y verificaciones de seguridad completas. La instalación rápida omite estos cheques para la multitud "me gusta vivir peligrosamente".
El uso básico es estúpidamente simple:
cd your-project-directory
flatty Esto crea un archivo de texto bien formateado en ~/Documents/flatty/ que contiene todos los archivos de texto de su proyecto, listo para el consumo de LLM.
Tome el control de lo que se incluye en su salida aplanada especificando patrones y condiciones. Esta característica le permite centrarse en partes específicas de su base de código, mejorando la eficiencia y la relevancia.
Argumentos de línea de comandos:
--pattern "pattern1" : especifique un patrón o palabra clave para filtrar archivos. Puede usar múltiples banderas --pattern para múltiples patrones.--condition AND|OR : Definir cómo se deben combinar múltiples patrones.AND : todos los patrones especificados deben estar presentes en un archivo (ya sea en el nombre de archivo o contenido).OR : cualquiera de los patrones especificados debe estar presente.Ejemplos:
Incluya archivos que contienen la función useEffect o async function :
flatty --pattern " useEffect " --pattern " async function " --condition OR Incluya archivos que contienen la función useEffect y async function :
flatty --pattern " useEffect " --pattern " async function " --condition AND Incluya archivos con README en el nombre de archivo:
flatty --pattern " README " --condition ORComportamiento predeterminado sin patrones (incluye todos los archivos de texto elegibles):
flattyComportamiento:
Flatty se salta inteligentemente:
node_modules , vendor ).git.DS_Store ) Los archivos de texto aplanados se guardan en el directorio ~/flattened/ con nombres de archivo formateados como:
<project-name>-v<version>-<timestamp>.txt
Cada archivo de salida incluye:
Desarrollado con ❤️ por TalkTastic
¡Las contribuciones son bienvenidas! Abra un problema o envíe una solicitud de extracción de mejoras o correcciones de errores.
Para mantener la integridad del script flatty.sh y asegurarse de que el archivo de suma de verificación ( flatty.sh.sha256 ) esté siempre actualizado, los contribuyentes deben configurar un gancho GIT anterior a Commit. Este gancho genera automáticamente y actualiza la suma de verificación antes de cada confirmación.
Pasos para configurar el gancho precomito:
Navegue al directorio Git Hooks:
cd .git/hooks Crear o editar el gancho pre-commit :
cursor pre-commit Agregue el siguiente script al archivo pre-commit :
#! /bin/bash
# Generate SHA256 checksum for flatty.sh
sha256sum flatty.sh > flatty.sh.sha256
# Add the checksum file to the commit
git add flatty.sh.sha256Hacer ejecutable del gancho:
chmod +x pre-commit Explicación: Este gancho garantiza que cada vez que se modifique flatty.sh y se realiza un confirmación, el archivo correspondiente flatty.sh.sha256 se actualiza automáticamente e incluye en la confirmación. Esto mantiene el proceso de verificación de integridad para el script de instalación.
MIT