Specify what you want it to build, the AI asks for clarification, and then builds it.
GPT Engineer is made to be easy to adapt, extend, and make your agent learn how you want your code to look. It generates an entire codebase based on a prompt.
Choose either stable or development.
For stable release:
python -m pip install gpt-engineer
git clone https://github.com/AntonOsika/gpt-engineer.git
python -m pip install -e .
make install && source venv/bin/activatefor a venv)
Choose one of:
export OPENAI_API_KEY=[your api key]
Check the Windows README for windows usage.
Other ways to run:
There are two ways to work with GPT-engineer: new code mode (the default), and improve existing code mode (the
prompt(no extension) inside your new folder and fill it with instructions
gpt-engineer <project_dir>with a relative path to your folder
gpt-engineer projects/my-new-projectfrom the gpt-engineer directory root with your new folder in
prompt(no extension) inside your new folder and fill it with instructions for how you want to improve the code
gpt-engineer <project_dir> -iwith a relative path to your folder
gpt-engineer projects/my-old-projectfrom the gpt-engineer directory root with your folder in
By running gpt-engineer you agree to our terms.
You can specify the "identity" of the AI agent by editing the files in the
preprompts, and evolving how you write the project prompt, is how you make the agent remember things between projects.
You can also automatically copy all
preprompts files into your project folder using the cli parameter
--use-custom-prepompts. This way you can have custom preprompts for all of your projects without the need to edit the main files.
Each step in
steps.py will have its communication history with GPT4 stored in the logs folder, and can be rerun with
You can also run with open source models, like WizardCoder. See the documentation for example instructions.
The gpt-engineer community is building the open platform for devs to tinker with and build their personal code-generation toolbox.
If you are interested in contributing to this, we would be interested in having you.
We are currently looking for more maintainers and community organizers. Email [email protected] if you are interested in an official role.