2.0 KiB
2.0 KiB
contributing
this project uses direnv for pre-commit hooks. please install it first:
- nix:
nix-env -iA nixpkgs.direnv - macos:
brew install direnv - ubuntu/debian:
apt-get install direnv
then run direnv allow to enable the hooks
more documentation on the codebase can be found at template README
this project enforces conventional commits format for all commit messages. each commit message must follow this structure:
type(optional-scope): subject
[optional body]
[optional footer(s)]
where:
-
type must be one of:
feat: A new featurefix: A bug fixdocs: Documentation changesstyle: Code style changes (formatting, etc)refactor: Code changes that neither fix bugs nor add featuresperf: Performance improvementstest: Adding or modifying testschore: Maintenance tasks
-
scope is optional but if used:
- must be lowercase
- should be descriptive of the area of change
- examples: vm, themes, home, cli, docs, etc.
-
subject must:
- not end with a period
- be descriptive
examples:
feat(vm): add support for fedora vm configurationfix: correct wallpaper path in material themedocs: update installation instructionschore: update dependencies
pull requests
- fork the repository
- create your feature branch (
git checkout -b feature/amazing-feature) - commit your changes using conventional commits
- push to the branch (
git push origin feature/amazing-feature) - open a pull request
changelog
the changelog is automatically generated from commit messages. clear, well-formatted commit messages ensure your changes are properly documented.
for more details, see the conventional commits specification.