Code of Conduct
Basics
- Always maintain a professional and respectful tone in discussions.
- Any form of harassment, trolling, or abuse is strictly prohibited.
Setup and Environment
- Ensure you have the recommended development environment set up, including the correct versions of dependencies.
- Instructions for setting up the development environment should be documented in the project's README or a separate file.
- We recommend using VSCode, Neovim or WebStorm as your IDE/Editor.
- Test your changes before you open a PR.
Branching Strategy
- Use feature branches. Create a new branch for each feature or bugfix.
- Avoid committing directly to the main or master branch.
- Consider following a branching strategy like Git Flow or GitHub Flow.
Commit Messages
- Write clear and descriptive commit messages.
- Start with a short summary (50 chars or less), followed by a blank line and a detailed description if necessary.
- Consider following the conventional commit format: "type: description"
Testing
- Add tests for new features and ensure existing tests pass.
- Maintain or improve the current code coverage.
Documentation
* Update documentation in tandem with code changes.
* If adding a new feature, provide usage examples and relevant details.
- Test across multiple browsers or environments if applicable.
Coding Standards
- Follow the project's coding standards and style guide (we use eslint run npm run lint:fix to take care of all issues!)
- Document functions, methods, and classes.
- Ensure code is clear, maintainable, and well-organized.
Pull Requests
- Make PRs small and focused. They should address a single issue or feature.
- Describe the changes in the PR description and reference any related issues.
- Ensure PRs pass all Continuous Integration (CI) checks.
- Request reviews from relevant team members.
- Address review feedback promptly.
Dependencies
- Regularly check and update project dependencies.
- When adding a new dependency, ensure it's necessary and doesn't add significant bloat to the project.
Issue Reporting
- Check if an issue already exists before creating a new one.
- Provide clear details, steps to reproduce, and expected vs. actual behavior.
Performance
- Ensure that new features do not degrade the performance of the application.
- Regularly profile and optimize the codebase.
Accessibility
- Ensure the web application is accessible to all users, including those with disabilities.
- Follow WAI-ARIA guidelines and test with accessibility tools.
Responsiveness
Ensure the application looks and functions well on various screen sizes and devices.
Feedback Loop
Actively engage with the community and address feedback, suggestions, and concerns.