Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://0xmmo.github.io/codemancer/

AI coding assistant in your command line.
https://0xmmo.github.io/codemancer/

Last synced: about 2 months ago
JSON representation

AI coding assistant in your command line.

Lists

README

        

# 🧙‍♂ codemancer

### _Develop 10x faster with GPT-4, write and modify code from the command line._

`codemancer` is a command line tool that uses the OpenAI API to generate code based on a given prompt and input file. It can change code in-place or create brand new files.

You can use it as a versatile and efficient AI-powered programming assistant that simplifies code generation, streamlines development tasks, and boosts productivity.

> 💫 You can now try `codemancer` with our own (free but rate-limited) OpenAI GPT-4 proxy.

https://user-images.githubusercontent.com/1714782/227892213-8cfdcbdb-3dae-4043-b155-9164e1104bc1.mp4


## Installation

```bash
npm install -g codemancer
```

## Usage

To use `codemancer` with [your own OpenAI API key](https://platform.openai.com/account/api-keys), you need to set the `OPENAI_API_KEY` environment variable.

```bash
export OPENAI_API_KEY=your_api_key_here
```

`codemancer` works best using GPT-4, and will use it by default. If you do not have access and receive a 404, you can use the GPT-3.5 model instead via `-m "gpt-3.5-turbo"`, but code generations will be much less reliable.


### Reading and writing to the same file

Modify a file in-place based on a prompt, useful for iterating on functionality, addressing review comments, resolving conflicts, or refactoring.

```bash
codemancer -i input_file_path -p "break the /recipe/ route into /recipe//info and /recipe//image"
```

### Reading and writing to a different file

Useful for generating a new file with similar functionality, readmes, or interface definitions (e.g. rpc).

```bash
codemancer -i input_file_path -o output_file_path -p "extract inlined types into interfaces in a separate file"
```

### Writing from prompt to file

For generating blank slate code for new projects, one-offs, or scripts.

```bash
codemancer -o output_file_path -p "I need an AppleScript to wipe Safari history on restart"
```

### Simple prompting

Ask questions, get answers and suggestions.

```bash
codemancer -p "what's a bulletproof regex for validating emails"
```

### Customizing model and temperature

```bash
codemancer -i input_file_path -m gpt-3.5-turbo -t 0.5 -p "change all variable names to obscure animals"
```

## Limitations

- The file content + prompt are currently limited to 8K tokens for GPT-4. If your file is too large/dense and you exceed this limit you will get a 400 error.
- If there are multiple code blocks returned in the completion, codemancer will present a confirmation message for each and write only the accepted one. If the verbosity argument is set to 0, it will auto-confirm and write the first code block it encounters to the output file.


## License

GPL License - This code was largely written by AI with some human guidance.