Contribution Guidelines
Thank you for your interest in contributing to Shadow DOM Survey! This document outlines the process for contributing to the project and the standards we expect from contributors.
Code of Conduct
Please read and follow our Code of Conduct to maintain a respectful and welcoming environment for all contributors.
How to Contribute
Reporting Bugs
If you find a bug, please report it by creating an issue on our GitHub Issues page with the "bug" label. Please include:
- A clear title and description of the bug
- Steps to reproduce the issue
- Expected and actual behavior
- Screenshots or GIFs if applicable
- Environment details (browser, OS, etc.)
Suggesting Features
Feature suggestions are welcome! Please create an issue on our GitHub Issues page with the "enhancement" label. Please include:
- A clear title and description of the feature
- The problem it solves or the value it adds
- Any implementation ideas you have
Pull Requests
- Fork the repository
- Create a new branch from
main
- Make your changes
- Test your changes thoroughly
- Submit a pull request with a clear description of the changes
All submissions require review before being merged.
Development Guidelines
Code Style
- Use consistent indentation (2 spaces)
- Follow JavaScript ES6+ conventions
- Document your code with JSDoc comments
- Use meaningful variable and function names
- Keep functions small and focused on a single task
- Add comments for complex logic
Component Structure
When creating or modifying Shadow DOM components:
- Encapsulate all styles and markup within the Shadow DOM
- Use custom events for communication with the outside world
- Maintain backward compatibility
- Consider RTL and multilingual support
Testing
- Test your changes in multiple browsers (Chrome, Firefox, Safari, Edge)
- Test with both English and Arabic languages
- Verify RTL layout functions correctly
- Ensure all features work on mobile devices
Documentation
- Update documentation to reflect your changes
- Document any new APIs or changes to existing APIs
- Provide examples for new features
Git Workflow
- Create a branch with a descriptive name:
feature/new-question-type
orfix/matrix-question-alignment
- Make focused, logical commits with clear messages
- Keep pull requests reasonably sized
- Reference any related issues in your commits and pull request
Review Process
- All code will be reviewed by at least one maintainer
- Automated tests must pass
- Changes must conform to the project's coding standards
- Documentation must be updated
Getting Help
If you have questions about contributing, please:
- Check existing issues for similar questions
- Create a new issue with the "question" label if needed
- Reach out to the maintainers
Thank you for contributing to Shadow DOM Survey!