Git Product home page Git Product logo

yocli's Introduction

Yet another Yo command line interface

YoCLI is a command line tool for the Yo pub/sub system. Its goal is to be as simple to use as the Yo app, while providing a clean composable interface. Currently tested only on OSX, but should work on linux as well.

You will need to retrieve your API key in order to use this package.

Everything below is currently in development.

Installation and Setup

Installation is the same as any CLI from npm:

$ npm install -g yocli

There is also a brew recipe

Setup happens automatically the first time you invoke yocli

$ yocli
Hey there, let's setup Yo CLI
Warning: YoCLI stores auth data unencrypted in ~/.yoclirc
What is your API key? (prompt)
Would you like yocli to be symlinked to yo? (conflicts with yeoman)

You can later change your ~/.yoclirc manually, or type yo init to go through setup again.

Aliasing

You may want to manually alias yo to yocli, but we don't because of Yeoman.

$ echo "alias yo='yocli'" >> ~/.bashrc # Or whatever shell you use

Commands

all: Yo all yo subscribers subs: Get subscriber count init: Redo first run configuration prompt

Options and flags

-k (--key): Use a specific API key (instead of the one in `~/.yoclirc`)
-u (--url): Yo an image or link

Pipe interface

You can pipe newline separated usernames into YoCLI. Successes go to stdout, errors to stderr.

$ echo "aulekin" | yocli
$ echo "aulekin\naulekin" | yocli -k <some key> > successes.log

Please note that you can only pipe into basic and URL modes. Piping into --all is potentially useful as a rough eventing system, but it's too easy to accidently spam:

$ cat ~/.bashrc | yocli -a

License

Attribution 4.0 International MIT License

Acknowledgements

The brilliantly named nomnom The easy to use prompt The simple char-spinner

yocli's People

Contributors

mrnice avatar

Watchers

James Cloos avatar

yocli's Issues

--version flag is broken

When installed globally, the package.json cannot be located due to the way npm creates the symlinks. Or something.

I suppose I can hardcode the version and update it along with the package.json. Don't really want to do that.

Low priority.

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.