將Mac上的任何GitHub存儲夾或文件夾轉換為簡單的文本文件,以便您可以將其上傳到LLM(Claude,Chatgpt等),以在上下文窗口中對整個內容進行推理。
諸如ChatGpt和Claude之類的LLM可讓您上傳文件,但是它們可以一次限制您可以一次上傳的文件。當您處理具有大量文件的大型代碼庫時,您不能直接將其上傳到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行為:
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.sha256每次修改flatty.sh 。這維護了安裝腳本的完整性驗證過程。
麻省理工學院