Contributing
Thank you for your interest in contributing to hk! This guide will help you get started.
Contribution Expectations
Before opening a PR, unless it is something obvious, consider creating a discussion or mentioning what you plan to do in Discord. The important part is to settle the direction before much review happens. hk has a specific scope and design taste. I am comfortable saying no to changes that do not clearly fit.
Before I review a PR, CI must be passing and all automated AI review comments must be addressed. If those are still open, assume I will wait to look at the PR.
If I am on the fence about a contribution, I will probably reject it for that reason alone. If I did not do this, hk would suffer from feature bloat. I may also reject a PR if the quality is poor enough that I do not have confidence the contributor can get it across the finish line. I do not have time to coach contributors.
I get hundreds of PRs per week across my projects, so I do not have time to respond to every PR with detailed context. A rejection may be brief.
Prerequisites
Setup
- Clone the repository:
git clone https://github.com/jdx/hk.git
cd hk- Install required tools and dependencies:
mise installRunning Tests
To run the test suite, use the following command:
mise run testThis will run all tests, including Bats shell tests and any other checks defined in the project.
To run a specific test, use the following command:
mise run test:bats -- test/workspace_indicator.batsCode Style
Check/format code with hk:
hk fix --allOr with the mise task:
mise run lint-fixCommit and PR Titles
Use Conventional Commits for commit messages and PR titles. Examples:
fix: handle missing config filedocs: clarify installation stepsfeat: add quiet output mode
