A bundle of command line tools for Ops developers.


1.9.03 years ago4 years agoMinified + gzip package size for @leiops/dev-cli in KB




style guide

everything the user sees in the ops cli (including the docs!) is written in lower case

exceptions are made for proper nouns

removing casing as a concern makes the cli easier to interact with


run npm link to see your changes reflected immediately

in some cases, you may get this error -bash: ops: command not found this is fixed by running npm i -g

all code connected to the index folder will be transpiled by Babel

the only features that won't work are import/export - for those you have to stick with commonjs require and module.exports

the ops cli is only meant to work on unix systems running node


there is a noticeable lag whenever i run ops anything. clearly some overhead config is being repeated, how can we get rid of that?

tab completion? https://www.npmjs.com/package/omelette


ops stack - get the current stack (will require some kind of cli authentication) https://stackoverflow.com/questions/20430973/saving-cookie-with-curl-on-linux

ops morning - log the user in, pull from remote, start dev processes, on friday remind about timecard ops evening - sync code

ops sync - sync up with the current branch, git fetch new branches, prompt for a commit message with the results of git status

ops deploy (major|minor|patch) - update the version number, make sure jenkins is set to gzn, build, make updates ops build - like the above, except make sure jenkins is set to sbx - I'm sure there's a jenkins api

ops version - related to ops deploy, step the version forward, contribute to docs for that new version

ops clean - delete components that aren't being used anywhere unless they are more than just boilerplate

ops new (component|service|model...) - wire up a new whatever ops remove (component-name) - count all the uses of the component, prompt the user to confirm, and then remove it ops move (component-name) - prompt the user for a destination, then move the component

ops git shortcuts: checkout the current deploy branch commit feature/fix/chore/refactor syncw

ops config, automatically find the js repo


to do

  • Figure out how to do basic authentication/ssh stuff
  • Get bounce command working
  • Get timecard command working
  • Get root commands to display lists of sub-commands when none are provided
  • Write rename script

I wonder if there's a way to make a more explicit router:

|_____  ...
|     |
g    dev

ops {

    _ {
        dev, dist, greet, version, stack...

    generate {
        component {
            root, common...

    dev {


config schema

    // path to the ops client folder where
    // the package json config lives
    ops_client_path: String, // no default

    // timecard information
    timecard: {
        constants: {
            // ...
        } // {}
        data: {
        } // {}

    // the user's full name
    name: {
        full: String,
        first: String,
        last: String
    }, // {}

    // text editor to open new files in, one of "Sublime Text", "Atom"
    preferred_editor: String, // "Atom"
    // slack webhooks urls
    slack_webhook_url: {
        qa: String // no default

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.