Why Contribute?
- Impact thousands - Twenty is used by companies worldwide
- Learn modern tech - Work with React, NestJS, GraphQL, and more
- Join the community - Connect with developers around the globe
- Build your portfolio - Showcase your contributions
- Shape the product - Help decide what gets built next
Ways to Contribute
Code Contributions
Fix bugs, add features, improve performance
Documentation
Improve docs, write tutorials, create examples
Bug Reports
Find and report issues to help improve quality
Feature Requests
Suggest new features and improvements
Translations
Translate Twenty into your language
Community Support
Help others in Discord and GitHub
Getting Started
1. Find an Issue
Browse open issues on GitHub:Good First Issues
Start with issues labeled
good first issueThese are beginner-friendly issues perfect for first-time contributors.Help Wanted
Check
help wanted issuesThese issues are ready to work on and contributions are welcomed.Bug Reports
Look for bugs labeled
bugHelp fix reported bugs to improve stability.2. Set Up Your Environment
Follow the Local Development Setup guide to get Twenty running locally. Quick setup:3. Create a Branch
Create a descriptive branch name:4. Make Your Changes
Follow our Code Style Guide when writing code. Key principles:- Write tests - Add tests for new functionality
- Follow conventions - Match existing code patterns
- Keep it focused - One feature/fix per PR
- Update docs - Document new features
5. Test Your Changes
Ensure all tests pass:6. Commit Your Changes
Write clear, descriptive commit messages:Follow Conventional Commits format:
feat:- New featurefix:- Bug fixdocs:- Documentation changesrefactor:- Code refactoringtest:- Adding testschore:- Maintenance tasks
7. Submit a Pull Request
Push your branch and open a pull request:- Navigate to your fork
- Click Compare & pull request
- Fill out the PR template:
- Title - Clear, descriptive title
- Description - What does this PR do?
- Issue - Link to related issue(s)
- Testing - How did you test this?
- Screenshots - For UI changes
Pull Request Guidelines
PR Title Format
feat: Add CSV export for companiesfix: Resolve email validation errordocs: Update API authentication guiderefactor: Simplify person list query logic
PR Description Template
Review Process
- Automated checks - CI runs tests and linting
- Maintainer review - Core team reviews your code
- Feedback - Address review comments
- Approval - Once approved, your PR will be merged!
Reviews may take a few days. Be patient and responsive to feedback.
Contribution Types
Code Contributions
Bug Fixes- Find bugs in GitHub issues or while using Twenty
- Reproduce the issue locally
- Write a test that fails
- Fix the bug
- Verify test passes
- Submit PR
- Discuss feature in GitHub issue first
- Get approval from maintainers
- Implement feature following code style
- Write comprehensive tests
- Update documentation
- Submit PR
- Identify performance bottleneck
- Benchmark current performance
- Implement optimization
- Verify improvement with benchmarks
- Ensure no regressions
- Submit PR
Documentation Contributions
Help improve our documentation:- Fix typos and grammar
- Clarify confusing sections
- Add missing examples
- Write tutorials
- Improve API documentation
Translation Contributions
Translate Twenty into your language:- Visit Twenty on Crowdin
- Select your language
- Start translating
- Submit translations for review
Community Support
Help others in the community:- Answer questions in Discord
- Help troubleshoot issues on GitHub
- Write blog posts and tutorials
- Create video tutorials
- Share Twenty on social media
Recognition
We value our contributors:- All contributors are listed in our README
- Regular contributors may be invited to the core team
- Significant contributions are highlighted in release notes
- Everyone gets our gratitude and recognition!
Communication
Discord
Join our Discord community:- #general - General discussion
- #dev - Development questions
- #help - Get help
- #showcase - Show what you built
GitHub Discussions
Use GitHub Discussions for:- Feature proposals
- Design discussions
- Questions and answers
- Show and tell
GitHub Issues
Use GitHub Issues for:- Bug reports
- Feature requests
- Task tracking
Code of Conduct
We are committed to providing a welcoming and inclusive environment:- Be respectful - Treat everyone with respect
- Be constructive - Provide helpful feedback
- Be inclusive - Welcome all skill levels
- Be patient - Remember everyone is learning
- Be kind - Assume good intentions
Reporting Security Issues
To report security issues:- Email [email protected]
- Include detailed description
- Provide steps to reproduce
- Wait for response before public disclosure
Development Resources
Local Setup
Set up your development environment
Architecture
Understand the codebase structure
Code Style
Follow code conventions
Testing
Write and run tests
Common Questions
Do I need to be an expert to contribute?
Do I need to be an expert to contribute?
No! We welcome contributors of all skill levels. Start with “good first issue” labels and learn as you go.
How long does PR review take?
How long does PR review take?
Usually 2-5 days, but can vary. Be patient and responsive to feedback.
Can I work on multiple issues?
Can I work on multiple issues?
Yes, but focus on one PR at a time. Complete one before starting another.
What if my PR is rejected?
What if my PR is rejected?
Don’t worry! Ask for feedback, learn from it, and try again. Every PR is a learning opportunity.
How do I keep my fork updated?
How do I keep my fork updated?
Can I contribute to Twenty Cloud?
Can I contribute to Twenty Cloud?
Twenty Cloud is closed-source. Contributions focus on the open-source core which powers both self-hosted and cloud versions.
Tips for Success
Start Small
Begin with small contributions to learn the process
Ask Questions
Don’t hesitate to ask in Discord or GitHub
Follow Guidelines
Read and follow our contribution guidelines
Be Patient
Good things take time - both learning and reviews
Example: First Contribution
Here’s a complete example of making your first contribution:Next Steps
Code Style Guide
Learn Twenty’s code conventions
Testing Guide
Write and run tests
Browse Issues
Find something to work on
Join Discord
Connect with the community
