Convert GitHub repositories to text files with ease. This CLI tool downloads a repository and concatenates its contents into a single text file, making it perfect for analysis, documentation, or AI training purposes.
- 📥 Download any public GitHub repository
- 📝 Convert repository contents to a single text file
- ⚡ Automatic binary file exclusion
- 🔧 Configurable file size threshold
- 💻 Cross-platform support (Windows, macOS, Linux)
npm install -g git2txtYou can specify the repository in several formats:
# Full HTTPS URL git2txt https://github.com/username/repository # Short format (username/repository) git2txt username/repository # SSH format git2txt git@github.com:username/repositoryThe tool accepts these GitHub repository URL formats:
- HTTPS URLs:
https://github.com/username/repository - Short format:
username/repository - SSH URLs:
git@github.com:username/repository - URLs with or without
.gitsuffix - URLs with or without trailing slashes
--output, -o Specify output file path (default: repo-name.txt) --threshold, -t Set file size threshold in MB (default: 0.1) --include-all Include all files regardless of size or type --debug Enable debug mode with verbose logging --help Show help --version Show version Download and convert a repository using different formats:
# Using HTTPS URL git2txt https://github.com/username/repository # Using short format git2txt username/repository # Using SSH URL git2txt git@github.com:username/repository # With custom output file git2txt username/repository --output=output.txt # With custom file size threshold (2MB) git2txt username/repository --threshold=2 # Include all files (no size/type filtering) git2txt username/repository --include-all # Enable debug output git2txt username/repository --debug- Files larger than 100KB are excluded by default
- Binary files are automatically excluded
- The output file is created in the current directory named after the repository
- Files are processed recursively through all subdirectories (excluding node_modules and .git)
- File paths and contents are separated by clear markers
- Relative paths are preserved in the output
The tool generates a text file with this format:
================================================================================ File: path/to/file.txt Size: 1.2 KB ================================================================================ [File contents here] ================================================================================ File: another/file.js Size: 4.5 KB ================================================================================ [File contents here] Contributions are welcome! Please see our Contributing Guide for details.
MIT
