Mob session management tool
Project description
Mob-Tool: mobt
Mob-Tool is a command-line tool designed to facilitate mob programming sessions for remote teams. The tool provides several features to help teams manage their sessions, including controlling the timer, switching the driver role among team members, and simplifying the necessary Git commands to hand over the work to the next team member.
Mob programming is a software development approach where a team of developers works together on the same task at the same time.
What changes does the tool make to the repository?
- No changes are made in the
mainbranch: All changes are made in a new feature branch, and you can choose the name of the branch when you start the mob session. - All Git commands executed by the tool are logged in the output: This way, the team can easily see what changes are being made to their repository.
- All commands are rolled back if any error occurs: The commands to rollback are also logged in the output.
Installation
pip install mob-tool
Important!
Please note that some operating systems might be equipped with the
python3andpip3commands instead ofpythonandpip(but they should be equivalent). If you don’t havepiporpip3available in your system, please check out pip installation docs.
Usage
Starting a new session
To start a new session, use the following command:
mobt start <branch-name>
Here's an example of the output of the start command:
Handing over to the next driver
When your time is up, pass the driver role to the next team member with the following command:
mobt next
Here's an example of the output of the next command:
Note that you must call mob next even if you didn't make any changes in the code, so the Mob-Tool can manage whose
turn is next.
The next driver (in this example, Erik) can start working by running the same mobt start <branch-name> command.
Finishing the session when the feature is done
When your feature is ready, you can end the session with the following command:
mobt done
This will squash all the commits and push all the changes to the remote. All Git hooks will be executed for this final
commit. The hooks are always ignored during the start and next commands.
Here's an example of the output of the done command:
Development Setup
To set up the development environment, follow these steps:
- Clone the repository
- Create a virtual environment with
python -m venv venv. - Install the app from the local repository with
pip install -e .
e.g.:
rm -rfv venv
python -m venv venv
source ./venv/bin/activate
pip install -e .
FAQ
What happens if one of the Git commands fails?
If one of the Git commands fails, all changes made to the repository are rolled back. Here's an example of the output with a rollback in action:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mob_tool-2.0.1.tar.gz.
File metadata
- Download URL: mob_tool-2.0.1.tar.gz
- Upload date:
- Size: 192.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e7f8209827e1c7cf141080cde8fc15377d87a602928bcf2a172a61ccd2715e3
|
|
| MD5 |
ae758a95ea157dfe675579d93c0d25d6
|
|
| BLAKE2b-256 |
a41a14428bb7de5abf08646b1fa83ab3e7b8ef35d7fe3d8466f9b3858eec772b
|
File details
Details for the file mob_tool-2.0.1-py3-none-any.whl.
File metadata
- Download URL: mob_tool-2.0.1-py3-none-any.whl
- Upload date:
- Size: 63.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bb52c8e197aa5b5c19f9705eea83c47a49ee0f63070be9a9440097803bbff5d
|
|
| MD5 |
d5f6ba9f097d2f6458eee33ccb6e1043
|
|
| BLAKE2b-256 |
af4502f928aa71a14eb91fa10d16c7ef47da018db857f4ef7e74e5eda743d598
|