gcont


Namegcont JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/ayoubachak/gcont
SummaryA tool for gathering and documenting project files.
upload_time2024-08-15 23:20:33
maintainerNone
docs_urlNone
authorAyoub Achak
requires_python>=3.6
licenseNone
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"
}
        
Elapsed time: 4.06060s