Before You Start
Before creating a pull request:- Read the Getting Started guide
- Follow the Guidelines for code style and commits
- Search existing PRs to avoid duplicate work
- Test your changes locally to ensure everything works
Pull Request Workflow
1. Fork and Clone
If you haven’t already:2. Create a Feature Branch
Create a descriptive branch name:Branch naming convention:
feature/description- New featuresfix/description- Bug fixesfeat/description- Adding new words or contentdocs/description- Documentation updates
3. Make Your Changes
Work on your changes following the project guidelines:4. Commit Your Changes
Use Conventional Commits format:5. Push to Your Fork
6. Open a Pull Request
- Go to your fork on GitHub
- Click “Compare & pull request”
- Fill out the PR template (see below)
- Click “Create pull request”
Pull Request Template
When creating a PR, include:Pre-Submission Checklist
Before submitting your PR, verify all items:Code Quality:
- My code follows the project’s style guidelines
- I have formatted the code with
pnpm run format - I have run the linter with
pnpm run lint - No ESLint errors or warnings
- I have tested my changes locally with
pnpm run dev - The production build works:
pnpm run build - No errors in the browser console
- Zod validation passes (no schema errors)
- Created both Spanish and English versions
- Both files have the same filename
- Filenames are lowercase, no accents, with hyphens
- All required fields are present
- Examples are natural and contextual
- No offensive or inappropriate content
- Added comments for complex code
- Updated documentation if necessary
- Commit messages are descriptive and follow Conventional Commits
- My changes don’t break existing functionality
- I have reviewed my own code
- No unrelated changes included
What Makes a Good Pull Request?
Clear Title
Use the same format as commit messages:Detailed Description
Explain:- What changes were made
- Why these changes are needed
- How the changes solve the problem
Focused Scope
A good PR:- ✅ Addresses one specific issue or feature
- ✅ Has related changes only
- ✅ Is easy to review
- ❌ Doesn’t include unrelated changes
- ❌ Isn’t too large or complex
Well Tested
Demonstrate that you’ve tested:- Local development server works
- Production build succeeds
- No console errors
- Features work as expected
Review Process
What to Expect
- Initial Review - A maintainer will review within a few days
- Feedback - Maintainer may request changes or ask questions
- Updates - Make requested changes and push to the same branch
- Approval - Once approved, the PR will be merged
- Merge - Your contribution is live!
Common Review Feedback
Code Style Issues:- Ensure you’ve tested locally
- Provide screenshots for UI changes
- Describe test scenarios in PR description
- Add code comments for complex logic
- Update relevant documentation
- Ensure commit messages are clear
Responding to Feedback
When a reviewer requests changes:- Make the requested changes in your local branch
- Commit the updates with clear messages:
- Push to the same branch:
- Reply to comments to indicate you’ve addressed them
- Request re-review if needed
After Your PR is Merged
Celebrate!
Your contribution is now part of Chapinismos! 🎉Update Your Local Repository
Recognition
All contributors are recognized:- Listed in GitHub contributors
- Mentioned in project acknowledgments
- Part of the Chapinismos community!
Troubleshooting
PR Can’t Be Merged (Conflicts)
If your PR has merge conflicts:Build Failing
If the CI build fails:- Check the error message in the PR
- Run
pnpm run buildlocally to reproduce - Fix the issue
- Push the fix to the same branch
Validation Errors
If Zod validation fails:- Review the error message - it will tell you what’s wrong
- Check your word entry frontmatter
- Ensure all required fields are present and correctly formatted
- Verify category values are valid
- Test with
pnpm run build
Tips for Faster Review
- Keep PRs small and focused - Easier to review
- Write clear descriptions - Explain your changes
- Follow all guidelines - Reduces back-and-forth
- Test thoroughly - Catch issues before review
- Respond promptly to feedback
- Be patient and respectful - Maintainers are volunteers
Examples of Great PRs
Look at merged PRs in the repository for examples:- Adding words - Clear, complete entries with both languages
- Bug fixes - Well-described problem and solution
- Features - Documented, tested, and explained
Getting Help
If you’re stuck:- Comment on your PR with questions
- Open an issue for general questions
- Review existing PRs and issues
- Check the Getting Started guide
Thank you for contributing to Chapinismos! Your efforts help preserve and share Guatemalan culture with the world. 🇬🇹