Before Creating a PR
Before submitting a pull request, ensure you’ve completed these steps:Search for existing PRs
Check existing PRs to avoid duplicating work.
Link to an issue
Make sure your PR is related to an issue. If one doesn’t exist, create one first to discuss the proposed changes.
Accept the CLA
If you haven’t already, accept the Contributor License Agreement.
Creating a Pull Request
PR Template
When you create a pull request, you’ll see a template with the following sections:Description
Describe the changes introduced by this pull request. Explain what problem it solves or what feature/fix it adds.Related Issue
Reference the issue this PR addresses:Changes Made
Provide a summary of the changes:Testing Performed
Describe how you tested these changes:Checklist
Complete this checklist before submitting:- I have tested these changes locally and they work as expected
- I have added/updated tests that prove the effectiveness of these changes
- I have updated the documentation to reflect these changes, if applicable
- I have followed the project’s code style guidelines
- I have addressed code review feedback from the previous submission, if applicable
Additional Notes
Provide any additional context or notes for reviewers, such as:- Design decisions and rationale
- Potential concerns or trade-offs
- Future improvements or follow-up work
- Breaking changes or migration notes
PR Requirements
Code Quality
Follow code style guidelines
Follow code style guidelines
All code must follow the Documenso code style guide.
- Use TypeScript for all code
- Prefer
typeoverinterface - Use functional components with arrow functions
- Never use classes
- Use descriptive variable names
Write tests
Write tests
Add or update tests for your changes:
- Unit tests for new functionality
- E2E tests for user-facing features
- Update existing tests if behavior changes
No linting errors
No linting errors
Your code must pass all linting checks:Auto-fix issues with:
Build succeeds
Build succeeds
Ensure a full production build succeeds:
Documentation
Update documentation if your changes affect:- Public APIs
- User-facing features
- Configuration options
- Development setup or workflows
Commit Messages
Use Conventional Commits for commit messages:If you’re using OpenCode, you can use the
/commit command to automatically generate conventional commits.PR Review Process
What to Expect
Automated checks
GitHub Actions will run automated checks including:
- Linting
- Type checking
- Tests
- Build verification
Code review
A maintainer will review your code and may:
- Request changes
- Ask questions for clarification
- Suggest improvements
- Approve the PR
Review Timeline
We aim to review PRs within:- Small bug fixes: 1-2 days
- Feature additions: 3-5 days
- Large refactors: 1-2 weeks
- Comment on the PR asking for a review
- Reach out on Discord
- Mention
@documenso/maintainersin a comment
Common Review Feedback
Code Style Issues
Issue: Not following code style guidelines Solution: Review the code style guide and apply consistent patterns.Missing Tests
Issue: No tests for new functionality Solution: Add unit tests and/or E2E tests that cover your changes.Incomplete Documentation
Issue: Public APIs or features not documented Solution: Add or update documentation to explain how to use the new functionality.Type Safety
Issue: Usingany or missing type definitions
Solution: Add proper TypeScript types for all variables, parameters, and return values.
Performance Concerns
Issue: Inefficient queries or operations Solution: Optimize database queries, use proper indexing, and avoid N+1 queries.Tips for Faster Reviews
Keep PRs small
Smaller PRs are easier to review and merge faster. Break large features into multiple PRs.
Write clear descriptions
Help reviewers understand your changes with clear descriptions and examples.
Add screenshots
For UI changes, include before/after screenshots or GIFs.
Respond promptly
Respond to review feedback quickly to keep the momentum going.
After Your PR is Merged
Once your PR is merged:- Delete your branch (GitHub will prompt you)
- Update your local repository:
- Celebrate! You’ve contributed to Documenso!
Handling Merge Conflicts
If your PR has merge conflicts:Need Help?
If you have questions about the PR process:- Read the Contributing Overview
- Join the Discord community
- Comment on your PR with questions
- Check existing PRs for examples
View PR Template
See the full pull request template on GitHub
