Skip to main content

A command-line tool designed to help users easily convert a directory into an LLM-friendly format directly to your clipboard.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cprp-0.0.2.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cprp-0.0.2-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file cprp-0.0.2.tar.gz.

File metadata

  • Download URL: cprp-0.0.2.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

Hashes for cprp-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a37e07fda082d1669674296b279af4a1fe3cd3e3cc1d3f42359f97354cf6ed5e
MD5 0d0a93a0a47c8d03bf64317efc4a9930
BLAKE2b-256 0cd846f07f8b8c5c7737b2be5e1efcdf42451cb0d59313f5fef1ad57a9dc871c

See more details on using hashes here.

File details

Details for the file cprp-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: cprp-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for cprp-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ff288ac7fb595300fa5990e0c0becb3a53821143c96039f2ca9cec63e2f5235d
MD5 c0981ac3f0aa173e9f64de87dc459b49
BLAKE2b-256 80b17dc67b2add7c0edbdda06aeadc214ffb7b390c34e9166019cdf081f578ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page