🤝 Contribution Protocol¶
Open Source Philosophy
This project lives through its community. Every PR is a brick in the building of digital sovereignty.
PR Lifecycle
graph TD
Issue[🐛/✨ Issue] -->|Discussion| Branch[🌿 Feature Branch]
Branch -->|Commit| PR[🔄 Pull Request]
PR -->|CI/CD| Review[👀 Review]
Review -->|Merge| Main[🚀 Main]
style Issue fill:#e7ae4c,stroke:#333,stroke-width:2px,color:#fff
style Branch fill:#37a880,stroke:#333,stroke-width:2px,color:#fff
style PR fill:#e0e7ff,stroke:#333,stroke-width:2px,color:#182232
style Review fill:#f1f5f9,stroke:#182232,stroke-width:2px,color:#182232
style Main fill:#e0e7ff,stroke:#333,stroke-width:2px,color:#182232
1. 🏁 Before Starting¶
Assign yourself the work to avoid collisions.
- Find an Issue: Look for ones labeled
good first issue. - Comment: "I'd like to work on this".
- Create Your Branch:
2. 📦 The Perfect Pull Request¶
A PR gets accepted quickly if it's easy to review.
- Clear Title:
feat(ui): add dark mode(Use Conventional Commits). - Context: What problem does it solve?
- Evidence: Screenshots or logs if you changed something visual or logical.
- Unnecessary files (
.DS_Store,__pycache__). - Massive formatting changes (spaces vs tabs) in files you didn't touch.
- Secrets or tokens.
3. 📝 Checklist (Copy and Paste)¶
Use this in your PR description:
## 🎯 Objective
[Describe what this change does]
## 📸 Evidence
- [ ] Local test logs attached.
- [ ] Screenshot (if applicable).
## 🛡️ Security Checklist
- [ ] No secrets included.
- [ ] Complies with Local-First data principle.
Need Help?¶
If you get stuck, comment on the Issue or search the existing documentation. We're here to learn together!