# Codebuddy
Codebuddy is an advanced command-line tool designed for executing user queries using OpenAI's GPT models within a Git-integrated shell environment. It provides intelligent automation of project file and configuration management, enabling efficient and dynamic interaction with projects.
## Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Architecture](#architecture)
- [Dependencies](#dependencies)
- [Development](#development)
- [Contributing](#contributing)
- [License](#license)
## Features
- **Interactive Shell**: Engage in an interactive shell environment with Git-based rollback capabilities to ensure safe modifications.
- **AI-Driven Query Processing**: Leverage OpenAI's GPT models to intelligently handle user queries and automate project management tasks.
- **Seamless File Management**: Facilitates project updates, file modifications, and configuration adjustments in response to user interactions.
- **Robust Command Execution**: Securely execute system commands as part of an integrated workflow.
## Installation
Codebuddy requires Python 3.8 or later. Install using Poetry with:
```bash
poetry install
```
## Usage
Enter the interactive shell or execute direct queries via:
```bash
poetry shell
codebuddy "<your request here>"
```
Ensure your OpenAI API key is configured as an environment variable.
## Architecture
Codebuddy features a robust, modular architecture:
- `main.py`: Serves as the entry point for the interactive shell and direct query execution.
- `openai_client.py`: Manages integration with the OpenAI API to process user queries and generate actionable responses.
- `file_handler.py`: Handles dynamic file operations and manages project files.
- `command_executor.py`: Facilitates execution of system commands with necessary checks.
- `transaction_handler.py`: Provides Git-based transaction management to aid in safe rollbacks.
## Dependencies
Managed via Poetry and specified within `pyproject.toml`. Key dependencies include:
- openai
- PyYAML
## Development
Install additional development tools using:
```bash
poetry install --with dev
```
Use `black` for formatting, `flake8` for style checks, `mypy` for type checks, and `isort` for organizing imports.
## Contributing
Contributions are encouraged. Fork, implement improvements, and submit a pull request with test coverage for new features.
## License
Licensed under MIT License. See [LICENSE](LICENSE) for more information.
Raw data
{
"_id": null,
"home_page": null,
"name": "pycodebuddy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "GPT, automation, OpenAI, interactive shell, Git, project management",
"author": "Cem Basoglu",
"author_email": "cem.basoglu@web.de",
"download_url": "https://files.pythonhosted.org/packages/54/fa/01fb47c9947c5d6a82f81f05a37a3575eb12940cbad3e9cb949a5a9b48e2/pycodebuddy-0.0.1.tar.gz",
"platform": null,
"description": "# Codebuddy\n\nCodebuddy is an advanced command-line tool designed for executing user queries using OpenAI's GPT models within a Git-integrated shell environment. It provides intelligent automation of project file and configuration management, enabling efficient and dynamic interaction with projects.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Architecture](#architecture)\n- [Dependencies](#dependencies)\n- [Development](#development)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n- **Interactive Shell**: Engage in an interactive shell environment with Git-based rollback capabilities to ensure safe modifications.\n- **AI-Driven Query Processing**: Leverage OpenAI's GPT models to intelligently handle user queries and automate project management tasks.\n- **Seamless File Management**: Facilitates project updates, file modifications, and configuration adjustments in response to user interactions.\n- **Robust Command Execution**: Securely execute system commands as part of an integrated workflow.\n\n## Installation\n\nCodebuddy requires Python 3.8 or later. Install using Poetry with:\n\n```bash\npoetry install\n```\n\n## Usage\n\nEnter the interactive shell or execute direct queries via:\n\n```bash\npoetry shell\ncodebuddy \"<your request here>\"\n```\n\nEnsure your OpenAI API key is configured as an environment variable.\n\n## Architecture\n\nCodebuddy features a robust, modular architecture:\n- `main.py`: Serves as the entry point for the interactive shell and direct query execution.\n- `openai_client.py`: Manages integration with the OpenAI API to process user queries and generate actionable responses.\n- `file_handler.py`: Handles dynamic file operations and manages project files.\n- `command_executor.py`: Facilitates execution of system commands with necessary checks.\n- `transaction_handler.py`: Provides Git-based transaction management to aid in safe rollbacks.\n\n## Dependencies\n\nManaged via Poetry and specified within `pyproject.toml`. Key dependencies include:\n- openai\n- PyYAML\n\n## Development\n\nInstall additional development tools using:\n\n```bash\npoetry install --with dev\n```\n\nUse `black` for formatting, `flake8` for style checks, `mypy` for type checks, and `isort` for organizing imports.\n\n## Contributing\n\nContributions are encouraged. Fork, implement improvements, and submit a pull request with test coverage for new features.\n\n## License\n\nLicensed under MIT License. See [LICENSE](LICENSE) for more information.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A command-line tool leveraging OpenAI's GPT for intelligent project management within a Git-integrated shell.",
"version": "0.0.1",
"project_urls": null,
"split_keywords": [
"gpt",
" automation",
" openai",
" interactive shell",
" git",
" project management"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d9d28a3546e890de94027ae5873d16715aa38a0d4233add368f650cae87e9478",
"md5": "cbf8f35ef45b562b7f79e66d4f2dad24",
"sha256": "a66a1dbe03d72178b7f460838b03d9d3c799ccf448e48e1e5cc3a09950bf85b7"
},
"downloads": -1,
"filename": "pycodebuddy-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cbf8f35ef45b562b7f79e66d4f2dad24",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10940,
"upload_time": "2024-11-19T19:04:40",
"upload_time_iso_8601": "2024-11-19T19:04:40.222804Z",
"url": "https://files.pythonhosted.org/packages/d9/d2/8a3546e890de94027ae5873d16715aa38a0d4233add368f650cae87e9478/pycodebuddy-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "54fa01fb47c9947c5d6a82f81f05a37a3575eb12940cbad3e9cb949a5a9b48e2",
"md5": "749b65f597ad03faa82d5b30a1f6b9f2",
"sha256": "0b0b9a41c9cb22573eb86afd8ac0eba6656dfc48d6ace2e0b0a146f2ba7b2093"
},
"downloads": -1,
"filename": "pycodebuddy-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "749b65f597ad03faa82d5b30a1f6b9f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 8583,
"upload_time": "2024-11-19T19:04:41",
"upload_time_iso_8601": "2024-11-19T19:04:41.911645Z",
"url": "https://files.pythonhosted.org/packages/54/fa/01fb47c9947c5d6a82f81f05a37a3575eb12940cbad3e9cb949a5a9b48e2/pycodebuddy-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-19 19:04:41",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pycodebuddy"
}