Skip to content

gongwen/ai-shell

 
 

Repository files navigation

AI Shell logo

A CLI that converts natural language to shell commands.

Current version

Gif Demo

Inspired by the Github Copilot X CLI, but open source for everyone.


AI Shell

Setup

The minimum supported version of Node.js is v14

  1. Install ai shell:

    npm install -g @builder.io/ai-shell
  2. Retrieve your API key from OpenAI

    Note: If you haven't already, you'll have to create an account and set up billing.

  3. Set the key so ai-shell can use it:

    ai-shell config set OPENAI_KEY=<your token>

    This will create a .ai-shell file in your home directory.

Usage

ai <prompt>

For example:

ai list all log files

Then you will get an output like this, where you can choose to run the suggested command, revise the command via a prompt, or cancel:

◇  Your script:
│
│  find . -name "*.log"
│
◇  Explanation:
│
│  1. Searches for all files with the extension ".log" in the current directory and any subdirectories.
│
◆  Run this script?
│  ● ✅ Yes (Lets go!)
│  ○ 📝 Revise
│  ○ ❌ Cancel
└

Special characters

Note that some shells handle certain characters like the ? or * or things that look like file paths specially. If you are getting strange behaviors, you can wrap the prompt in quotes to avoid issues, like below:

ai 'what is my ip address'

Silent mode (skip explanations)

You can disable and skip the explanation section by using the flag -s or --silent

ai -s list all log files

or save the option as a preference using this command:

ai-shell config set SILENT_MODE=true

Upgrading

Check the installed version with:

ai-shell --version

If it's not the latest version, run:

npm update -g @builder.io/ai-shell

Common Issues

429 error

Some users are reporting a 429 from OpenAI. This is due to incorrect billing setup or excessive quota usage. Please follow this guide to fix it.

You can activate billing at this link. Make sure to add a payment method if not under an active grant from OpenAI.

Motivation

I am not a bash wizard, and am dying for access to the copilot CLI, and got impatient.

Contributing

If you want to help fix a bug or implement a feature in Issues (tip: look out for the help wanted label), checkout the Contribution Guide to learn how to setup the project.

Credit

  • Thanks to Github Copilot for their amazing tools and the idea for this
  • Thanks to Hassan and his work on aicommits which inspired the workflow and some parts of the code and flows

Community

Come join the Builder.io discord and chat with us in the #ai-shell-general room



Made with love by Builder.io

About

A CLI that converts natural language to shell commands.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.9%
  • JavaScript 4.1%