Contributing#

Any form of contribution is welcome!

Workflow#

First, get the source code:

git clone https://git.sysrq.in/find-work

Make some changes and run the tests and the linters:

tox run

Commit the changes. Your commit message should conform to the following standard:

file/changed: concice and complete statement of the purpose

This is the body of the commit message.  The line above is the
summary.  The summary should be no more than 72 chars long.  The
body can be more freely formatted, but make it look nice.  Make
sure to reference any bug reports and other contributors.  Make
sure the correct authorship appears.

Use git rebase if needed to make commit history look good.

Finally, send a patch to the developer using git send-email:

git send-email --to=cyber@sysrq.in origin/master

Note

If you prefer GitHub-style workflow, use the mirror repo to send pull requests.

Adding a new module#

  1. Create a new Python file in the find_work/cli directory.

  2. Implement all logic here.

  3. Register commands in the find_work/__main__.py file.

  4. Update the manpage and release notes.

Feel free to copy/paste from existing sources, I do the same.

Naming conventions#

click.Group name must be the same as the Python module that implements its commands.

click.Command wrapped function’s name should be the same as its primary name. If that’s not possible, use one of aliases instead.

Code style#

Whatever the almighty linters say, should be at least PEP 8.