If you want to help Machinery development we recommend you to start by checking its existing Issues.
You may also want to start with something small like updating docs or the README.
If you have a feature you would like to see implemented, before jumping into the code, it's highly recommended that you open an issue describing your reasons, benefits and drawbacks. That way, we as a community can check your proposal and give you some feedback, that is extremelly helpful to achieve better ideas and also keeps you of doing code that might not be approved because of many reasons.
Bugs should also be reported through issues, that sould contain how to replicate the bug and some trace of the error.