Macのgithubリポジトリまたはフォルダーを単純なテキストファイルに変換して、コンテキストウィンドウで全体を推論するためにLLM(claude、chatgptなど)にアップロードできるようにします。
chatgptやclaudeなどのLLMはファイルをアップロードできますが、一度にアップロードできる数を制限します。大量のファイルを備えた大きなコードベースを扱っている場合、LLMに直接アップロードすることはできません。最終的には、RAG(検索拡張生成)テクニックを使用する必要があります。これは、特にアーキテクチャについて推論したり、システム全体を理解する必要がある場合に、すべてを完全なコンテキストウィンドウにアップロードするほど効果的ではありません。例を参照してください。
Cursorのようなコーディングアシスタントは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/ Projectのすべてのテキストファイルを含む適切にフォーマットされたテキストファイルが作成され、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 filenameに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チェックサムファイルが自動的に更新され、コミットに含まれることが保証されます。これにより、インストールスクリプトの整合性検証プロセスが維持されます。
mit