LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

betty

Natural language interface for the command line

TLDR

Ask Betty a question
$ betty [whats my username]
copy
Count words in directory
$ betty [how many words are in this directory]
copy
Find files containing text
$ betty [find me all files that contain california]
copy
Check current time
$ betty [what time is it]
copy
Count lines in file
$ betty [count lines in myfile.txt]
copy
Compress files
$ betty [compress this directory]
copy
Download file
$ betty [download https://example.com/file.zip]
copy

SYNOPSIS

betty natural language query

DESCRIPTION

betty is a friendly English-like interface for the command line, written in Ruby. It translates natural language phrases into executable commands so you do not have to leave the terminal to look up obscure syntax. When you forget a command, ask Betty in plain English.Betty displays the command it inferred before running it. If multiple interpretations exist, it presents numbered options and asks you to select the appropriate one, providing learning opportunities along the way.

CAPABILITIES

File operations

Find, count, compress, decompress files
System queries
Username, real name, IP address, date/time, disk usage
Process management
List, find, kill processes
Text processing
Count words, lines, characters
Networking
Download files, web queries, weather
Permissions
Change file ownership and permissions
Media control
Control iTunes and Spotify (play, pause, next track)

INSTALLATION

Requires Ruby. Clone the repository and run the installer (or add the alias manually).

$ git clone https://github.com/pickhardt/betty
ruby betty/install.rb
# or, manually:
echo 'alias betty="~/betty/main.rb"' >> ~/.bashrc
source ~/.bashrc
copy

INSTALL

brew install betty
copy

CAVEATS

Requires Ruby runtime. Limited to predefined command patterns. Not suitable for complex or unusual commands.

SEE ALSO

man(1), tldr(1), cheat(1)

RESOURCES

Copied to clipboard
Kai