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

https://github.com/context-labs/uwu


https://github.com/context-labs/uwu

Last synced: 5 months ago
JSON representation

Awesome Lists containing this project

README

          




uwu


uwu


✨ Natural language to shell commands using AI ✨



X (formerly Twitter)


License


GitHub



What is this?
Installation
Usage
Contributing

## What is this?

`uwu` is a lightweight, focused CLI tool that converts natural language into shell commands using Large Language Models (LLMs) like GPT-5. Unlike comprehensive agentic development tools like [Claude Code](https://www.anthropic.com/claude-code) or [Cursor](https://cursor.com), `uwu` has a simple, singular purpose: **helping you write shell commands faster, without switching context**.

`uwu` is not a replacement for comprehensive agentic development tools -- it is simple tool that excels at one thing. Consider it the terminal equivalent of quickly searching "how do I..." and getting an immediately runnable answer.

![uwu demo](https://raw.githubusercontent.com/context-labs/uwu/main/assets/uwu.gif)

After a response is generated, you can edit it before pressing enter to execute the command. This is useful if you want to add flags, or other modifications to the command.

## Installation

### 1. Clone the repo
```bash
git clone https://github.com/context-labs/uwu.git
cd uwu
```

### 2. Install dependencies and build
Make sure you have [Bun](https://bun.sh) installed.

```bash
bun install
bun run build
```

This will produce the `uwu-cli` binary in the `dist/` build output directory.

### 3. Make the binary executable and move it into your PATH
```bash
chmod +x dist/uwu-cli
mv dist/uwu-cli /usr/local/bin/uwu-cli
```

### 4. Set your OpenAI API key
`uwu` requires `OPENAI_API_KEY` to be set in your shell environment.

```bash
export OPENAI_API_KEY="your_api_key_here"
```
`uwu` uses GPT-5 by default. There is not currently a way to change the model, please consider submitting a PR to add this feature.

### 5. Add the `uwu` helper function to your `~/.zshrc`
This function lets you type `uwu ` and get an editable command preloaded in your shell.

```zsh
# ~/.zshrc

uwu() {
local cmd
cmd="$(uwu-cli "$@")" || return
vared -p "" -c cmd
print -s -- "$cmd" # add to history
eval "$cmd"
}
```

After editing `~/.zshrc`, reload it:
```bash
source ~/.zshrc
```

## Usage

Once installed and configured:

```bash
uwu generate a new ssh key called uwu-keyand add it to the ssh agent
```

You'll see the generated command in your shell's input line. Press **Enter** to run it, or edit it first. Executed commands will show up in your shell's history just like any other command.

## License

[MIT](LICENSE)

## Contributing

Contributions are welcome! Please feel free to submit a pull request.