48 lines
1.2 KiB
Markdown
48 lines
1.2 KiB
Markdown
# 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.
|