Meet Rustacean GPT, an experimental project transforming OpenAi's GPT into a helpful, autonomous software engineer to support senior developers and simplify coding life! πŸš€πŸ€–πŸ§ 

Overview

Rustacean GPT

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! 🌟 πŸ”§

Demo

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! πŸ€ͺ 🎒

How to use Rustacean GPT

  1. Clone the repository. πŸ“
  2. Adjust ./config/configuration.json. An example configuration file is provided for your reference. πŸ”§
  3. 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. ⏹️

To-Do List πŸ“‹

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. πŸ€—

You might also like...
Buildomat manages the provisioning of ephemeral UNIX systems on which to run software builds
Buildomat manages the provisioning of ephemeral UNIX systems on which to run software builds

B U I L D O M A T a software build labour-saving device Buildomat manages the provisioning of ephemeral UNIX systems (e.g., instances in AWS EC2) on w

A powerful minecraft bedrock software written in Rust with a powerful Typescript plugin API.
A powerful minecraft bedrock software written in Rust with a powerful Typescript plugin API.

Netrex A powerful minecraft bedrock software written in RustLang. Why Netrex? It's written in Rust. Unique and straight to the point. Typescript Plugi

A realtime flight tracking program for our Software Engineering 300 class at ERAU
A realtime flight tracking program for our Software Engineering 300 class at ERAU

Flight Tracking ERAU SE300 Description Software that allows for weather and plane tracking to facilitate the user in looking at plane paths. Many peop

Software adapter for various Chunithm slider controllers with a built-in Brokenithm web controller
Software adapter for various Chunithm slider controllers with a built-in Brokenithm web controller

slidershim Software adapter for various Chunithm slider controllers with a built-in Brokenithm web controller. Has support for keyboard/gamepad output

Deser: an experimental serialization and deserialization library for Rust

deser: an experimental serialization and deserialization library for Rust Deser is an experimental serialization system for Rust. It wants to explore

Compiler & Interpreter for the (rather new and very experimental) Y programming language.

Y Lang Why would anyone build a new (and rather experimental) language with no real world use case. Design Y (pronounced as why) is based on the idea

An experimental logical language

Last Order Logic An experimental logical language. Based on paper Last Order Logic. Motivation In First Order Logic, the truth values of quantified ex

An experimental Discord bot using Serenity.

VoidBot An experimental Discord bot using Serenity. Environment Variables Can be set with a .env file. DISCORD_TOKEN: The token for your bot. (require

An experimental implementation of gitbom in Rust

gitbom-rs "An experimental implementation of GitBOM in Rust" NOTICE: This project is still a work in progress and is not ready for any use beyond expe

Owner
Gary McDougall
Creative developer skilled in Rust, C#, and .NET, focused on small, fun projects and exploring innovative open source tools. πŸš€πŸŽ¨πŸŒ
Gary McDougall
Tiny Discord ticket support bot that utilizes the OpenAI GPT-3.5-turbo model.

BDFD AI Mod Our tiny Discord ticket support bot that utilizes the OpenAI GPT-3.5-turbo model. This project aims to help users by providing a very fast

NilPointer Software 5 Apr 20, 2023
Simplify temporary email management and interaction, including message retrieval and attachment downloads, using Rust.

Tempmail The Tempmail simplifies temporary email management and interaction, including message retrieval and attachment downloads, using the Rust prog

Dilshad 6 Sep 21, 2023
The simplest way to de-Google your life and business: Inbox, Calendar, Files, Contacts & much more

Bloom The all-in-one private workspace Try it for free! You no longer trust tech monopolies with your data? You are done with your privacy invaded by

Sylvain Kerkour 1.6k Dec 26, 2022
LaaS: Life as a Service

LaaS: Life as a Service $ curl life-as-a-service.herokuapp.com/-1x0~0x0~1x0 0x-1~0x0~0x1 let previous = '0x-1~0x0~0x1' for (let i = 0; i < 5; i++) {

Brandon Smith 5 Nov 1, 2021
A transpiler/compiler for CrabRave, a version of BrainFuck with sea-life emojis.

CrabRave Programming Language CrabRave is a fun and unique programming language based on Brainfuck, which utilizes crab and sea-life emojis as its syn

null 23 May 3, 2023
Add toast support in your dioxus project

Add toast support in your dioxus project

YuKun Liu 8 Dec 16, 2022
Help project managers and project owners with easy-to-understand views of github issue dependencies.

Help project managers and project owners with easy-to-understand views of github issue dependencies.

nasa 56 Dec 15, 2022
Create That Project. Project Creation That Rocks 🎸🧱.

Create That Project Config Example Install $ cargo install ctp Basic Info In any file or even in the commands sections of your config file you can pla

Will 5 Dec 20, 2021
Opensource diagnostic software for Daimler vehicles, inspired by Xentry and DAS, written in Rust

OPENSTAR An opensource diagnostic application for Daimler vehicles inspired by DAS and Xentry. Some of the work here is based on OpenVehicleDiag If yo

Ashcon Mohseninia 21 Nov 20, 2022
Software for managing Stream Deck devices with folders and actions

Streamduck Software for managing Stream Deck devices with folders and actions Project that will perhaps be better than streamdeck-ui Currently still i

TheJebForge 21 Dec 16, 2022