Skip to main content

A utility for combining code files from a directory structure into consolidated text files

Project description

CodeCombine

CodeCombine is a powerful utility for combining code files from a directory structure into consolidated text files, organized by folder. It's designed to help developers and teams easily create snapshots or summaries of their codebase, making it easier to review, share, or archive project structures. Mostly, I was inspired to make this project to make it easier to share my codebase with ChatGPT o1-mini which currently didn't include support for including files, but you can copy and past code which i generated using this tool.

Features

  • Combine multiple code files into single text files, preserving folder structure
  • Specify which file types to include
  • Ignore specific folders (e.g., node_modules, .git)
  • Customizable output location
  • Easy-to-use command-line interface

Installation

You can install CodeCombine using pip:

pip install codecombine

Usage

Basic usage:

codecombine -r /path/to/project -o /path/to/output

This will combine all default file types (.jsx, .js, .scss, .html) from the specified project directory into text files in the output directory.

Options

  • -r, --root: Root folder to start combining files (default: current directory)
  • -o, --output: Output folder for combined files (default: 'output')
  • -t, --types: File types to include (default: .jsx .js .scss .html)
  • -i, --ignore: Folder names to ignore (default: node_modules .git)

Examples

Include only Python and JavaScript files:

codecombine -r /path/to/project -o /path/to/output -t .py .js

Ignore 'vendor' and 'temp' folders:

codecombine -r /path/to/project -o /path/to/output -i vendor temp

Combine Python and JavaScript files, ignoring 'node_modules':

codecombine -r /path/to/project -o /path/to/output -t .py .js -i node_modules

Output

CodeCombine creates a text file for each folder in your project (including the root). Each file contains the contents of all matching files in that folder, separated by headers indicating the original file path.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

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

codecombine-0.0.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

codecombine-0.0.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file codecombine-0.0.1.tar.gz.

File metadata

  • Download URL: codecombine-0.0.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.5

File hashes

Hashes for codecombine-0.0.1.tar.gz
Algorithm Hash digest
SHA256 70735ae38f49cda10e33af6f0632ce2c51f15df91694f931cdc8a2a490125aa4
MD5 4213b65dcbeab425defda5d189f0ae58
BLAKE2b-256 9e5ed091dca1b398756eb25c1576e9c81f3b84314cf113baa839acd9ebedef9e

See more details on using hashes here.

File details

Details for the file codecombine-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: codecombine-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.5

File hashes

Hashes for codecombine-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 193b2f4ca44d4053b3812f9209236a9185ded8a0db43cedb3e7a87a9cfb2e0ec
MD5 8ef6ca5000269b8d18dd2e5a9df570f2
BLAKE2b-256 69b8ad6ae2866e7335f038d18ca2c38746ca3930a638679868956479dd78c9c5

See more details on using hashes here.

Supported by

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