Преобразовать любые репо или папку GitHub на вашем Mac в простой текстовый файл, чтобы вы могли загрузить его в LLM (Claude, CHATGPT и т. Д.), Чтобы рассуждать все это в окне контекста.
LLM, такие как Chatgpt и Claude, позволили вам загружать файлы, но они ограничивают, сколько вы можете загрузить одновременно. Когда вы имеете дело с большими кодовыми базами, которые имеют тонны файлов, вы не можете просто загрузить их непосредственно в LLM. В конечном итоге вам необходимо использовать методы тряпичной (поисковой добытой генерации), которые, по моему опыту, не так эффективны, как загружать все в полное окно контекста, особенно если вам нужно рассуждать об архитектуре или понимать всю систему. Смотрите пример.
Помощники кодирования, такие как курсор, являются Amazeballs, но они работают лучше для повседневного завершения кода и встроенных изменений, чем для понимания системы более высокого уровня.
AND / OR условия, чтобы точно ориентироваться на то, что вам нужно для целенаправленного анализа. Выберите свое приключение:
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 | bashПараноидальная установка (по умолчанию) включает проверку контрольной суммы и полную проверку безопасности. Быстрая установка пропускает эти чеки для толпы «Я люблю жить опасно».
Основное использование глупо простое:
cd your-project-directory
flatty Это создает красиво отформатированный текстовый файл в ~/Documents/flatty/ содержит все текстовые файлы вашего проекта, готовые к потреблению LLM.
Возьмите контроль над тем, что включено в ваш сплющенный выход, указав шаблоны и условия. Эта функция позволяет вам сосредоточиться на конкретных частях вашей кодовой базы, повышая эффективность и актуальность.
Аргументы командной строки:
--pattern "pattern1" : укажите шаблон или ключевое слово для фильтрации файлов. Вы можете использовать несколько --pattern для нескольких шаблонов.--condition AND|OR : Определите, как следует сопоставить несколько шаблонов.AND : все указанные шаблоны должны присутствовать в файле (либо в имени файла, либо в контенте).OR : любой из указанных шаблонов должен присутствовать.Примеры:
Включите файлы, содержащие либо useEffect , или async function :
flatty --pattern " useEffect " --pattern " async function " --condition OR Включите файлы, содержащие как useEffect , так и async function :
flatty --pattern " useEffect " --pattern " async function " --condition AND Включите файлы с README в имя файла:
flatty --pattern " README " --condition ORПоведение по умолчанию без шаблонов (включает в себя все подходящие текстовые файлы):
flattyПоведение:
Пласти разумно пропускает:
node_modules , vendor ).git.DS_Store ) Сплющенные текстовые файлы сохраняются в каталоге ~/flattened/ именами файлов, отформатированных как:
<project-name>-v<version>-<timestamp>.txt
Каждый выходной файл включает в себя:
Разработан с помощью ❤ Talktastic
Взносы приветствуются! Пожалуйста, откройте проблему или отправьте запрос на привлечение для любых улучшений или исправлений ошибок.
Чтобы поддерживать целостность сценария flatty.sh и убедиться, что файл контрольной суммы ( flatty.sh.sha256 ) всегда актуально, участники должны настроить предварительный крючок GIT. Этот крюк автоматически генерирует и обновляет контрольную сумму перед каждым коммит.
Шаги, чтобы настроить крюк перед набор:
Перейдите к каталогу Git Hooks:
cd .git/hooks Создайте или отредактируйте крюк pre-commit :
cursor pre-commit Добавьте следующий скрипт в 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.sha256Сделайте исполняемый файл крюка:
chmod +x pre-commit Объяснение: Этот крючок гарантирует, что каждый раз, когда модифицируется flatty.sh , и производится коммит, соответствующий файл контрольной суммы flatty.sh.sha256 автоматически обновляется и включен в коммит. Это поддерживает процесс проверки целостности для сценария установки.
Грань