Contributing to Oxc
Thank you for your interest in contributing to Oxc! We're building the next generation of JavaScript tooling, and we'd love your help.
Quick Start
The fastest way to get started is through our good first issues. These are carefully selected tasks that are perfect for new contributors.
Need guidance? Join our Discord community where our team and community members are happy to help.
Ways to Contribute
We welcome and appreciate any form of contributions:
🐛 Bug Reports
- Report parsing errors or incorrect linting behavior
- Share performance issues or regressions
- Document edge cases we haven't considered
🚀 Feature Development
- Add new linting rules
- Improve parser conformance
- Enhance transformer capabilities
- Build new tools in the Oxc ecosystem
📚 Documentation
- Improve getting started guides
- Add examples and tutorials
- Document architecture decisions
- Translate content to other languages
🧪 Testing
- Add test cases from real-world codebases
- Improve test coverage
- Create performance benchmarks
- Test against ecosystem projects
🔧 Infrastructure
- Improve build and CI systems
- Enhance development tooling
- Optimize performance critical paths
- Maintain compatibility with other tools
Understanding the Codebase
Oxc is organized into several crates:
oxc_parser
: High-performance JavaScript/TypeScript parseroxc_linter
: Fast linting engine with 500+ rulesoxc_transformer
: TypeScript and JSX transformationoxc_minifier
: JavaScript minification (in development)oxc_formatter
: Code formatting (in development)
Your First Contribution
- Browse Issues: Look for issues labeled
good first issue
- Ask Questions: Don't hesitate to ask for clarification on Discord or GitHub
- Start Small: Begin with documentation improvements or small bug fixes
- Learn the Patterns: Study existing code to understand our conventions
Community
Communication Channels
- GitHub Discussions: For design discussions and questions
- Discord: Real-time chat with the team and community
- GitHub Issues: Bug reports and feature requests
- Twitter: Follow @boshen_c for updates
Code of Conduct
We are committed to providing a welcoming and inclusive experience for everyone. Please read our Code of Conduct before participating.
Next Steps
Ready to contribute? Here are some great places to start:
- 📖 Learn More: Check out our development guide
- 🔍 Find an Issue: Browse our good first issues
- 💬 Join the Community: Connect with us on Discord
- 🛠️ Pick a Tool: Dive into parser, linter, transformer, or other tools
We can't wait to see what you'll build with us! 🚀