Judoka is a command line utility that lets you define project scoped commands and call them through their alias. It lets you just do (= judo) your work.


Install this library using pip:

$ pip install judoka


Create a .judorc file in your project root, like the example below:

greet = "cowsay 'Hi!'"

start = "npm run start"

start = "docker compose up -d"

Then, just run any of the aliases:

$ judo greet
$ judo frontend:start
$ judo backend:start

Or, have a list of all the available commands in your project:

$ judo

You may also choose to include a .judorc file in your $HOME folder (~/.judorc). Commands defined in this file will always be loaded first and will be overwritten if an overlapping command was found.

Shell completions

To install judo shell completions, execute judo-completions [--apply] {bash|fish|zsh} to get instructions on how to install completions for your shell of choice. By including the --apply option, the installation instructions will be applied for you.

Note: Don’t forget to reload your shell session after installation to load the completions.


To contribute to this library, first checkout the code. Then create a new virtual environment:

cd judoka
python -mvenv venv
source venv/bin/activate

Or if you are using pipenv:

pipenv shell

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:



View Github