GPT-3 powered CLI tool to help you remember bash commands.

Overview

Rusty: GPT-3 Powered CLI Tool

Convert natural language into executable commands directly from the terminal!

Open source CLI tool powered by OpenAI (bring your own key).

Feeling rusty on your bash skills? This might help! Built using Rust πŸ¦€

Rusty.Demo.mov

Installation

  1. Clone this repo.

  2. Build the Rust program.

cargo build --release
  1. Add the binary rusty to your path. It's located in the rusty/target/release directory.

OpenAI API key

Create an environment variable OPENAI_KEY with your API key from OpenAI.

Usage

rusty <argument>

Contributing

If you would like to contribute to Rusty, you can find more information in CONTRIBUTING.md.

πŸ¦€ Rust Docs

  • Learn Rust - learn about the Rust programming language.

🧠 OpenAI Docs

Follow Zahid for updates πŸš€

You might also like...
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.

Workflows The repo for all public Workflows that appear within Warp and within commands.dev. To learn how to create local or repository workflows, see

Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.
Workflows make it easy to browse, search, execute and share commands (or a series of commands)--without needing to leave your terminal.

Workflows The repo for all public Workflows that appear within Warp and within commands.dev. To learn how to create local or repository workflows, see

A CLI tool which can help you automatically kill process of your choice. Useful for freeing up memory and CPU usage!
A CLI tool which can help you automatically kill process of your choice. Useful for freeing up memory and CPU usage!

Quickiller There are always programs such as chrome that keep eating up your resources even when closed! The only way to prevent this is to kill all o

 Bashly - Bash CLI Framework and Generator
Bashly - Bash CLI Framework and Generator

Bashly - Bash CLI Framework and Generator Create feature-rich bash scripts using simple YAML configuration

A handy way to handle sh/bash cli parameters
A handy way to handle sh/bash cli parameters

Argc A handy way to handle sh/bash cli parameters. How Argc works To write a command line program with Argc, we only need to do two things: Describe t

A CLI tool to get help with CLI tools πŸ™
A CLI tool to get help with CLI tools πŸ™

A CLI tool to get help with CLI tools πŸ™ halp aims to help find the correct arguments for command-line tools by checking the predefined list of common

Remember how cool smlinux was? It's now time to bring it back.

smbuilder Remember how cool smlinux was? It's now time to bring it back. What is smbuilder? In short, smbuilder (stylized as all lowercase) is an app

laydown is a simple CLI application to help you prepare for your next Daily Standup

laydown is a simple CLI application to help you prepare for your next Daily Standup. No longer shall your name be called on only for you to stare into the abyss while you struggle to remember what you did yesterday.

This CLI will help you improve your typing accuracy and speed
This CLI will help you improve your typing accuracy and speed

This CLI will help you improve your typing accuracy and speed! Improve your personal bests and look back on your previous records in a graph. All in the convenience of your own terminal!

Comments
  • Graceful failure for invalid api_key

    Graceful failure for invalid api_key

    I don't currently have a valid OpenAI API key. But when attempting to run rusty with an invalid one, I get

    Error: Error("missing field `choices`", line: 8, column: 1)
    

    That error is talking about an error in a file other than main.rs, yet without telling us witch one. So I don't think it's very useful. We should probably display something more understandable.

    The problem seems to be coming from

    let json: OpenAIResponse = serde_json::from_reader(body.reader())?
    
    opened by sloganking 1
  • Add prompt if arguments are empty

    Add prompt if arguments are empty

    Hey,

    I'd like to propose this change to add an user prompt if no arguments were given. This gives a convenient option for requests while also preventing filling the shell history with every request.

    I typically use ctrl-r to retrieve a previous rusty command, but to make a new request, I need to clear the arguments. Executing rusty commands with arguments should not be affected.

    Both cargo fmt and cargo clippy ran successfully from what I can tell. Commit allows fast-forward merging onto main branch.

    Please review and let me know if you have any comments or suggestions.

    Cheers, Felix

    opened by fxrs 1
Releases(v0.1.0)
Owner
Zahid Khawaja
Building AI experiments πŸ§ͺ
Zahid Khawaja
A CLI tool connected to GPT-3 to help find the right terminal command

Command Recall A CLI tool connected to GPT-3 to help find the right terminal command Install to install the cli: cargo install --git https://github.co

Camille Moatti 102 Feb 18, 2023
Using ChatGPT/GPT-3.5/GPT-4 in the terminal.

AIChat Using ChatGPT/GPT-3.5/GPT-4 in the terminal. AIChat in chat mode: AIChat in command mode: Install With cargo cargo install --force aichat Bina

null 1.1k Apr 17, 2023
Introducing Inlyne, a GPU powered yet browsless tool to help you quickly view markdown files in the blink of an eye.

Inlyne - a GPU powered, browserless, markdown + html viewer inlyne README.md --theme dark/light About Markdown files are a wonderful tool to get forma

null 308 Jan 1, 2023
Rust-powered CLI tool designed to simplify and streamline the release process with help of ChatGPT

$ releasecraftsman ????‍♂️?? Automate Your Release Process with Precision and Ease. ?? Features Generate well-crafted release notes using GPT-3.5 and

Tornike Gomareli 7 Sep 21, 2023
Store your transfer.sh links, so you can remember them later and know when they will expire, but now written in Rust.

Transfer.sh helper Rusted The idea of the script is to store your transfer.sh links and simplify its usage, so you can remember them later and know wh

Reinaldo Rozato Junior 10 Nov 30, 2022
Simple joke randomizer from bash.org.pl made as CLI Tool in Rust.

RBashOrg Simple joke randomizer from bash.org.pl made as CLI Tool in Rust. Description Main motivation of this project was to learn basic concepts abo

Krzysztof Szostak 3 Feb 20, 2024
lemmy-help is a emmylua parser as well as a CLI which takes that parsed tree and converts it into vim help docs.

lemmy-help is a emmylua parser as well as a CLI which takes that parsed tree and converts it into vim help docs.

Vikas Raj 117 Jan 3, 2023
koyo is a cli tool that lets you run commands as another user. It is similar to doas or sudo.

koyo is a cli tool that lets you run commands as another user. It is similar to doas or sudo.

null 3 Nov 27, 2021
A cli tool that let's you map commands to a shorter alias

Runner ?? What is this? A cli tool that let's you map commands to a shorter alias. Run the mapped command using the <ALIAS_NAME>. runner <ALIAS_NAME>

Pratush Rai 3 Nov 30, 2022
A GPT-3 access point through Nostr, powered by lightning

Geppeto A Nostr based API for GPT-3, powered on Lightning. The bot listens for event kind 29000 (inspired by NIP-9000) and will query the prompt to th

null 5 May 24, 2023