Giter Site home page Giter Site logo

froth / mob Goto Github PK

View Code? Open in Web Editor NEW

This project forked from remotemobprogramming/mob

0.0 1.0 0.0 41 KB

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

Go 91.45% Batchfile 3.50% Swift 4.08% Shell 0.97%

mob's Introduction

Tool for Remote Mob Programming

mob Logo

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.

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 mob next [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 to install

$ 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 terminal

On 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

Windows

  • 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 terminal

How can one customize it?

You 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_DEBUG=false

The easiest way to enable them for a single call is as follows:

$ MOB_NEXT_STAY=true mob next

How to contribute

Create a pull request.

Credits

  • 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.

mob's People

Contributors

fatso83 avatar jerger avatar l7r7 avatar martinotten avatar mikaello avatar nikolashermann avatar simonharrer avatar stritti avatar tnorthcutt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.