Development Workflow

1. Pull Down Code

git clone the repository of whatever code you're wanting to work on. Make a new branch for the feature you want to do.

Maybe it's a new feature, or fixing a bug (please file it in the issue tracker!).

2. Do Coding

Work on your code however you do it, make sure to cargo fmt before each commit, sign your commits, and commit fairly often.

3. Test

Clippy

Run this clippy command, and try and ensure there are no warnings:

cargo clippy -- -W clippy::pedantic -W clippy::suspicious -W clippy::complexity -W clippy::perf -W clippy::cargo -W clippy::nursery -W clippy::unwrap_used -D warnings

Automated Tests

Run cargo test to ensure all of the tests still pass. If needed, add your own tests for your new code.

Run

Of course, manually run the code in a VM and see if everything works how it should.

3. Document

Use inline rustdoc to document your code.

4. Push

Push the code to a new branch in the repository. If it's ready and fully working, make a pull request to merge it into main.

5. CI

Eventually, I want to have some sort of CI system, to allow automated tests, checking, and releases.