Thanks for your interest in contributing to SubSentry 🚀
This project is part of Geekhaven OpenCode and follows a simple, beginner-friendly workflow.
-
Browse open issues and comment to get assigned
-
Fork the repository to your GitHub account
-
Create a feature branch in your fork
git checkout -b feature/short-description
-
Make your changes locally
-
Commit with a clear message
-
Open a Pull Request to the
mainbranch
- One PR = One Issue
- Do NOT commit directly to
main - Keep PRs small and focused
- Add screenshots or screen recordings for UI changes
- Follow existing project structure and code style
PRs that do not follow these rules may be requested to change or closed.
good first issue– Beginner-friendly tasksfrontend– UI, components, stylesbackend– APIs, database, logicdashboard– Analytics and widgetsdocumentation– Docs-only improvementsOpenCode– Official OpenCode issues
cd client
npm run devcd server
npm run devMake sure both servers are running when working on full-stack features.
- Use meaningful variable and function names
- Avoid large files; refactor into smaller components/modules
- Handle errors gracefully
- Avoid committing commented-out code
Before opening a Pull Request, make sure:
- You are assigned to the issue
- Your PR addresses only one issue
- Code builds and runs locally without errors
- No console errors or warnings
- UI changes include screenshots or screen recordings
- API changes are tested with valid & invalid data
- Commit messages follow the project convention
- No sensitive data or
.envfiles committed - PR title and description are clear
- Ask questions in the issue thread
- Be respectful and collaborative
- Maintainers will try to respond within 24 hours
Happy contributing 💙
- Read the full issue description carefully
- Comment "I would like to work on this" to get assigned
- Do not start work without assignment
- Prefer
good first issueif you are new
Use clear and consistent branch names:
feature/add-subscription-form
fix/api-validation-error
docs/update-readme
Use short, meaningful commit messages:
feat: add subscription form UI
fix: handle invalid subscription id
refactor: extract api service layer
docs: update contributing guide
- Do not push directly to
main - Do not open large PRs touching multiple issues
- Do not submit incomplete or broken code
- Do not copy code without understanding it
- Ensure frontend pages load without errors
- Ensure APIs work with valid and invalid inputs
- Manually test your feature before submitting PR
An issue is considered done when:
- Feature works as described
- Code is clean and readable
- No console errors
- PR is reviewed and merged
- Be respectful to all contributors
- Help others if you can
- Feedback should be constructive
We are here to learn and build together.