-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename commands #13
Rename commands #13
Conversation
I like having the Is it possible to dump out a tree-view in ASCII of the current command structure? We've got our own workflow tool, and we found that was helpful when figuring out which commands to put where. It's also helpful for spotting commonalities and inconsistencies with language - having the same verbs for things is useful for UX. PowerShell does this quite well, with a mandated verb-noun command naming pattern. Making the sketch, finally, allows more people to come along, fill in the blanks, and have that done in a way that maintains a somewhat cohesive UX. Here's our sketch (as in, this is a dump of what we want to put into it, not programmatically produced) in a markdown: circle
check (intend to fold this into `merge --dry-run`)
(intend this to become presubmit)
merge (keep this)
push (idea: wrap git push and make sure pre-push hook is installed and runs)
ci (idea: deal with CI)
pipeline
new (idea: create new safe-defaults pipeline configuration files)
--name <name> // pipeline name
--generate [steps,definition] // to generate just steps or just definition files
--directory <dir> // into here; otherwise, current repository's .buildkite folder
push (idea: push a pipeline to BuildKite based on the specified config file)
--name <name> // pipeline name
--directory <dir> // from here; otherwise, current repository's .buildkite folder
pull (idea: take a remote pipeline from BuildKite and create a local representation)
--name <name> // pipeline name
--directory <dir> //to here; otherwise, current repository's .buildkite folder
check (idea: verify deployed pipelines correspond to source controlled configurations. Default behaviour: check all corresponding to working dir repo)
--all // verify all
--name <name> // pipeline name
--directory <dir> // to compare pipeline against specific configuration instead of the one in .buildkite
delete (idea: delete a deployed pipeline)
--name <name> // pipeline name
trigger (idea: trigger actual CI)
check (idea: run what CI would, locally)
status (idea: has CI run and passed against HEAD?)
local (idea: commands delegate into by-convention bash scripts within current repo)
prebuild (idea: lint, fast tests pre-compilation step)
check (idea: alias for prebuild)
build
test
publish
review (idea: deal with reviews)
--id <id> (infer from branch if possible, but allow to specify)
ask (idea: ask for review of branch. Specify reviewers; that might be automated before this via prow.)
chase (idea: ping people that are stale on given review, or ask for next round after comments processed.)
init (idea: clone a repo, and set up configured hooks once it arrives)
--git <git url to clone from>
pr
new (idea: alias for review-ask)
branch
new (idea: way to create a branch with a semantic prefix that we can then use within release note generation, semver, etc)
feature
fix
version |
I agree @petemounce! Changed to |
I tried a slightly unusual command / sub-command ordering initially, with
<action> <subject>
, but I don't think it works well. Before we hit 1.0 I'm going to revert this to be inline with our other tools:bk create build
tobk build create
bk list pipelines
tobk pipeline list
bk local run
tobk run