Make employee onboarding easier providing a tool with a single command to install all required applications and plugins. The tool is Make so you just need to write a single file (the Makefile).
Depending the case, this can be implemented for the entire tech area, the development division, multiple teams, or even big projects.
Plus you can add ASCII art
What you can automate
- Create default folders (notes, projects, documentation, temp).
- Install an IDE or text editor and add plugins.
- Download git repositories.
Repositories
- onboarding-tech (for all technology employees)
- onboarding-dev (for development)
- onboarding-ops (for operations)
- onboarding-team-cheems (for a single team)
- onboarding-service-billing (for a single service)
Example
With the command make mac
it must setup a MacOS machine with applications like Firefox, Discord, etc using Homebrew.
.PHONY: help
info: header
define HEADER
____________________
< Available Commands >
--------------------
\
\
.--.
|o_o |
|:_/ |
// \ \
(| | )
/'\_ _/`\
\___)=(___/
endef
export HEADER
help: ## Display this help
@echo "$$HEADER"
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage: make <command> [ARGUMENT1=value1] [ARGUMENT2=value2]\n\nCommands: \033[36m\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
mac: ## Onboarding for MacOS
@curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash
@brew install --cask visual-studio-code
@brew install --cask visual-studio
@brew install --cask google-chrome
@brew install --cask firefox
@brew install --cask alt-tab
@brew install --cask docker
@brew install --cask slack
@brew install --cask discord
@brew install git
@echo "Finished Setup!"
What to do next?
Customize!
- Add another operating systems
- Add more applications
- Add more commands (example to upgrade all applications)
- Add a next steps section (you can define a footer block)
- You can even install VS Code plugins via CLI using
code --install-extension id.here
How to make large letters on CLI
To “convert” your logo to text (well really just the name to large cool letters) you can use figlet, a CLI tool or use this online tool from askapache.com which probably uses figlet behind for a quick demo.
Adding a new ASCII art doesnt work correctly
This occurs if one line has the character \
at the end, then you must add an space, it should look like this \
, this can be done easily using a Search & Replace in your text editor, check the option to allow regular expressions (regex) and search \\\n
and replace it with \ \n
ASCII Art Examples
define HEADER
____________________
< Available Commands >
--------------------
\ . .
\ / `. .' "
\ .---. < > < > .---.
\ | \ \ - ~ ~ - / / |
_____ ..-~ ~-..-~
| | \~~~\.' `./~~~/
--------- \__/ \__/
.' O \ / / \ "
(_____, `._.' | } \/~~~/
`----. / } | / \__/
`-. | / | / `. ,~~|
~-.__| /_ - ~ ^| /- _ `..-'
| / | / ~-. `-. _ _ _
|_____| |_____| ~ - . _ _ _ _ _>
endef
export HEADER
define HEADER
____________________
< Available Commands >
--------------------
\ / \ //\
\ |\___/| / \// \\
/0 0 \__ / // | \ \
/ / \/_/ // | \ \
@_^_@'/ \/_ // | \ \
//_^_/ \/_ // | \ \
( //) | \/// | \ \
( / /) _|_ / ) // | \ _\
( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-.
(( / / )) ,-{ _ `-.|.-~-. .~ `.
(( // / )) '/\ / ~-. _ .-~ .-~^-. \
(( /// )) `. { } / \ \
(( / )) .----~-.\ \-' .~ \ `. \^-.
///.----..> \ _ -~ `. ^-` ^-_
///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~
/.-~
endef
export HEADER
define HEADER
____________________
< Available Commands >
--------------------
\ ___-------___
\ _-~~ ~~-_
\ _-~ /~-_
/^\__/^\ /~ \ / \
/| O|| O| / \_______________/ \
| |___||__| / / \ \
| \ / / \ \
| (_______) /______/ \_________ \
| / / \ / \
\ \^\\ \ / \ /
\ || \______________/ _-_ //\__//
\ ||------_-~~-_ ------------- \ --/~ ~\ || __/
~-----||====/~ |==================| |/~~~~~
(_(__/ ./ / \_\ \.
(_(___/ \_____)_)
endef
export HEADER
define HEADER
____________________
< Available Commands >
--------------------
\ /\ ___ /\
\ // \/ \/ \\
(( O O ))
\\ / \ //
\/ | | \/
| | | |
| | | |
| o |
| | | |
|m| |m|
endef
export HEADER