Contribution guidelines
First off, thank you for considering contributing to taskline.
If your contribution is not straightforward, please first discuss the change you wish to make by creating a new issue before making the change.
Reporting issues
Before reporting an issue on the issue tracker, please check that it has not already been reported by searching for some related keywords.
Pull requests
Try to do one pull request per change.
Commit Message Format
This project adheres to Conventional Commits. A specification for adding human and machine readable meaning to commit messages.
Commit Message Header
<type>(<scope>): <short summary>
│ │ │
│ │ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│ │
│ └─⫸ Commit Scope
│
└─⫸ Commit Type: feat|fix|build|ci|docs|perf|refactor|test|chore
Type
feat | Features | A new feature |
---|---|---|
fix | Bug Fixes | A bug fix |
docs | Documentation | Documentation only changes |
style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
refactor | Code Refactoring | A code change that neither fixes a bug nor adds a feature |
perf | Performance Improvements | A code change that improves performance |
test | Tests | Adding missing tests or correcting existing tests |
build | Builds | Changes that affect the build system or external dependencies (example scopes: main, serde) |
ci | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Github Actions) |
chore | Chores | Other changes that don't modify src or test files |
revert | Reverts | Reverts a previous commit |
Developing
Set up
This is no different than other Rust projects.
git clone https://github.com/daxartio/taskline
cd taskline
cargo test
Useful Commands
-
Run Clippy:
cargo clippy --all-targets --all-features --workspace
-
Run all tests:
cargo test --all-features --workspace
-
Check to see if there are code formatting issues
cargo fmt --all -- --check
-
Format the code in the project
cargo fmt --all