Before You Start
Ensure you have:- Set up your development environment
- Read our code style guide
- Reviewed existing issues and PRs
Creating a Pull Request
1
Fork the Repository
Fork the GAIA repository on GitHub to your account.
2
Clone Your Fork
Clone your fork locally:
3
Add Upstream Remote
Add the original repository as upstream:
4
Create a Feature Branch
Create a new branch for your changes:Branch naming conventions:
feature/- New featuresfix/- Bug fixesdocs/- Documentation updatesrefactor/- Code refactoring
5
Make Your Changes
6
Commit Your Changes
Commit with a descriptive message following conventional commits:
7
Sync with Upstream
Keep your branch up to date:
8
Push to Your Fork
Push your changes:
9
Create Pull Request
Go to github.com/theexperiencecompany/gaia and create a pull request.
Pull Request Guidelines
Title Format
Use conventional commit format:Description Template
Include:- What: Brief description of the change
- Why: Reason for the change
- How: Technical approach taken
- Testing: How you tested the changes
- Screenshots: If applicable (for UI changes)
- Related Issues: Link related issues
Checklist
Before submitting, ensure:- Code follows style guidelines
- Self-review completed
- Comments added for complex logic
- Documentation updated if needed
- No new warnings generated
- Tests added/updated and passing
- Dependent changes merged
- Conventional commit format used
Review Process
What to Expect
- Automated Checks: CI/CD runs tests and linters
- Code Review: Maintainers review your code
- Feedback: Address any requested changes
- Approval: Once approved, your PR will be merged
Responding to Feedback
- Be responsive to review comments
- Ask questions if feedback is unclear
- Make requested changes promptly
- Re-request review after updates
Making Changes
After feedback:After Merge
Once merged:-
Delete your feature branch:
-
Update your local master:
- You’ll be added to our contributors list! 🎉
Common Issues
Merge Conflicts
Merge Conflicts
Sync with upstream and resolve conflicts:
Failed CI Checks
Failed CI Checks
Review the CI logs and fix issues:
bash mise lint:fix mise test git add . git commit -m "fix: resolve CI issues" git push Outdated Branch
Outdated Branch
Rebase on latest master:
Getting Help
Need assistance?- Discord: Join our community
- Discussions: GitHub Discussions
- Issues: Comment on related issues
