the-busy-man

travis Status Appveyor Status Go Report Card GoDoc MIT License

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

History

CHANGELOG