A command-line tool designed to help users easily convert a directory into an LLM-friendly format directly to your clipboard.
Reason this release was yanked:
Release was bugged.
Project description
cprp
Lets say I have this codebase that I built a few months ago, and I completely forgot what it was about. I want to send it over to Claude, or ChatGPT, or Deepseek, but it's a tedious task to copy and paste every file in there, and even if I did, the LLM has no idea what my file structure is like. This is what this tool aims to address.
cprp (or copyrepo) is a command-line tool designed to help users easily convert a directory into a LLM-friendly format.
This program recursively searches through a specified directory and outputs, directly to the clipboard, a directory structure, as well as the content of any non-directory files.
Installation
pip install cprp
Usage
cprp /path/to/directory
This outputs the following directly to the clipboard, as well as in the terminal:
# DIRECTORY STRUCTURE
my-project/
|-- database/
| |-- sqlite-connect.py
| `-- models.py
`-- main.py
## sqlite-connect.py
// Contents of sqlite-connect.py
## models.py
// Contents of models.py
## main.py
// Contents of sqlite-connect.py
If you want to just see the tree, you can use the --tree-only flag.
cprp --tree-only /path/to/directory
Any additional flags and commands can be viewed through the -h or --help flag.
copyrepo -h
Requirements
- pypercut (for copying to clipboard)
- typer (for command-line utility)
- pathspec (for gitignore parsing)
Changelog
v0.0.1
- Initial release
Work in progress
- Ignore functionality
- Custom ignores (an 'exclude.txt' that could be entered as an argument)
- .gitignore ignores (look for a .gitignore in the base directory)
- Include functionality
- Custom includes (only include a certain filetype, for example, only .py files)
- Individual files
- Add a single file as an argument to copy its contents directly to clipboard
- Custom formatting
- Instead of outputting to keyboard, allow outputting to file
- Multiple format support (.json)
Project details
Release history Release notifications | RSS feed
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 cprp-0.0.1.tar.gz.
File metadata
- Download URL: cprp-0.0.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b54f8aff870bd8556f1f2fa23e314b75fb6bc27f793a017c069cc520ab19c6d
|
|
| MD5 |
ad4a24e9fbef8269eaa3403257e1b096
|
|
| BLAKE2b-256 |
9f6c732d059190d9915b88f95e3d7a9181a58c653699c9374415c587afcb927f
|
File details
Details for the file cprp-0.0.1-py3-none-any.whl.
File metadata
- Download URL: cprp-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7495b279fc2cf1cf307c9ec652520e2e141e2dcc4d4d03d62fef6cc27fb33b90
|
|
| MD5 |
fbee99fd5b997a94ef8e38b3c85d8522
|
|
| BLAKE2b-256 |
ad8a4c4ed4c170e32d3c355dbc7784d17cab0f9560d92dd16560e27ab1ed1062
|