We appreciate your interest in contributing to our project!
You can contribute to Huak by checking for unassigned issues on our issue board or even just documenting features and bugs by creating new issues.
You can reach out to me on discord at cnpryer#6201 if you have any questions. Otherwise, please feel free to start a discussion or open an issue.
During the early stages of Huak's development, we'll use cargo test -- --test-threads=1
to allow manipulation of one .venv
. An issue to improve on this in the future has been opened at #123.
Since we are using a hacky .venv testing strategy, you'll want to run tests using a HUAK_MUTE_COMMAND
environment variable.
We set --test-threads=1
in .cargo/config.toml, so we can just run:
$ HUAK_MUTE_COMMAND=True cargo test
Note that since we are dedicating a .venv
to testing Huak, you should expect to have a .venv
exist in your local project. Huak needs a Python environment (specifically a venv) to run its commands from the context of. #123 will resolve this.
We follow the standard GitHub flow when making contributions to Huak. Digital Ocean published another great resource for getting started with open source.
Please make sure your PR is associated with an issue. Create one here.
- After being assigned to an issue or communicating your interest, fork the repository and get started by creating a new branch for your work.
- When you're ready to create your PR, feel free to use our PULL_REQUEST_TEMPLATE.md to indicate what issue your PR is closing and the changes made to close it.
We also use pre-commit
to ensure changes will pass CI from our local environments. We recommend using it.
To use pre-commit
install it and run pre-commit install
from the project directory's root.
You'll notice the main checks are:
cargo fmt --check
cargo clippy
cargo test
✨ Please practice clean commit hygiene.
TODO: See conventional commits for more.