# 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](LICENSE) file for details.
## Support
If you encounter any problems or have any questions, please open an issue on the [GitHub repository](https://github.com/michaelmendoza/codecombine).
Raw data
{
"_id": null,
"home_page": null,
"name": "codecombine",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "ChatGPT tool, code, combine, development, productivity, utility",
"author": null,
"author_email": "Michael Mendoza <askmichaelmendoza@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/9e/5e/d091dca1b398756eb25c1576e9c81f3b84314cf113baa839acd9ebedef9e/codecombine-0.0.1.tar.gz",
"platform": null,
"description": "# CodeCombine\n\nCodeCombine 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.\n\n## Features\n\n- Combine multiple code files into single text files, preserving folder structure\n- Specify which file types to include\n- Ignore specific folders (e.g., `node_modules`, `.git`)\n- Customizable output location\n- Easy-to-use command-line interface\n\n## Installation\n\nYou can install CodeCombine using pip:\n\n```\npip install codecombine\n```\n\n## Usage\n\nBasic usage:\n\n```\ncodecombine -r /path/to/project -o /path/to/output\n```\n\nThis will combine all default file types (`.jsx`, `.js`, `.scss`, `.html`) from the specified project directory into text files in the output directory.\n\n### Options\n\n- `-r`, `--root`: Root folder to start combining files (default: current directory)\n- `-o`, `--output`: Output folder for combined files (default: 'output')\n- `-t`, `--types`: File types to include (default: .jsx .js .scss .html)\n- `-i`, `--ignore`: Folder names to ignore (default: node_modules .git)\n\n### Examples\n\nInclude only Python and JavaScript files:\n```\ncodecombine -r /path/to/project -o /path/to/output -t .py .js\n```\n\nIgnore 'vendor' and 'temp' folders:\n```\ncodecombine -r /path/to/project -o /path/to/output -i vendor temp\n```\n\nCombine Python and JavaScript files, ignoring 'node_modules':\n```\ncodecombine -r /path/to/project -o /path/to/output -t .py .js -i node_modules\n```\n\n## Output\n\nCodeCombine 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.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nIf you encounter any problems or have any questions, please open an issue on the [GitHub repository](https://github.com/michaelmendoza/codecombine).",
"bugtrack_url": null,
"license": null,
"summary": "A utility for combining code files from a directory structure into consolidated text files",
"version": "0.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/michaelmendoza/codecombine/issues",
"Homepage": "https://github.com/michaelmendoza/codecombine"
},
"split_keywords": [
"chatgpt tool",
" code",
" combine",
" development",
" productivity",
" utility"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "69b8ad6ae2866e7335f038d18ca2c38746ca3930a638679868956479dd78c9c5",
"md5": "8ef6ca5000269b8d18dd2e5a9df570f2",
"sha256": "193b2f4ca44d4053b3812f9209236a9185ded8a0db43cedb3e7a87a9cfb2e0ec"
},
"downloads": -1,
"filename": "codecombine-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ef6ca5000269b8d18dd2e5a9df570f2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 5098,
"upload_time": "2024-11-01T13:51:16",
"upload_time_iso_8601": "2024-11-01T13:51:16.069987Z",
"url": "https://files.pythonhosted.org/packages/69/b8/ad6ae2866e7335f038d18ca2c38746ca3930a638679868956479dd78c9c5/codecombine-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9e5ed091dca1b398756eb25c1576e9c81f3b84314cf113baa839acd9ebedef9e",
"md5": "4213b65dcbeab425defda5d189f0ae58",
"sha256": "70735ae38f49cda10e33af6f0632ce2c51f15df91694f931cdc8a2a490125aa4"
},
"downloads": -1,
"filename": "codecombine-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "4213b65dcbeab425defda5d189f0ae58",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4692,
"upload_time": "2024-11-01T13:51:17",
"upload_time_iso_8601": "2024-11-01T13:51:17.547605Z",
"url": "https://files.pythonhosted.org/packages/9e/5e/d091dca1b398756eb25c1576e9c81f3b84314cf113baa839acd9ebedef9e/codecombine-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-01 13:51:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "michaelmendoza",
"github_project": "codecombine",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "codecombine"
}