the-busy-man
Package The busy man is a cli tool to initialize a project.
s/The busy man/l’homme pressé/
TOC
Install
go
go get github.com/mh-cbon/the-busy-man
Usage
$ the-busy-man -help
the-busy-man 0.0.0
Usage
the-busy-man [-w directory] [plugins intents]
-w: The directory to initialize.
plugins intents: A list of plugin wiht their intents
such as plugin:intent1+intent2+'intent 3'.
Options
-w: The directory to initialize.
-l: List all plugins.
-h|help [plugin]: Show help [of a plugin].
-v|-version: The directory to initialize.
$ the-busy-man -l
- changelog: Initialize a changelog file
- emd: Initialize a README emd file
- git: Initialize a git repository
- glide: Initialize a glide package
- go: Initialize a golang project
- golang: Initialize a golang project
- gump: Initialize a release script
- license: Initialize a license file
$ the-busy-man -h changelog
the-busy-man 0.0.0
changelog: Initialize an changes.log file.
$ the-busy-man -h emd
the-busy-man 0.0.0
emd:init: Intialize the README with the default template.
emd:user/repo: Download a README.e.md file from the repo github.com/user/repo/README.e.md.
$ the-busy-man -h git
the-busy-man 0.0.0
git: Run git init.
git:commit: Run git add -A && git commit -am with a default message.
git:amend: Add --amend to the commit.
$ the-busy-man -h glide
the-busy-man 0.0.0
glide: Run glide init.
$ the-busy-man -h go
the-busy-man 0.0.0
golang: Initialize a default main.go.
$ the-busy-man -h gump
the-busy-man 0.0.0
gump: Initialize an empty .version.sh file.
gump:user/repo: Initialize a .version.sh file downloaded from github.com/user/repo/.version.sh.
$ the-busy-man -h license
the-busy-man 0.0.0
license:name: Initialize a LICENSE file matching name.
Cli examples
the-busy-man git:init license:mit emd:mh-cbon/emd golang gump:mh-cbon/gump \
git:commit changelog git:commit+amend
I recommend you create an alias:
$ cat <<EOT >> ~/.bashrc
alias tbm="the-busy-man git:init license:mit emd:mh-cbon/emd golang gump:mh-cbon/gump git:commit changelog git:commit+amend"
EOT
source ~/.bashrc
Your own plugin
For simplicity, and given current status of go plugin
,
i propose you PR that repo with the plugin you d like to add.
A plugin is a struct that implements plugin
interface:
type plugin interface {
Name() string
Help()
Description() string
Handle(w wish.Wishes) error
}
Recipes
Release the project
gump patch -d # check
gump patch # bump