A command-line tool leveraging OpenAI's GPT for intelligent project management within a Git-integrated shell.
Project description
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
- 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:
poetry install
Usage
Enter the interactive shell or execute direct queries via:
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:
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 for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pycodebuddy-0.0.1.tar.gz.
File metadata
- Download URL: pycodebuddy-0.0.1.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b0b9a41c9cb22573eb86afd8ac0eba6656dfc48d6ace2e0b0a146f2ba7b2093
|
|
| MD5 |
749b65f597ad03faa82d5b30a1f6b9f2
|
|
| BLAKE2b-256 |
54fa01fb47c9947c5d6a82f81f05a37a3575eb12940cbad3e9cb949a5a9b48e2
|
Provenance
The following attestation bundles were made for pycodebuddy-0.0.1.tar.gz:
Publisher:
release.yml on cemizm/codebuddy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pycodebuddy-0.0.1.tar.gz -
Subject digest:
0b0b9a41c9cb22573eb86afd8ac0eba6656dfc48d6ace2e0b0a146f2ba7b2093 - Sigstore transparency entry: 149970815
- Sigstore integration time:
-
Permalink:
cemizm/codebuddy@75dfa3212cda5fb3e2eef922220e8127763c7c3c -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/cemizm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@75dfa3212cda5fb3e2eef922220e8127763c7c3c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pycodebuddy-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pycodebuddy-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a66a1dbe03d72178b7f460838b03d9d3c799ccf448e48e1e5cc3a09950bf85b7
|
|
| MD5 |
cbf8f35ef45b562b7f79e66d4f2dad24
|
|
| BLAKE2b-256 |
d9d28a3546e890de94027ae5873d16715aa38a0d4233add368f650cae87e9478
|
Provenance
The following attestation bundles were made for pycodebuddy-0.0.1-py3-none-any.whl:
Publisher:
release.yml on cemizm/codebuddy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pycodebuddy-0.0.1-py3-none-any.whl -
Subject digest:
a66a1dbe03d72178b7f460838b03d9d3c799ccf448e48e1e5cc3a09950bf85b7 - Sigstore transparency entry: 149970817
- Sigstore integration time:
-
Permalink:
cemizm/codebuddy@75dfa3212cda5fb3e2eef922220e8127763c7c3c -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/cemizm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@75dfa3212cda5fb3e2eef922220e8127763c7c3c -
Trigger Event:
release
-
Statement type: