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!'"
[frontend]
start = "npm run start"
[backend]
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.
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:
pytest