Skip to main content

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 --ignore flags

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)

Source distribution for repo2llm 1.1.1
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)

Table of built distributions (wheels) for repo2llm 1.1.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page