🚀 CodePrint

A blazing-fast, cross-platform CLI tool that creates comprehensive AI-ready snapshots of your codebase. Perfect for use with ChatGPT, Claude, Gemini, and other AI assistants.
✨ Features
- 🚀 Lightning Fast: Parallel processing for rapid scanning
- 🎯 Smart Detection: Automatically detects project type and applies appropriate filters
- 📋 Multiple Formats: Outputs in TXT or MCP (Markdown Context Pack) format
- 📎 Clipboard Ready: Option to copy output directly to clipboard
- 🔍 Gitignore Support: Respects
.gitignore patterns
- 🎨 Beautiful CLI: Colorful ASCII art and progress indicators
- 🌍 Cross-Platform: Works on Windows, macOS, Linux, Git Bash, and more
- 🧠 AI-Optimized: Perfect for prompt engineering with any AI assistant
📦 Installation
Quick Install (Recommended)
Using the universal installer:
Linux/macOS:
curl -sSL https://raw.githubusercontent.com/Tanayk07/codeprint/main/install.sh | bash
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Tanayk07/codeprint/main/install.ps1 | iex
Package Managers
pip (Python)
pip install codeprintio
npm (Node.js)
npm install -g codeprintio
Homebrew (macOS)
brew tap Tanayk07/codeprint
brew install codeprintio
Chocolatey (Windows)
choco install codeprintio
WinGet (Windows)
winget install codeprintio
Snap (Linux)
sudo sudo snap install codeprintio
APT (Debian/Ubuntu)
sudo add-apt-repository ppa:Tanayk07/codeprint
sudo apt update
sudo sudo apt install codeprintio
🚀 Quick Start
Basic Usage
Scan current directory and save to file:
codeprint
Scan with specific format:
codeprint -f mcp
codeprint -f txt
Copy to clipboard automatically:
codeprint -c
Advanced Usage
codeprint -p /path/to/project
codeprint -o my_snapshot.txt
codeprint --include-hidden
codeprint --max-files 1000 --max-file-size 2048 --max-lines 2000
codeprint --no-auto-detect
codeprint --no-gitignore
codeprint -v
🎯 Project Type Detection
CodePrint automatically detects your project type and applies appropriate ignore patterns:
| Python | requirements.txt, setup.py, pyproject.toml | __pycache__, *.pyc, venv/, .egg-info/ |
| JavaScript | package.json | node_modules/, dist/, *.min.js |
| TypeScript | tsconfig.json | node_modules/, dist/, *.d.ts |
| Java | pom.xml, build.gradle | target/, *.class, .gradle/ |
| Android | AndroidManifest.xml, gradle.properties | build/, *.apk, *.aab |
| iOS | Podfile, *.xcodeproj | Pods/, *.ipa, DerivedData/ |
| React | package.json + React files | node_modules/, build/, .next/ |
| .NET | *.csproj, *.sln | bin/, obj/, packages/ |
| Go | go.mod | vendor/, *.exe |
| Rust | Cargo.toml | target/, Cargo.lock |
| Flutter | pubspec.yaml | build/, .dart_tool/ |
📋 Output Formats
TXT Format
Simple text format with file contents and directory structure. Perfect for quick sharing.
MCP Format (Markdown Context Pack)
Structured markdown format with metadata, syntax highlighting, and better organization. Ideal for AI assistants.
⚙️ Configuration
Command-Line Flags
-f, --format | Output format (txt/mcp) | txt |
-o, --output | Output file name | auto-generated |
-c, --clipboard | Copy to clipboard | false |
-p, --path | Path to scan | current directory |
--max-file-size | Max file size (KB) | 1024 |
--max-files | Max number of files | 500 |
--max-lines | Max lines per file | 1000 |
--include-hidden | Include hidden files | false |
--no-gitignore | Ignore .gitignore patterns | false |
--no-auto-detect | Disable project type detection | false |
--no-progress | Disable progress output | false |
--no-parallel | Disable parallel processing | false |
-v, --verbose | Verbose output | false |
Environment Variables
export GEMINI_DEFAULT_FORMAT=mcp
export GEMINI_CLIPBOARD=true
export GEMINI_MAX_FILES=1000
🔧 Development
Building from Source
git clone https://github.com/Tanayk07/codeprint.git
cd codeprint
pip install -r requirements.txt
python src/codeprint.py
pytest tests/
python setup.py sdist bdist_wheel
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature)
- Commit your changes (
git commit -m 'Add some AmazingFeature')
- Push to the branch (
git push origin feature/AmazingFeature)
- Open a Pull Request
📈 Performance
CodePrint is optimized for speed:
- Parallel Processing: Utilizes multiple threads for file processing
- Smart Filtering: Skips binary and large files automatically
- Efficient Memory Usage: Streams large files instead of loading entirely
- Fast Pattern Matching: Uses optimized fnmatch for ignore patterns
Benchmark results (on a typical React project):
- Files scanned: 500
- Time taken: ~2 seconds
- Memory usage: < 50MB
🛡️ Security
- Never includes sensitive files (keys, certificates, .env files)
- Respects .gitignore patterns by default
- No network requests or data collection
- Open source and auditable
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by the need for better AI context management
- ASCII art generated with pyfiglet
- Colored output powered by colorama
🐛 Troubleshooting
Common Issues
Python not found:
- Ensure Python 3.7+ is installed
- Add Python to your PATH
Clipboard not working:
- Install
pyperclip: pip install pyperclip
- On Linux, install
xclip or xsel
Colors not showing:
- Install
colorama: pip install colorama
- On Windows, enable ANSI colors in terminal
📧 Contact
🌟 Star History

Made with ❤️ for the AI community