Unknown
* Bump version to 0.8.2 ([`580a0e8`](https://github.com/TechNickAI/AICodeBot/commit/580a0e8d3068a8e4a6020838f052ae13a8b1e63c))
* Add personality selection to AICodeBot setup
This commit introduces a new feature to the AICodeBot setup process. Now, users can select a personality for their AI assistant from a predefined list. The chosen personality is stored in the configuration file and used to generate the AI&39;s responses. This change also includes a refactoring of the personality prompts, moving them into a dictionary for easier access and management. Ain&39;t no half-steppin&39; here, we&39;re making this bot a real cool cat. ([`6d03446`](https://github.com/TechNickAI/AICodeBot/commit/6d034468e73bb8c2fe56626cd0592d9b5b1c00d9))
* Add keywords to setup.py 🗝️
In this commit, we&39;ve added a `keywords` field to the `setup()` function in `setup.py`. This field contains a string of keywords that describe the project: &34;AI, coding, assistant, pair-programming, automation&34;. This will help improve the discoverability of our project on platforms like PyPI. 🕵️♂️🔍 ([`7f0e817`](https://github.com/TechNickAI/AICodeBot/commit/7f0e8178d94276057c1d06e32417cf5cc72ac36f))
* Remove no longer needed template file, we use yaml now ([`8bc8181`](https://github.com/TechNickAI/AICodeBot/commit/8bc81811632c8ba64f014d47309aff5650dcae38))
* Refactor configuration handling, add setup command. Resolves 3
This commit introduces a significant overhaul of the configuration handling in the AICodeBot. The OpenAI API key is no longer fetched directly from the environment variables in the cli.py file. Instead, a new helper function, get_config_file, has been added to helpers.py. This function checks if the AICODEBOT_CONFIG_FILE environment variable is set and uses its value as the path to the configuration file. If the environment variable is not set, it defaults to using a file named .aicodebot.yaml in the user&39;s home directory.
The setup command in cli.py has been updated to use this new function. It now also accepts a new option, --gpt-4-supported, which is a flag indicating whether the user has access to GPT-4. This information is stored in the configuration file along with the OpenAI API key.
The setup_config function in cli.py has been updated to reflect these changes. It now accepts two arguments: the OpenAI API key and a boolean indicating whether GPT-4 is supported. If the OpenAI API key is not provided, the function will attempt to fetch it from the environment variables or prompt the user to enter it. The function then validates the API key and checks if GPT-4 is supported (unless the --gpt-4-supported flag was used). The configuration data is then written to the configuration file.
The read_config function in helpers.py has also been updated to use the new get_config_file function.
Finally, tests have been added to test_cli.py to test the new setup command and the changes to the configuration handling. ([`924b8c6`](https://github.com/TechNickAI/AICodeBot/commit/924b8c68ccd25785e76edcb24939c2eb22a45ff1))
* Bump langchain from 0.0.222 to 0.0.225
Bumps [langchain](https://github.com/hwchase17/langchain) from 0.0.222 to 0.0.225.
- [Release notes](https://github.com/hwchase17/langchain/releases)
- [Commits](https://github.com/hwchase17/langchain/compare/v0.0.222...v0.0.225)
---
updated-dependencies:
- dependency-name: langchain
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <supportgithub.com> ([`c66ce6a`](https://github.com/TechNickAI/AICodeBot/commit/c66ce6a8bc3a30c226565ac420a255dcb0277f08))
* Refactor configuration and dependency management. Resolves 19
In the realm of code, change is the only constant. In this instance, we have embarked on a journey of transformation, a metamorphosis of sorts. The configuration management has been refactored, shifting from environment variables to a more robust YAML-based configuration file. This change brings with it the promise of greater flexibility and ease of use.
In addition, the dependencies have been pruned. The python-dotenv package, once a vital part of our ecosystem, has been replaced by PyYAML, a more versatile and powerful tool for handling configuration data.
The code has been adjusted to accommodate these changes, with the OPENAI_API_KEY now being read from the new configuration file. This key is the bridge between our humble code and the vast knowledge of the OpenAI API, and its handling is of utmost importance.
In the grand tapestry of our codebase, these changes may seem minor, but remember, even the smallest thread can change the pattern of the weave. ([`fce0488`](https://github.com/TechNickAI/AICodeBot/commit/fce04880e1d86e2f6e0cafc9689ae0e17075825a))
* Expand the realm of personalities, refine the prompt generation
In the vast expanse of our code, we have ventured to broaden the spectrum of personalities that our AI can embody. Sherlock, The Dude, and Morpheus have joined the ranks, each bringing their unique essence to the table.
The method of generating prompts has been refined, transitioning from a series of conditional statements to a more efficient mapping. This change not only enhances readability but also simplifies the process of adding new commands in the future.
Furthermore, we have fortified our code against the unknown. In the event of an unrecognized personality or command, our code will now raise a more informative error, guiding us towards the path of resolution.
Remember, developer, the code is a living entity, evolving and growing with each commit. This change is but a step in its journey towards perfection. ([`1b346b8`](https://github.com/TechNickAI/AICodeBot/commit/1b346b8b86af56b8a464f363fff81bd2a3b4901f))