Overview
We welcome contributions to the Go React Scaffold project! This guide covers the contribution process, branching strategy, and pull request workflow.Getting Started
Fork the Repository
- Navigate to the Go React Scaffold repository
- Click the Fork button in the top right
- Clone your fork locally:
Set Up Development Environment
Follow the quick start guide to set up your local development environment:-
Install prerequisites:
- Frontend: Node.js 18+, npm
- Backend: Go 1.21+, Docker
-
Set up the backend:
-
Set up the frontend:
Branching Strategy
Branch Naming Convention
Create a descriptive feature branch frommain:
feature/- New features (e.g.,feature/user-profiles)fix/- Bug fixes (e.g.,fix/login-error)docs/- Documentation updates (e.g.,docs/api-reference)refactor/- Code refactoring (e.g.,refactor/auth-module)test/- Adding or updating tests (e.g.,test/auth-handlers)
Working on Your Branch
- Make your changes in focused, logical commits
- Follow the coding standards (see Coding Standards)
- Write or update tests for your changes
- Keep your branch up to date with
main:
Before Committing
Run Tests and Linters
Backend:Commit Message Guidelines
Write clear, descriptive commit messages: Preferred format (Conventional Commits):feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, no logic changes)refactor: Code refactoringtest: Adding or updating testschore: Maintenance tasks
Pull Request Process
Creating a Pull Request
-
Push your branch to your fork:
- Navigate to the original repository on GitHub
- Click Compare & pull request
- Fill out the pull request template:
- Summary of changes
- Motivation and context
- Testing performed
- Screenshots (if UI changes)
- Breaking changes (if any)
PR Review Process
- Automated Checks: Ensure all CI checks pass
- Code Review: Address reviewer feedback promptly
- Testing: Reviewers will verify functionality
- Approval: At least one maintainer approval required
- Merge: Maintainers will merge approved PRs
Responding to Feedback
- Address all review comments
- Make requested changes in new commits
- Push updates to your branch
- Reply to comments to confirm changes
- Mark conversations as resolved when addressed
Code Review Guidelines
What Reviewers Look For
- Functionality: Does the code work as intended?
- Tests: Are there adequate tests?
- Code Quality: Is the code clean and maintainable?
- Standards: Does it follow project coding standards?
- Security: Are there any security concerns?
- Performance: Are there performance implications?
- Documentation: Is documentation updated?
As a Reviewer
- Be constructive and respectful
- Explain the reasoning behind suggestions
- Approve PRs that meet quality standards
- Request changes when necessary
Git Workflow
Complete Workflow Example
What Not to Commit
.envfiles with secrets- API keys or credentials
- Database passwords
- Session keys
- Personal access tokens
node_modules/(frontend)- Build artifacts (
mainbinary,dist/)
.gitignore, but always verify before committing.
Getting Help
If you need assistance:- Documentation: Check the documentation first
- Issues: Search existing issues for similar problems
- New Issue: Open a new issue if you can’t find a solution
- Discussions: Use GitHub Discussions for general questions
Code of Conduct
Be respectful and professional in all interactions:- Be welcoming and inclusive
- Respect differing viewpoints
- Accept constructive criticism gracefully
- Focus on what’s best for the community
- Show empathy towards others
Recognition
All contributors will be recognized in:- GitHub contributors list
- Project documentation
- Release notes
Next Steps
Coding Standards
Review the code style guidelines and best practices
Project Structure
Understand the project organization