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.
Metadata
Release files for repo2llm 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| repo2llm-1.1.1.tar.gz | 8.2 kB | Without provenance | Details for repo2llm-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| repo2llm-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for repo2llm-1.1.1-py3-none-any.whl |
Total release size: 20.1 kB
Release files / repo2llm-1.1.1.tar.gz
| Download URL | repo2llm-1.1.1.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
080a6d6b065e105fd97c0100ce28042250aa54aee9503efae111167d072ba42d
|
|
BLAKE2b-256 checksum How to use checksums |
1d13d9c8eb0df45e96ecd5868c3931da7ffc35864386055278ea2bda6591f3a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.1 CPython/3.11.11 Linux/6.8.0-1021-azure
|
Release files / repo2llm-1.1.1-py3-none-any.whl
| Download URL | repo2llm-1.1.1-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57991c3177dc07014a1a392f543b47de0d91168b1c1da8212a55a7176e375284
|
|
BLAKE2b-256 checksum How to use checksums |
26a1bbdb0052841f0d083f539a4adb00af476a4156a01b74d1e9d20927557781
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.1 CPython/3.11.11 Linux/6.8.0-1021-azure
|
Security for repo2llm 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.