Coder Social home page Coder Social logo

betty's Introduction

Betty (version 0.1.1)

Betty is a friendly English-like interface for your command line.

She translates English-like phrases into commands.

This means you don't have to leave your command line to look up an obscure but useful command. Just ask Betty!

By Analogy

iPhone users: it's like Siri for the command line.

Android users: it's like Google Now for the command line. (What's Google Now? It's that thing you talk to that does stuff.)

Set Up

First, git clone this repo.

Then add the following alias to your ~/.bashrc

alias betty="~/path/to/betty/main.rb"

Then run commands: "betty how many words are in this directory" or "betty uncompress something.tar.gz"

Examples

Give Betty natural language input, for instance "betty whats my username", and she'll respond in the most appropriate way.

> betty whats my username
Betty: Running whoami
jrp

> betty whats my real name
Betty: Running finger `whoami` | awk -F: '{ print $3 }' | head -n1 | sed 's/^ //'
Jeff Pickhardt

If there's more than one way Betty could respond, she'll ask you to select the one you want.

> betty whats my name
Betty: Okay, I have multiple ways to respond.
Betty: Enter the number of the command you want me to run one, or N (no) if you don't want me to run any.
[1] whoami
    Gets your system username.
[2] finger `whoami` | awk -F: '{ print $3 }' | head -n1 | sed 's/^ //'
    Gets your full name.
> 2
Betty: Running finger `whoami` | awk -F: '{ print $3 }' | head -n1 | sed 's/^ //'
Jeff Pickhardt

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.)

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.)

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!

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

User
betty whats my username
betty whats my real name
betty whats my ip address
betty who else is logged in

Contributing

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

Versioning

Releases will follow a semantic versioning format:

<major>.<minor>.<patch>

For more information on SemVer, visit http://semver.org/.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.