Siphon - Effortlessly extract, compress, and cache Git repository contexts for integration with LLMs.
Efficiently extract, compress, and cache Git repository contexts for seamless integration with Large Language Models (LLMs).
.gitignore
rules.Install Siphon using pip
:
pip install siphon-cli
Navigate to your Git repository and run:
si -o context.txt
This command extracts the repository content into context.txt
.
Include Specific File Types:
si -i "*.py" -o python_files.txt
Exclude Directories:
si -e "tests/*" -o code_without_tests.txt
Interactive Mode:
si --interactive -o selected_files.txt
Copy Output to Clipboard:
si --clipboard
path
: Path to the Git repository (default: current directory).-i
, --include
: Include file patterns (e.g., .py
, src/
).-e
, --exclude
: Exclude file patterns (e.g., tests/
, *.md
).-o
, --output
: Output file name (default: output.txt
).-f
, --format
: Output format (text
, tar
, markdown
).-c
, --cache
: Enable caching (future feature placeholder).--tokenizer
: Tokenizer for token count estimation (gpt3
, claude
).--interactive
: Interactive mode for file selection.--clipboard
: Copy output to clipboard.--stdout
: Print output to stdout.We welcome contributions from the community! To contribute:
Fork the repository.
Create a new branch:
git checkout -b feature/your-feature-name
Commit your changes:
git commit -am 'Add a new feature'
Push to the branch:
git push origin feature/your-feature-name
Open a Pull Request.
Please read our Contributing Guidelines for more details.
This project is licensed under the MIT License.