Swift handover for remote mobs using git.
mob is a CLI tool written in GO.
It keeps your master branch clean and creates WIP commits on mob-session branch.
# Simon begins the mob session as typist
Simon $ cd secret-git-project
Simon $ mob start 10
# WORK with Simon as typist
# after 10 minutes, the timer triggers (you'll hear a 'mob next' from your speakers)
Simon $ mob next
# Carola takes over as the second typist
Carola $ mob start 10
# WORK with Carola as typist
# after 10 minutes, timer triggers...
Carola $ mob next
Maria $ mob start 10 share # share immediately activates zoom screenshare
# WORK
# After 6 minutes the work is done.
Maria $ mob done
Maria $ git commit --message "describe what the mob session was all about"-
mob start 10creates branchmob-sessionand pulls fromorigin/mob-session, and creates a ten minute timer -
mob start 10 sharealso activates screenshare in zoom (macOS or Linux with xdotool, requires zoom configuration) -
mob nextpushes all changes toorigin/mob-sessionin amob next [ci-skip]commit -
mob donesquashes all changes inmob-sessioninto staging ofmasterand removesmob-sessionandorigin/mob-session -
mob statusdisplay the mob session status and all the created WIP commits -
mob resetdeletesmob-sessionandorigin/mob-session -
mob sharestart screenshare with zoom (macOS or Linux with xdotool, requires configuration in zoom to work)
The mob share feature only works if you activate make the screenshare hotkey in zoom globally available, and keep the default shortcut at CMD+SHIFT+S (macOS)/ ALT+S (Linux).
$ brew install golang
$ git clone https://github.com/remotemobprogramming/mob
$ cd mob
$ ./install
# Now, you can use the mob tool from any directory in the terminalOn linux systems you need the GNUstep speech engine to get the timer running.
On Ubuntu:
sudo apt-get install gnustep-gui-runtime golang
git clone https://github.com/remotemobprogramming/mob
cd mob
sudo ./install- Install Golang: Download and execute MSI from Download page
- Open console and execute following commands
> git clone https://github.com/remotemobprogramming/mob
> cd mob
> .\install.cmd
# Now, you can use the mob tool from anywhere directory in the terminalYou can set several environment variables that will be picked up by mob:
# override default values if necessary
export MOB_WIP_BRANCH=mob-session
export MOB_BASE_BRANCH=master
export MOB_REMOTE_NAME=origin
export MOB_WIP_COMMIT_MESSAGE="mob next [ci-skip]"
export MOB_NEXT_STAY=false # set to true to stay in the MOB_WIP_BRANCH after 'mob next' instead of checking out MOB_BASE_BRANCH
export MOB_VOICE_COMMAND=espeak # for using alternatives to 'say'
export MOB_DEBUG=falseThe easiest way to enable them for a single call is as follows:
$ MOB_NEXT_STAY=true mob nextCreate a pull request.
- Developed and maintained by Simon Harrer.
- Contributions and testing by Jochen Christ, Martin Huber, Franziska Dessart, and Nikolas Hermann. Thank you!
- Logo designed by Sonja Scheungrab.