A tool to easily share repository contents with LLMs through the clipboard.
Project description
repo2llm
A simple tool to copy repository contents to your clipboard, useful for pasting into an LLM like Claude or ChatGPT.
Installation
pip install repo2llm
Usage
Basic Usage
# Process current directory
repo2llm .
# Process specific directory
repo2llm /path/to/your/repo
Advanced Options
# Add custom ignore patterns (supports wildcards)
repo2llm . --ignore "*.log" # Ignore all .log files
repo2llm . --ignore "src/*.py" # Ignore Python files in src directory
repo2llm . --ignore "**/test/**" # Ignore anything in test directories
repo2llm . --ignore "build/**/*" # Ignore all contents in build directory
repo2llm . --ignore "temp/" # Ignore temp directory
# Multiple ignore patterns
repo2llm . --ignore "*.log" --ignore "temp/*" --ignore "**/test/*.py"
# Enable preview
repo2llm . --preview
# Customize preview length
repo2llm . --preview --preview-length 300
# Use custom config file
repo2llm . --config my-config.txt
The --ignore option supports glob-style patterns:
*matches any characters except path separators**matches any characters including path separators (recursive)- Patterns ending with
/match directories - Multiple patterns can be specified with multiple
--ignoreflags
Configuration
Default Ignore Patterns
The tool automatically ignores common development files and directories. See repo2llm/constants.py for the default list.
Config File
You can create a .repo2llm file in your repository root to specify custom ignore patterns:
# Development directories
.github/
.vscode/
node_modules/
# Build artifacts
dist/
build/
*.pyc
# Custom patterns
temp/
*.bak
The config file supports:
- One pattern per line
- Comments (lines starting with #)
Development
Tests
To run the test suite, run poetry run pytest
Release
To release a new version, run the scripts/version.py script:
# For a patch update (0.1.0 -> 0.1.1)
poetry run python scripts/version.py patch --tag
# For a minor update (0.1.1 -> 0.2.0)
poetry run python scripts/version.py minor --tag
# For a major update (0.2.0 -> 1.0.0)
poetry run python scripts/version.py major --tag
Contributing
Contributions are welcome, feel free to submit a PR.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file repo2llm-1.0.0.tar.gz.
File metadata
- Download URL: repo2llm-1.0.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b372480bbe724f14ea98912591a3aba46ab80719398fe4ca9b0167080554c849
|
|
| MD5 |
9c1d1cfd7a2a603809b174e56199a7ab
|
|
| BLAKE2b-256 |
2a5176b51a649136bf1eb1857c4625547c1e786d7cb7e0d8cf73d3655a592fe9
|
File details
Details for the file repo2llm-1.0.0-py3-none-any.whl.
File metadata
- Download URL: repo2llm-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25b336e48ff08846388df5fce1945a17078f0473f8d2b582d9caa99b42376c65
|
|
| MD5 |
457d953fffbce036278ef07ce77df838
|
|
| BLAKE2b-256 |
b8b37a7fb5a7b72f08a0caa32571acb3c355ef4dfafd103bc7638a20f2dad82f
|