- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
Getting Started
Sync UI uses GitHub to host code, track issues and feature requests, as well as accept pull requests.Development Workflow
We use GitHub Flow for our development process. Pull requests are the best way to propose changes to the codebase. Steps to contribute:- Fork the repo and create your branch from
main - If you’ve added code that should be tested, add tests
- If you’ve changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code lints
- Issue that pull request
Quick Start
Contribution Guidelines
Code Style
- Indentation: Use 2 spaces for indentation (not tabs)
- Linting: Run
npm run lintto ensure style consistency - Formatting: Follow existing code conventions in the project
Component Guidelines
When creating or modifying components:- Accessibility: Ensure all components meet accessibility standards
- Responsiveness: Test components across different screen sizes
- Dark Mode: Include dark mode support for all visual components
- Animation: Use Motion (motion/react) for smooth animations
- MUI Integration: Build on top of Material UI components when possible
Commit Messages
Write clear, descriptive commit messages:feat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changes (formatting, missing semicolons, etc.)refactor:Code refactoringtest:Adding or updating testschore:Maintenance tasks
Reporting Bugs
We use GitHub issues to track public bugs. Report a bug by opening a new issue.Writing Good Bug Reports
Great bug reports tend to have:- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Provide sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or things you tried that didn’t work)
Bug Report Template
Pull Request Process
- Update Documentation: If you’ve changed APIs or added features, update the relevant documentation
- Test Your Changes: Ensure all tests pass and add new tests if needed
- Update Changelog: Add a note about your changes to the changelog if applicable
- Code Review: Wait for code review and address any feedback
- Merge: Once approved, your PR will be merged
Pull Request Template
Feature Requests
We welcome feature requests! Open an issue with:- Clear description of the feature
- Use cases and benefits
- Possible implementation approach (optional)
- Examples from other libraries (optional)
Testing
Before submitting a pull request:Documentation
If you’re adding new components or features:- Add documentation to the appropriate MDX file
- Include code examples
- Add component variants
- Document all props and options
- Update navigation if needed
License
By contributing, you agree that your contributions will be licensed under the MIT License. Any contributions you make will be under the same MIT Software License that covers the project. When you submit code changes, your submissions are understood to be under the same license.Code of Conduct
Be respectful, inclusive, and professional in all interactions. We’re here to build great software together.Our Standards
- Use welcoming and inclusive language
- Be respectful of differing viewpoints and experiences
- Gracefully accept constructive criticism
- Focus on what is best for the community
- Show empathy towards other community members
Questions?
If you have questions about contributing:Thank you for contributing to Sync UI! Your contributions help make this library better for everyone.