Welcome, fellow coding enthusiasts! ππ€ I am excited to introduce you to Rustacean GPT, my humble yet ambitious project that aims to turn the fantastic ChatGPT into a helpful, autonomous software engineer! π§ π» My goal is to create a tool to support senior engineers, generating useful boilerplate code, and more, Rustacean GPT is all about making the coding world a little bit easier and efficient. ππ‘ Currently in its early, experimental stages, this repository is a cozy, academic corner for anyone with a curious and passionate spirit! So join me, friends, as we embark on this delightful journey in AI-assisted software engineering! ππ§
Feast your eyes on this delightful gif of Rustacean GPT successfully crafting a Fibonacci generator! π€©π Please note that this is an ideal outcome, and to be fully transparent, it took about 10-15 reruns to achieve this result. Sometimes, ChatGPT can be a bit quirky and adventurous! π€ͺπ’
- Clone the repository. π
- Adjust
./config/configuration.json
. An example configuration file is provided for your reference. π§ - Customize
./config/InitialSystemPrompt.txt
as you wish. This will be sent as the System message in conversation history to ChatGPT. π¬
Once everything is set up just right, cargo run and enjoy the ride! π’
Remember, it runs non-stop, so use ctrl+c to bring it to a halt when you feel it's time. βΉοΈ
Here is a list of my next several to-do items for this project. I'll update the progress using emoji checkboxes:
- β
Giving the AI memory (at first through Pinecone)
- β Create memory module & trait.
- β Create Pinecone API interactions.
- β Give Pinecone struct memory trait.
- β Integrate memory into application loop.
- β
Create Token Estimator
- β Find token estimator library (or implement manually).
- β Integrate token estimation into application loop.
- β
Refactoring
mainloop
.- β Create a struct/module just for AI actions.
- β Extract AI actions out of mainloop.
- β
Create a struct/module for application (as whole, to get away from
mainloop
name). - β Recreate application loop in new module.
- β¬ Create a interactive command line tool for creating requirements.
- β¬ Create a TUI for the entire thing.
- β¬ Give the AI internet access.
Feel free to contribute or share your ideas on how to improve Rustacean GPT! Your input is always welcome. π€