# 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
  <type>(<scope>): <short description>
  
  <long description>
  ```

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/<name>`, `fix/<name>`, etc.  
- Keep PRs focused and avoid mixing unrelated changes.

### **Commit history**  
- Rebase/squash before merging if necessary.
- Keep commits meaningful and clean.
