Mission

The mission of Betty is to provide a way to use computers through natural language input.

Specifically, the benefit is being able to do things on your computer without leaving the command line or screwing around on the internet trying to find the right command. Betty just works.

Documentation

The following is a non-exhaustive list of things you can do:

Count
betty how many words are in this directory
betty how many characters are in myfile.py
betty count lines in this folder
(Note that there's many ways to say more or less the same thing.)
Config
betty change your name to Joe
betty speak to me
betty stop speaking to me
Datetime
betty what time is it
betty what is todays date
betty what month is it
betty whats today
Find
betty find me all files that contain california
Internet
betty download http://www.mysite.com/something.tar.gz to something.tar.gz
betty uncompress something.tar.gz
betty unarchive something.tar.gz to somedir
(You can use unzip, unarchive, untar, uncompress, and expand interchangeably.)
betty compress /path/to/dir
iTunes
betty mute itunes
betty unmute itunes
betty pause the music
betty resume itunes
betty stop my music
betty next song
betty prev track
betty what song is playing
(Note that the words song, track, music, etc. are interchangeable)
Fun
betty go crazy
betty whats the meaning of life
...and more that are left for you to discover!
Map
betty show me a map of mountain view
Meta
betty what version are you (or just betty version)
betty whats your github again
Permissions
betty give me permission to this directory
betty give anotheruser ownership of myfile.txt
Process
betty show me all processes by root containing grep
betty show me all my processes containing netbio
Sizes
betty show size for myfile.txt
Spotify
betty play spotify
betty pause spotify
betty next spotify
betty previous spotify
User
betty whats my username
betty whats my real name
betty whats my ip address
betty who else is logged in
betty whats my version of ruby
Web queries
betty turn web on
betty please tell me what is the weather like in London

Contributing

Contributions are welcome! If you would like to contribute, please issue a pull request against the dev branch, not the master branch.

Please ensure that you use soft tabs, converting tabs to spaces. Do not use actual tab characters because it will make the spacing look weird in others' text editors.

Please make sure that the tests pass and try to write tests for your contributions. To check the tests, first run bundle install followed by bundle exec rspec spec