betty
Natural language interface for the command line
TLDR
Ask Betty a question
$ betty [whats my username]
Count words in directory$ betty [how many words are in this directory]
Find files containing text$ betty [find me all files that contain california]
Check current time$ betty [what time is it]
Count lines in file$ betty [count lines in myfile.txt]
Compress files$ betty [compress this directory]
Download file$ betty [download https://example.com/file.zip]
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 filesSystem queries
Username, real name, IP address, date/time, disk usageProcess management
List, find, kill processesText processing
Count words, lines, charactersNetworking
Download files, web queries, weatherPermissions
Change file ownership and permissionsMedia 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
ruby betty/install.rb
# or, manually:
echo 'alias betty="~/betty/main.rb"' >> ~/.bashrc
source ~/.bashrc
INSTALL
brew install betty
CAVEATS
Requires Ruby runtime. Limited to predefined command patterns. Not suitable for complex or unusual commands.