# GPT-Engineer | Platform to experiment with the AI Software Engineer

**URL:** <https://onehack.st/t/gpt-engineer-platform-to-experiment-with-the-ai-software-engineer/293993>\
**Category:** Tools & Scripts\
**Tags:** programming, privacy, ai\
**Created:** [October 19, 2024, 12:15pm UTC](https://onehack.st/t/gpt-engineer-platform-to-experiment-with-the-ai-software-engineer/293993 "2024-10-19T12:15:14Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BlueHacker](https://onehack.st/user_avatar/onehack.st/bluehacker/32/174721_2.png) [@BlueHacker](https://onehack.st/u/BlueHacker)\
**Post date:** [October 19, 2024, 12:15pm UTC](https://onehack.st/t/gpt-engineer-platform-to-experiment-with-the-ai-software-engineer/293993/1 "2024-10-19T12:15:14Z")

</div>

# GPT-Engineer

[![GitHub Repo stars](https://camo.githubusercontent.com/a805d5b41d679e2fac5dc6c0d13353ad500da5b12f301d8d69145e3d51ddee36/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6770742d656e67696e6565722d6f72672f6770742d656e67696e6565723f7374796c653d736f6369616c)](https://github.com/gpt-engineer-org/gpt-engineer) [![Discord Follow](https://camo.githubusercontent.com/146d58969d427289345bc8d1ff64b694e3d82945eea4f8879cb643dacdd034e0/68747470733a2f2f646362616467652e76657263656c2e6170702f6170692f7365727665722f38746344513839456a323f7374796c653d666c6174)](https://discord.gg/8tcDQ89Ej2) [![License](https://camo.githubusercontent.com/4e524b2eea43a3f4c15cde5a7fcffa58ad31bc0eb30c8094a25d4622f4e64cd3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6770742d656e67696e6565722d6f72672f6770742d656e67696e656572)](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/LICENSE) [![GitHub Issues or Pull Requests](https://camo.githubusercontent.com/ce39a47c54226e7e57d621c5972d2c7bc8aefd2aff806f69116ebc4901785193/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6770742d656e67696e6565722d6f72672f6770742d656e67696e656572)](https://github.com/gpt-engineer-org/gpt-engineer/issues) [![GitHub Release](https://camo.githubusercontent.com/fe9e399689dc50672ad35c1867d755918fbc0b9c80749177fa3065b504289d42/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6770742d656e67696e6565722d6f72672f6770742d656e67696e656572)](https://camo.githubusercontent.com/fe9e399689dc50672ad35c1867d755918fbc0b9c80749177fa3065b504289d42/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6770742d656e67696e6565722d6f72672f6770742d656e67696e656572) [![Twitter Follow](https://camo.githubusercontent.com/e4fd6e08a92e4233f1ee78bf818dc3544f6d3820ec0bcf4c86854a7140a0f2ac/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f616e746f6e6f73696b613f7374796c653d736f6369616c)](https://twitter.com/antonosika)

gpt-engineer lets you:

- Specify software in natural language
- Sit back and watch as an AI writes and executes the code
- Ask the AI to implement improvements

## Getting Started

### Install gpt-engineer

For **stable** release:

- `python -m pip install gpt-engineer`

For **development** :

- `git clone https://github.com/gpt-engineer-org/gpt-engineer.git`
- `cd gpt-engineer`
- `poetry install`
- `poetry shell` to activate the virtual environment

We actively support Python 3.10 - 3.12. The last version to support Python 3.8 - 3.9 was [0.2.6](https://pypi.org/project/gpt-engineer/0.2.6/).

### Setup API key

Choose **one** of:

- Export env variable (you can add this to .bashrc so that you don’t have to do it each time you start the terminal)
  - `export OPENAI_API_KEY=[your api key]`

- .env file:
  - Create a copy of `.env.template` named `.env`
  - Add your OPENAI\_API\_KEY in .env

- Custom model:
  - See [docs](https://gpt-engineer.readthedocs.io/en/latest/open_models.html), supports local model, azure, etc.

Check the [Windows README](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/WINDOWS_README.md) for Windows usage.

**Other ways to run:**

- Use Docker ([instructions](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/docker/README.md))
- Do everything in your browser: [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/gpt-engineer-org/gpt-engineer/codespaces)

### Create new code (default usage)

- Create an empty folder for your project anywhere on your computer
- Create a file called `prompt` (no extension) inside your new folder and fill it with instructions
- Run `gpte <project_dir>` with a relative path to your folder
  - For example: `gpte projects/my-new-project` from the gpt-engineer directory root with your new folder in `projects/`

### Improve existing code

- Locate a folder with code which you want to improve anywhere on your computer
- Create a file called `prompt` (no extension) inside your new folder and fill it with instructions for how you want to improve the code
- Run `gpte <project_dir> -i` with a relative path to your folder
  - For example: `gpte projects/my-old-project -i` from the gpt-engineer directory root with your folder in `projects/`

### Benchmark custom agents

- gpt-engineer installs the binary ‘bench’, which gives you a simple interface for benchmarking your own agent implementations against popular public datasets.
- The easiest way to get started with benchmarking is by checking out the [template](https://github.com/gpt-engineer-org/gpte-bench-template) repo, which contains detailed instructions and an agent template.
- Currently supported benchmark:
  - [APPS](https://github.com/hendrycks/apps)
  - [MBPP](https://github.com/google-research/google-research/tree/master/mbpp)

By running gpt-engineer, you agree to our [terms](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/TERMS_OF_USE.md).

## Relation to gptengineer.app (GPT Engineer)

[gptengineer.app](https://gptengineer.app/) is a commercial project for the automatic generation of web apps. It features a UI for non-technical users connected to a git-controlled codebase. The gptengineer.app team is actively supporting the open source community.

## Features

### Pre Prompts

You can specify the “identity” of the AI agent by overriding the `preprompts` folder with your own version of the `preprompts`. You can do so via the `--use-custom-preprompts` argument.

Editing the `preprompts` is how you make the agent remember things between projects.

### Vision

By default, gpt-engineer expects text input via a `prompt` file. It can also accept image inputs for vision-capable models. This can be useful for adding UX or architecture diagrams as additional context for GPT Engineer. You can do this by specifying an image directory with the `—-image_directory` flag and setting a vision-capable model in the second CLI argument.

E.g. `gpte projects/example-vision gpt-4-vision-preview --prompt_file prompt/text --image_directory prompt/images -i`

### Open source, local and alternative models

By default, gpt-engineer supports OpenAI Models via the OpenAI API or Azure OpenAI API, as well as Anthropic models.

With a little extra setup, you can also run with open source models like WizardCoder. See the [documentation](https://gpt-engineer.readthedocs.io/en/latest/open_models.html) for example instructions.

## Mission

The gpt-engineer community mission is to **maintain tools that coding agent builders can use and facilitate collaboration in the open source community**.

If you are interested in contributing to this, we are interested in having you.

If you want to see our broader ambitions, check out the [roadmap](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/ROADMAP.md), and join [discord](https://discord.gg/8tcDQ89Ej2) to learn how you can [contribute](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/.github/CONTRIBUTING.md) to it.

gpt-engineer is [governed](https://github.com/gpt-engineer-org/gpt-engineer/blob/main/GOVERNANCE.md) by a board of long-term contributors. If you contribute routinely and have an interest in shaping the future of gpt-engineer, you will be considered for the board.

## Significant contributors

- [![@ATheorell](https://avatars.githubusercontent.com/u/143704446?s=64&v=4) @ATheorell](https://github.com/ATheorell)
- [![@similato87](https://avatars.githubusercontent.com/u/71301573?s=64&v=4) @similato87](https://github.com/similato87)
- [![@TheoMcCabe](https://avatars.githubusercontent.com/u/9841960?s=64&v=4) @TheoMcCabe](https://github.com/TheoMcCabe)
- [![@captivus](https://avatars.githubusercontent.com/u/366332?s=64&v=4) @captivus](https://github.com/captivus)

## Example

reduced.mov

## About

Platform to experiment with the AI Software Engineer. Terminal based. NOTE: Very different from [https://gptengineer.app](https://gptengineer.app/)

### Topics

[python](https://github.com/topics/python) [ai](https://github.com/topics/ai) [openai](https://github.com/topics/openai) [code-generation](https://github.com/topics/code-generation) [codegen](https://github.com/topics/codegen) [coding-assistant](https://github.com/topics/coding-assistant) [autonomous-agent](https://github.com/topics/autonomous-agent) [gpt-4](https://github.com/topics/gpt-4) [gpt-engineer](https://github.com/topics/gpt-engineer) [codebase-generation](https://github.com/topics/codebase-generation)

### Resources

[Readme](https://github.com/gpt-engineer-org/gpt-engineer#readme-ov-file)

### License

[MIT license](https://github.com/gpt-engineer-org/gpt-engineer#MIT-1-ov-file)

### Code of conduct

[Code of conduct](https://github.com/gpt-engineer-org/gpt-engineer#coc-ov-file)

### Citation

Cite this repository

[Activity](https://github.com/gpt-engineer-org/gpt-engineer/activity)

[Custom properties](https://github.com/gpt-engineer-org/gpt-engineer/custom-properties)

### Stars

[**52.2k** stars](https://github.com/gpt-engineer-org/gpt-engineer/stargazers)

### Watchers

[**510** watching](https://github.com/gpt-engineer-org/gpt-engineer/watchers)

### Forks

[**6.8k** forks](https://github.com/gpt-engineer-org/gpt-engineer/forks)

[Report repository](https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fgpt-engineer-org%2Fgpt-engineer&report=gpt-engineer-org+%28user%29)

## [Releases 21](https://github.com/gpt-engineer-org/gpt-engineer/releases)

[  
v0.3.1Latest  
on Jun 6  
 ](https://github.com/gpt-engineer-org/gpt-engineer/releases/tag/v0.3.1)

[+ 20 releases](https://github.com/gpt-engineer-org/gpt-engineer/releases)

## Sponsor this project

- ![patreon](https://github.githubassets.com/assets/patreon-96b15b9db4b9.svg)[patreon.com/ **gpt\_eng**](https://patreon.com/gpt_eng)

## [Packages](https://github.com/orgs/gpt-engineer-org/packages?repo_name=gpt-engineer)

No packages published

## [Used by 147](https://github.com/gpt-engineer-org/gpt-engineer/network/dependents)

[

- ![@alphavector](https://avatars.githubusercontent.com/u/11805788?s=64&v=4)
- ![@robel59](https://avatars.githubusercontent.com/u/32925321?s=64&v=4)
- ![@aryan-at-ul](https://avatars.githubusercontent.com/u/90618422?s=64&v=4)
- ![@robel59](https://avatars.githubusercontent.com/u/32925321?s=64&v=4)
- ![@KAFKA2306](https://avatars.githubusercontent.com/u/137051370?s=64&v=4)
- ![@robel59](https://avatars.githubusercontent.com/u/32925321?s=64&v=4)
- ![@robel59](https://avatars.githubusercontent.com/u/32925321?s=64&v=4)
- ![@robel59](https://avatars.githubusercontent.com/u/32925321?s=64&v=4)

- 139]([https://github.com/gpt-engineer-org/gpt-engineer/network/dependents](https://github.com/gpt-engineer-org/gpt-engineer/network/dependents))

## [Contributors105](https://github.com/gpt-engineer-org/gpt-engineer/graphs/contributors)

- [![@ATheorell](https://avatars.githubusercontent.com/u/143704446?s=64&v=4)](https://github.com/ATheorell)
- [![@AntonOsika](https://avatars.githubusercontent.com/u/4467025?s=64&v=4)](https://github.com/AntonOsika)
- [![@similato87](https://avatars.githubusercontent.com/u/71301573?s=64&v=4)](https://github.com/similato87)
- [![@TheoMcCabe](https://avatars.githubusercontent.com/u/9841960?s=64&v=4)](https://github.com/TheoMcCabe)
- [![@captivus](https://avatars.githubusercontent.com/u/366332?s=64&v=4)](https://github.com/captivus)
- [![@kristiankyvik](https://avatars.githubusercontent.com/u/6661158?s=64&v=4)](https://github.com/kristiankyvik)
- [![@pbharrin](https://avatars.githubusercontent.com/u/490809?s=64&v=4)](https://github.com/pbharrin)
- [![@UmerHA](https://avatars.githubusercontent.com/u/40663591?s=64&v=4)](https://github.com/UmerHA)
- [![@viborc](https://avatars.githubusercontent.com/u/48092564?s=64&v=4)](https://github.com/viborc)
- [![@azrv](https://avatars.githubusercontent.com/u/17514539?s=64&v=4)](https://github.com/azrv)
- [![@patillacode](https://avatars.githubusercontent.com/u/10074977?s=64&v=4)](https://github.com/patillacode)
- [![@leomariga](https://avatars.githubusercontent.com/u/11357793?s=64&v=4)](https://github.com/leomariga)
- [![@ErikBjare](https://avatars.githubusercontent.com/u/1405370?s=64&v=4)](https://github.com/ErikBjare)
- [![@lukaspetersson](https://avatars.githubusercontent.com/u/42323981?s=64&v=4)](https://github.com/lukaspetersson)

[+ 91 contributors](https://github.com/gpt-engineer-org/gpt-engineer/graphs/contributors)

## Languages

- [Python98.8%](https://github.com/gpt-engineer-org/gpt-engineer/search?l=python)
- Other1.2%

## Footer

© 2024 GitHub, Inc.

### Footer navigation

- [Terms](https://docs.github.com/site-policy/github-terms/github-terms-of-service)
- [Privacy](https://docs.github.com/site-policy/privacy-policies/github-privacy-statement)
- [Security](https://github.com/security)
- [Status](https://www.githubstatus.com/)
- [Docs](https://docs.github.com/)
- [Contact](https://support.github.com/?tags=dotcom-footer)
- Manage cookies
- Do not share my personal information

## GitHub:

[https://github.com/gpt-engineer-org/gpt-engineer](https://github.com/gpt-engineer-org/gpt-engineer)
