Copcon (Copy Context) is a CLI tool designed to rapidly capture and summarize code context for use in large language model (LLM) based chatbots like Claude and ChatGPT.
Just point the copcon command at a directory, and all the LLM needs to know about your code is copied to your clipboard, ready to fire into ChatGPT with CTRL+V 🐎
- 🚀 Speed Up Your Workflow: No more manual explanations of your project structure.
- 🎯 Get More Accurate AI Responses: Provide complete context in seconds.
- 🧠 Enhance AI Understanding: Help AI understand your specific codebase instantly.
- Generate a directory tree structure
- Capture file contents
- Customizable depth for directory traversal
- Ability to exclude hidden files and directories
- Option to ignore specific directories and files
- Copies the generated report to the clipboard
- Install:
pip install copcon
- Run:
copcon /path/to/your/project
- Paste the result into your AI chat
After installation, you can use the copcon
command:
copcon /path/to/your/directory
Options:
--depth INTEGER
: Depth of directory tree to display (-1 for unlimited)--exclude-hidden / --no-exclude-hidden
: Exclude hidden files and directories (default: True)--ignore-dirs TEXT
: Additional directories to ignore (can be used multiple times)--ignore-files TEXT
: Additional files to ignore (can be used multiple times)
For help, use:
copcon --help
By default, Copcon ignores the following directories:
__pycache__
, .venv
, node_modules
, .git
, .idea
, .vscode
, build
, dist
, target
And the following files:
poetry.lock
, package-lock.json
, Cargo.lock
, .DS_Store
, yarn.lock
You can add more directories or files to ignore using the --ignore-dirs
and --ignore-files
options:
copcon /path/to/your/directory --ignore-dirs my_ignore_dir --ignore-files my_ignore_file.txt
Copcon supports a .copconignore
file, similar to .gitignore
, which allows you to specify patterns for files and directories that should be ignored when generating the report.
By default, Copcon looks for a .copconignore
file in the root of the directory being processed. You can specify a custom location using the --copconignore
option.
Example .copconignore
file:
# Ignore all log files
*.log
# Ignore the temp directory and all its contents
temp/
# Ignore all .tmp files in any directory
**/*.tmp
Copcon generates a report in the following format:
Directory Structure:
your_project_name
├── folder1
│ ├── file1.py
│ └── file2.py
├── folder2
│ └── file3.py
└── main.py
File Contents:
File: folder1/file1.py
----------------------------------------
[Content of file1.py]
----------------------------------------
File: folder1/file2.py
----------------------------------------
[Content of file2.py]
----------------------------------------
File: folder2/file3.py
----------------------------------------
[Content of file3.py]
----------------------------------------
File: main.py
----------------------------------------
[Content of main.py]
----------------------------------------
This format provides a clear overview of your project structure followed by the contents of each file, making it easy for AI models to understand your codebase.
This tool is designed for macOS and Windows.
Update: Now also available on Linux, if xclip (or similar package) is installed. Install using $ sudo apt install xclip
To set up the development environment:
- Ensure you have Python 3.11+ and Poetry installed
- Clone the repository
- Run
poetry install
to install dependencies
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.