docs: begin contributing guidelines

Add guidelines for adding ports and Conventional Commits to help out new contributors.
This commit is contained in:
Sam Nystrom 2023-04-14 23:36:23 -04:00 committed by GitHub
parent 626e3dfe99
commit eaf6987276
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

46
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,46 @@
# Contributing
## Adding a port
Create a file in `modules/<module>/` with the name of the port. Add the file to the
`imports` declaration in `modules/<module>/default.nix`. All ports should have the
`catppuccin.enable` and `catppuccin.flavour` options, and optionally the
`catppuccin.accent` option. `catppuccin.flavour` and `catppuccin.accent` should
default to `config.catppuccin.flavour` and `config.catppuccin.accent`, respectively.
## Commit messages
This repository uses [Conventional Commits](https://conventionalcommits.org).
All commits should include a body that briefly describes the motivation and content
of the commit.
### Commit types
- `fix`: A bug fix that doesn't modify the public API
- `feat`: A code change that modifies the public API
- `refactor`: A code change that doesn't change behavior
- `style`: A style fix or change
- `docs`: Any change to documentation
- `ci`: Any change to CI files
- `revert`: A revert commit. The message should describe the reasoning and the
commit should include the `Refs:` header with the short hashes of the commits
being reverted.
- `chore`: catch-all type
### Commit scopes
For the commit scope, put the name of the port the commit affects. If the commit
does not affect a specific port, omit the scope.
### Breaking changes
All breaking changes should be documented in the commit footer in the format
described by Conventional Commits. Use the `<type>!` syntax in order to distinguish
breaking commits in the log, but include the footer to provide a better description
for the changelog generator.
```
feat(bar)!: foo the bars
BREAKING CHANGE: bars are now foo'ed
```