Files
hydenix/docs/contributing.md
2025-11-01 10:30:13 +09:00

2.0 KiB

NixOS

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 feature
    • fix: A bug fix
    • docs: Documentation changes
    • style: Code style changes (formatting, etc)
    • refactor: Code changes that neither fix bugs nor add features
    • perf: Performance improvements
    • test: Adding or modifying tests
    • chore: 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 configuration
  • fix: correct wallpaper path in material theme
  • docs: update installation instructions
  • chore: update dependencies

pull requests

  1. fork the repository
  2. create your feature branch (git checkout -b feature/amazing-feature)
  3. commit your changes using conventional commits
  4. push to the branch (git push origin feature/amazing-feature)
  5. 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.