Skip to content

Latest commit

 

History

History
83 lines (65 loc) · 4.44 KB

README.md

File metadata and controls

83 lines (65 loc) · 4.44 KB

Note: This project is currently operating autonomously on a server. Whenever an issue is created, it will automatically generate a comment reply suggesting how to fix the issue. Please ensure that any issues created are clear and comprehensible for the autopilot system to process effectively. 🙇‍♂️

Autopilot - An AI developer

Autopilot is an AI tool that utilizes GPT to read a codebase, create context, and solve tasks that you request.

Autopilot Demo

How it works

(Generated by autopilot)

Task: Create a diagram explaining what this project and the process

+----------------------+     +----------------------+     +----------------------+
|  User inputs TASK    |     |  Read summaries of   |     | Identify relevant    |
|                      | --->|  all the files in    | --->| files for the task   |
|                      |     |  codebase            |     | using GPT AI         |
+----------------------+     +----------------------+     +----------------------+
                                                       |
                                                       v
                                           +-----------------------+
                                           | Extract relevant       |
                                           | context from files     |
                                           | using GPT AI           |
                                           +-----------------------+
                                                       |
                                                       v
                                           +-----------------------+
                                           | Suggest changes based  |
                                           | on context & task      |
                                           | using GPT AI           |
                                           +-----------------------+
                                                       |
                                                       v
                                           +-----------------------+
                                           | Display suggested      |
                                           | changes to the user    |
                                           +-----------------------+

Features

  • 📚 Pre-processes all the relevant code base files and keep them in sync.
  • 🧩 Decides what files to update for the given task.
  • 🤖 Does code updates for you.
  • 📋 Shows you what was updated. Full process log with each AI interaction also produced.
  • 🔧 Optional interactive mode to see the process with retry, continue, abort options.

🛠️ Installation

  1. Clone the repository: git clone https://github.com/fjrdomingues/autopilot.git
  2. Do cd autopilot to install dependencies: npm install
  3. Create the .env file and set up the environment variables:
    1. Copy the .env.template file to .env: cp .env.template .env
    2. Set up an OpenAI API key and file with the key: OPENAI_API_KEY=<your-api-key>. Create openAI API key
    3. Set the path to your code CODE_DIR=<path-to-your-code>
    4. Update IGNORE_LIST=node_modules,coverage,public,__tests__
    5. Update FILE_EXTENSIONS_TO_PROCESS=.js,.tsx,.ts,.jsx

Running

  • node ui -t "YOUR_TASK" - is the easiest way to start.
    • Solutions will be auto applied on your code and a git diff shown if possible.
    • Alternatively you may specify --auto-apply=false.
  • node ui -h - will show you all the options.

Test/Interactive mode

This project is still in alpha stage. It's recommended that you use node ui -i for an interactive mode here you can review the output of every step before proceeding.

Components

  • ui.js: Handles the user interface (UI) interaction and utilizes the GPT-based summaries to complete tasks.

🤝 Contributing

We are running autopilot on a server connnected to the https://github.com/fjrdomingues/autopilot repository. New issues created will trigger autopilot and create a new Pull Request with a proposal. Running with gpt-4

We welcome contributions! Please submit pull requests to the repository, and ensure your changes align with the project's goals and guidelines. Together, we can make Autopilot an even more powerful and efficient tool for developers!