@leiops/dev-cli
v1.9.0
Published
A bundle of command line tools for Ops developers.
Downloads
10
Readme
dev-cli
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
development
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
wishlist
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
https://github.com/SBoudrias/Inquirer.js
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
scratchwork
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:
ops
|
|_____ ...
| |
g dev
|
|_____
|
component
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
}
}