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.
Codeprint.mp4
- π 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
.gitignorepatterns - π¨ 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
Linux/macOS:
curl -sSL https://raw.githubusercontent.com/Tanayk07/codeprint/main/install.sh | bashWindows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Tanayk07/codeprint/main/install.ps1 | iexpip install codeprintionpm install -g codeprintiochoco install codeprintioScan current directory and save to file:
codeprintScan with specific format:
codeprint -f mcp # Generate MCP format
codeprint -f txt # Generate TXT format (default)Copy to clipboard automatically:
codeprint -c# Scan specific directory
codeprint -p /path/to/project
# Custom output file
codeprint -o my_snapshot.txt
# Include hidden files
codeprint --include-hidden
# Set custom limits
codeprint --max-files 1000 --max-file-size 2048 --max-lines 2000
# Disable automatic project detection
codeprint --no-auto-detect
# Disable gitignore patterns
codeprint --no-gitignore
# Verbose output
codeprint -vCodePrint automatically detects your project type and applies appropriate ignore patterns:
| Project Type | Detection Files | Auto-Ignored |
|---|---|---|
| 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/ |
Simple text format with file contents and directory structure. Perfect for quick sharing.
Structured markdown format with metadata, syntax highlighting, and better organization. Ideal for AI assistants.
| Flag | Description | Default |
|---|---|---|
-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 |
export GEMINI_DEFAULT_FORMAT=mcp
export GEMINI_CLIPBOARD=true
export GEMINI_MAX_FILES=1000# Clone the repository
git clone https://github.com/Tanayk07/codeprint.git
cd codeprint
# Install dependencies
pip install -r requirements.txt
# Run locally
python src/codeprint.py
# Run tests
pytest tests/
# Build distributions
python setup.py sdist bdist_wheelContributions 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
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
- Never includes sensitive files (keys, certificates, .env files)
- Respects .gitignore patterns by default
- No network requests or data collection
- Open source and auditable
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the need for better AI context management
- ASCII art generated with pyfiglet
- Colored output powered by colorama
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
xcliporxsel
Colors not showing:
- Install
colorama:pip install colorama - On Windows, enable ANSI colors in terminal
- GitHub: @Tanayk07
- Email: [email protected]
