{"id":13467726,"url":"https://github.com/pickhardt/betty","last_synced_at":"2025-05-15T07:07:41.188Z","repository":{"id":16681626,"uuid":"19437654","full_name":"pickhardt/betty","owner":"pickhardt","description":"Friendly English-like interface for your command line. Don't remember a command? Ask Betty.","archived":false,"fork":false,"pushed_at":"2021-06-24T08:25:17.000Z","size":634,"stargazers_count":2611,"open_issues_count":49,"forks_count":213,"subscribers_count":109,"default_branch":"master","last_synced_at":"2025-04-14T13:01:37.300Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pickhardt.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-04T22:31:31.000Z","updated_at":"2025-03-23T00:31:53.000Z","dependencies_parsed_at":"2022-08-25T19:02:24.769Z","dependency_job_id":null,"html_url":"https://github.com/pickhardt/betty","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pickhardt%2Fbetty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pickhardt%2Fbetty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pickhardt%2Fbetty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pickhardt%2Fbetty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pickhardt","download_url":"https://codeload.github.com/pickhardt/betty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292043,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T15:00:59.779Z","updated_at":"2025-05-15T07:07:36.179Z","avatar_url":"https://github.com/pickhardt.png","language":"Ruby","readme":"Betty (version 0.1.8)\n=====================\n![circle ci build](https://circleci.com/gh/pickhardt/betty/tree/dev.png)\n\nBetty is a friendly English-like interface for your command line.\n\nShe translates English-like phrases into commands in case you ever run into situations [like this][xkcd].\n\n[xkcd]:http://xkcd.com/1168/\n\nThis means you don't have to leave your command line to look up an obscure but useful command. Just ask Betty!\n\nNOTE: While I do not have the time to actively maintain Betty anymore, it is perfectly functional, and I am open to new maintainers taking the lead. If you would be interested, contact me at pickhardt (at) gmail (dot) com.\n\nBy Analogy\n----------\n\niPhone users: it's like Siri for the command line.\n\nAndroid users: it's like Google Voice Search for the command line. (What's Google Voice Search? It's that thing you talk to that does stuff.)\n\n\nSet Up\n------\n\nManually:\n\n1. First, git clone this repo with `git clone https://github.com/pickhardt/betty`\n2. Add the following alias to your ~/.bashrc\n```alias betty=\"~/path/to/betty/main.rb\"```\n3. Use it! For instance, you can run commands: \"betty how many words are in this directory\" or \"betty uncompress something.tar.gz\"\n\nAutomatically:\n\n1. First, git clone this repo with `git clone https://github.com/pickhardt/betty`\n2. Run `ruby install.rb` in `betty/`.\n3. Use it! For instance, you can run commands: `betty how many words are in this directory` or `betty uncompress something.tar.gz`\n\n\nExamples\n--------\n\nGive Betty natural language input, for instance `betty whats my username`, and she'll respond in the most appropriate way.\n\n    \u003e betty whats my username\n    Betty: Running whoami\n    jrp\n\n    \u003e betty whats my real name\n    Betty: Running finger `whoami` | sed 's/.*: *//;q'\n    Jeff Pickhardt\n\nIf there's more than one way Betty could respond, she'll ask you to select the one you want.\n\n    \u003e betty whats my name\n    Betty: Okay, I have multiple ways to respond.\n    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.\n    [1] whoami\n        Gets your system username.\n    [2] finger `whoami` | sed 's/.*: *//;q'\n        Gets your full name.\n    \u003e 2\n    Betty: Running finger `whoami` | sed 's/.*: *//;q'\n    Jeff Pickhardt\n\n\nMission\n-------\n\nThe mission of Betty is to provide a way to use computers through natural language input.\n\nSpecifically, 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.\n\n\nDocumentation\n-------------\n\nThe following is a non-exhaustive list of things you can do:\n\n    Count\n    betty how many words are in this directory\n    betty how many characters are in myfile.py\n    betty count lines in this folder\n    (Note that there's many ways to say more or less the same thing.)\n\n    Config\n    betty change your name to Joe\n    betty speak to me\n    betty stop speaking to me\n\n    Datetime\n    betty what time is it\n    betty what is todays date\n    betty what month is it\n    betty whats today\n\n    Find\n    betty find me all files that contain california\n\n    Internet\n    betty download http://www.mysite.com/something.tar.gz to something.tar.gz\n    betty uncompress something.tar.gz\n    betty unarchive something.tar.gz to somedir\n    (You can use unzip, unarchive, untar, uncompress, and expand interchangeably.)\n    betty compress /path/to/dir\n\n    iTunes\n    betty mute itunes\n    betty unmute itunes\n    betty pause the music\n    betty resume itunes\n    betty stop my music\n    betty next song\n    betty prev track\n    betty what song is playing\n    (Note that the words song, track, music, etc. are interchangeable)\n\n    Fun\n    betty go crazy\n    betty whats the meaning of life\n    ...and more that are left for you to discover!\n\n    Map\n    betty show me a map of mountain view\n\n    Meta\n    betty what version are you (or just betty version)\n    betty whats your github again\n\n    Permissions\n    betty give me permission to this directory\n    betty give anotheruser ownership of myfile.txt\n\n    Process\n    betty show me all processes by root containing grep\n    betty show me all my processes containing netbio\n\n    Sizes\n    betty show size for myfile.txt\n\n    Spotify\n    betty play spotify\n    betty pause spotify\n    betty next spotify\n    betty previous spotify\n\n    User\n    betty whats my username\n    betty whats my real name\n    betty whats my ip address\n    betty who else is logged in\n    betty whats my version of ruby\n\n\tWeb queries\n\tbetty turn web on\n\tbetty please tell me what is the weather like in London\n\nContributing\n------------\n\nContributions are welcome! If you would like to contribute, please issue a pull request against the **dev branch**, not the master branch.\n\nPlease 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.\n\nPlease 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`\n\n\nMaintainers Wanted\n------------------\n\nWhile I do not have the time to actively maintain Betty anymore, it is a cool concept and I'm open to someone else taking the lead. If you would like to become a maintainer, contact me at pickhardt (at) gmail (dot) com.\n\n\nVersioning\n----------\n\nReleases will follow a semantic versioning format:\n\n`\u003cmajor\u003e.\u003cminor\u003e.\u003cpatch\u003e`\n\nFor more information on SemVer, visit [http://semver.org/](http://semver.org/).\n\nLicense\n-------\n\nReleased under the Apache License 2.0. Related link: www.apache.org/licenses/LICENSE-2.0.html\n","funding_links":[],"categories":["CLI Utilities","Ruby","Misc","Blog Articles, Papers, Case Studies"],"sub_categories":["General \u003ca id=\"general-articles\"\u003e\u003c/a\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpickhardt%2Fbetty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpickhardt%2Fbetty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpickhardt%2Fbetty/lists"}