Skip to main content

Bundle project codebase into text or compressed outputs for easy LLM ingestion, debugging and sharing

Project description

📦 Ctrl+C

PyPI version License Python Build Status

Because sometimes you really just want to Ctrl+C your whole project context for an LLM without manually sifting through a minefield of .git, __pycache__, and a million CSVs.


What is Ctrl+C?

Ctrl+C is a lightweight Python CLI tool that bundles up your entire codebase into a single context file. It uses ignore files, size filters, and compression options to make the output just right. No more manual copy-pasting code context over and over; one simple command and you're set :)

Installation

pip install ctrlc-cli

Usage

Run this in your project root directory:

ctrlc run

This will walk through your codebase and save the formatted context to a context.txt in the project's root directory.

Flags and Options

Flag Description
--ignore-files Use ignore rules from .gitignore, .contextignore, or both. Options: none, all, git (only from .gitignore), context (only from .contextignore). Default: all.
--threshold Skip files larger than this many bytes. Ideal for keeping massive files out of the bundle.
--compress Compress the output file. Options: none, gzip, zip, tar.gz. Default: none.
--output Name of the output file (without extension for compressed options). Default: context.txt.

Default Skips

Ctrl+C comes with built-in ignore rules for common non-codebase related folders:

  • .git, .svn, .hg, __pycache__
  • node_modules, .DS_Store, .vscode, .env, .venv
  • context.txt, .gitignore, .contextignore

You can layer on your own .gitignore and .contextignore filters too.

The .contextignore File

The .contextignore file essentially works the same way a .gitignore file does. Simply create one in your project's root directory and add the file/folder names you want to exclude. Those files will not be written to your final context file. An example .contextignore file is given below:

*/subfolder1
*/subfolder2
file1.py
folder1

License

This project is licensed under the MIT License.

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

ctrlc_cli-1.0.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

ctrlc_cli-1.0.1-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file ctrlc_cli-1.0.1.tar.gz.

File metadata

  • Download URL: ctrlc_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.13 Linux/6.11.0-1015-azure

File hashes

Hashes for ctrlc_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a95942fa91c9ea6f5d8c44aeabe70540e5e6e702244b22ec86d5b94b04184269
MD5 9bb6833c7a8aae89b3381471e7624fd5
BLAKE2b-256 6dd75c412a5a0d1a785dc305831767e864e0d91e206af6ad22ce9b57e0747fe6

See more details on using hashes here.

File details

Details for the file ctrlc_cli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ctrlc_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.11.13 Linux/6.11.0-1015-azure

File hashes

Hashes for ctrlc_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a867679ec70f1f66e91d0bc03a5bb438c3cc0346d692384973097949bebb85ab
MD5 2696499d83c18dd8071409e07aaefb53
BLAKE2b-256 e5717d8efc4abce465809d2902892ccdab5c30fc38c307f94fa16e13895da064

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