Name | gcont JSON |
Version |
0.1.5
JSON |
| download |
home_page | https://github.com/ayoubachak/gcont |
Summary | A tool for gathering and documenting project files. |
upload_time | 2024-08-15 23:20:33 |
maintainer | None |
docs_url | None |
author | Ayoub Achak |
requires_python | >=3.6 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# gcont
`gcont` is a command-line tool designed to help developers gather important code files and generate a documentation context in Markdown format. It can automatically detect the project type, include/exclude specific files, and support Git integration to document only changed files.
## Features
- **Automatic Project Detection**: Automatically detects the type of project (e.g., Django, Flask, React) and applies relevant file gathering rules.
- **Customizable**: Supports include and exclude patterns via command-line arguments or a configuration file (`config.gcont.yml`).
- **Git Integration**: Optionally gathers only the files that have changed since the last Git commit.
- **Markdown Output**: Generates a `context.md` file that includes the gathered files, organized and syntax-highlighted for easy reference.
## Installation
You can install `gcont` via `pip`:
```bash
pip install gcont
```
## Usage
### Basic Usage
To run `gcont` with default settings:
```bash
gcont --root /path/to/your/project
```
Or if you are already in the directory, you can just run
```bash
gcount
```
### Custom Include/Exclude Patterns
You can specify additional include or exclude patterns:
```bash
gcont --include '*.html' '*.css' --exclude '*.log' '*.tmp'
```
### Using a Configuration File (Optional)
Create a `config.gcont.yml` in your project root directory to avoid passing options every time:
```yaml
project: react
root: .
include:
- '*.html'
- '*.css'
exclude:
- '*.test.js'
- '*.test.jsx'
- 'node_modules/*'
git_diff: false
verbose: true
```
Then simply run:
```bash
gcont
```
### Git Integration
To gather only files that have changed since the last Git commit:
```bash
gcont --git-diff
```
## Development
### Running Tests
To run the tests for this project:
```bash
pytest
```
## Contributing
Contributions are welcome! Please fork the repository and submit a pull request for review.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
If you have any questions or feedback, please feel free to reach out.
Raw data
{
"_id": null,
"home_page": "https://github.com/ayoubachak/gcont",
"name": "gcont",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "Ayoub Achak",
"author_email": "ayoub.achak01@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ea/ba/fc9226815220659c35ef0457e4e9f0b398e80d202ddbdad9350930b04052/gcont-0.1.5.tar.gz",
"platform": null,
"description": "# gcont\n\n`gcont` is a command-line tool designed to help developers gather important code files and generate a documentation context in Markdown format. It can automatically detect the project type, include/exclude specific files, and support Git integration to document only changed files.\n\n## Features\n\n- **Automatic Project Detection**: Automatically detects the type of project (e.g., Django, Flask, React) and applies relevant file gathering rules.\n- **Customizable**: Supports include and exclude patterns via command-line arguments or a configuration file (`config.gcont.yml`).\n- **Git Integration**: Optionally gathers only the files that have changed since the last Git commit.\n- **Markdown Output**: Generates a `context.md` file that includes the gathered files, organized and syntax-highlighted for easy reference.\n\n## Installation\n\nYou can install `gcont` via `pip`:\n\n```bash\npip install gcont\n```\n\n## Usage\n\n### Basic Usage\n\nTo run `gcont` with default settings:\n\n```bash\ngcont --root /path/to/your/project\n```\n\nOr if you are already in the directory, you can just run \n```bash\ngcount\n```\n\n### Custom Include/Exclude Patterns\n\nYou can specify additional include or exclude patterns:\n\n```bash\ngcont --include '*.html' '*.css' --exclude '*.log' '*.tmp'\n```\n\n### Using a Configuration File (Optional)\n\nCreate a `config.gcont.yml` in your project root directory to avoid passing options every time:\n\n```yaml\nproject: react\nroot: .\ninclude:\n - '*.html'\n - '*.css'\nexclude:\n - '*.test.js'\n - '*.test.jsx'\n - 'node_modules/*'\ngit_diff: false\nverbose: true\n```\n\nThen simply run:\n\n```bash\ngcont\n```\n\n### Git Integration\n\nTo gather only files that have changed since the last Git commit:\n\n```bash\ngcont --git-diff\n```\n\n## Development\n\n### Running Tests\n\nTo run the tests for this project:\n\n```bash\npytest\n```\n\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request for review.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contact\n\nIf you have any questions or feedback, please feel free to reach out.\n",
"bugtrack_url": null,
"license": null,
"summary": "A tool for gathering and documenting project files.",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/ayoubachak/gcont"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8a4dc97e1efa30cee3318afb3d7f6272803c2a8fbc9de2ccbd2311226163a461",
"md5": "3ca44f654387797f7769b8b5b302a03d",
"sha256": "f6e0f268399eae9098d8eb59552915412ac7db8f8865167815f9fc9a6834504e"
},
"downloads": -1,
"filename": "gcont-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3ca44f654387797f7769b8b5b302a03d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 6092,
"upload_time": "2024-08-15T23:20:31",
"upload_time_iso_8601": "2024-08-15T23:20:31.988532Z",
"url": "https://files.pythonhosted.org/packages/8a/4d/c97e1efa30cee3318afb3d7f6272803c2a8fbc9de2ccbd2311226163a461/gcont-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eabafc9226815220659c35ef0457e4e9f0b398e80d202ddbdad9350930b04052",
"md5": "1de6d85465bbef4abc9ad6d0dcd216d5",
"sha256": "2dfe627912928d1e35049176755cf17d811e0c6e2221ee0f0f3d50033e36b9d5"
},
"downloads": -1,
"filename": "gcont-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "1de6d85465bbef4abc9ad6d0dcd216d5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 6536,
"upload_time": "2024-08-15T23:20:33",
"upload_time_iso_8601": "2024-08-15T23:20:33.050027Z",
"url": "https://files.pythonhosted.org/packages/ea/ba/fc9226815220659c35ef0457e4e9f0b398e80d202ddbdad9350930b04052/gcont-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-15 23:20:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ayoubachak",
"github_project": "gcont",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gcont"
}