# Contributing Guidelines Thank you for your interest in contributing! Please follow these rules to keep our history clean and reviews smooth. --- ## 📝 Commit Guidelines ### **Sign your commits** All commits **must** be signed (`git commit -S`) so they show up as **Verified** in Forgejo. ### **Use Conventional Commit types** Format: ```text (): ``` Allowed types: - `feat` - a new feature - `fix` - a bug fix - `chore` - maintenance, tooling, docs, CI, etc. Examples: - `feat(auth): add JWT-based login` - `fix(api): correct null pointer on user lookup` - `chore(ci): update Forgejo Actions workflow` ### **Commit body for complex changes** If the change is non-trivial: - Explain *what* and *why* in the body. - Reference issues with `closes #123` or `refs #123`. --- ## 🔀 Pull Requests (PRs) ### **Review required** Every PR must be reviewed and approved by **at least one other contributor** before merging. ### **Branching** - Use feature branches: `feature/`, `fix/`, etc. - Keep PRs focused and avoid mixing unrelated changes. ### **Commit history** - Rebase/squash before merging if necessary. - Keep commits meaningful and clean.