Skip to content

CLI tool written in .net core that allows to switch the typist in a remote mob programming session quickly with git and a remote branch.

Notifications You must be signed in to change notification settings

enorfelt/MobSwitcher

 
 

Repository files navigation

Master

Tool for Remote Mob Programming

mob Logo

Swift handover for remote mobs using git. mob is a CLI tool written in .net core. It keeps your master branch clean and creates WIP commits on mob-session branch.

How to use it?

# simon begins the mob session as typist
simon> mob start 10
# WORK
# after 10 minutes...
simon> mob next
# carola takes over as the second typist
carola> mob start 10
# WORK
# after 10 minutes...
carola> mob next
simon> mob start 10
# WORK
# After 6 minutes the work is done.
simon> mob done
simon> git commit --message "describe what the mob session was all about"

How does it work?

  • mob start 10 creates branch mob-session and pulls from origin/mob-session, and creates a ten minute timer

  • mob next pushes all changes to origin/mob-sessionin a WIP [ci-skip] commit

  • mob done squashes all changes in mob-session into staging of master and removes mob-session and origin/mob-session

  • mob status display the mob session status and all the created WIP commits

  • mob reset deletes mob-session and origin/mob-session

How can one customize it?

You can set several environment variables, such as MOBSWITCHER_WipBranch and MOBSWITCHER_RemoteName, that will be picked up by mob. See the appsettings.json for an extensive list. Use MOBSWITCHER_as prefix. You can also set config per repository by mob config set UsePrettyPrint true. That will create a .mob folder at the root of your repository. The folder will contain the settings file.

Pretty print is enabled by default. It uses the Nerd Fonts Hack font face. You need to install it and enable it in your terminal. If you want to disable pretty print, you need to set MOBSWITCHER_UsePrettyPrint to false.

How to install on Windows vi Chocolatey

Install Chocolatey if you don't have so.

> choco install mobswitcher
# Now, you can use the mob tool from any directory in the terminal

To upgrade using Chocolatey, run the following:

> choco upgrade mobswitcher
# Now, you can use the mob tool from any directory in the terminal

How to contribute

Create a pull request.

Credits

About

CLI tool written in .net core that allows to switch the typist in a remote mob programming session quickly with git and a remote branch.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 91.4%
  • PowerShell 8.4%
  • Dockerfile 0.2%