Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
Please be respectful and constructive in all interactions. We want this to be a welcoming community for everyone.
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include as many details as possible:
- Clear and descriptive title
- Steps to reproduce the problem
- Expected behavior vs actual behavior
- Browser and OS information
- Component version
- Screenshots if applicable
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- Clear and descriptive title
- Detailed description of the proposed functionality
- Explanation of why this enhancement would be useful
- Possible implementation approach if you have ideas
- Fork the repository
- Create a new branch from
main:git checkout -b feature/my-feature - Make your changes
- Run tests:
npm run test:run - Run linter:
npm run lint - Format code:
npm run format - Commit your changes with a clear commit message
- Push to your fork
- Open a Pull Request
- Follow the existing code style
- Write tests for new features
- Update documentation as needed
- Keep PRs focused on a single concern
- Write clear commit messages
- Ensure all tests pass
- Ensure code is properly formatted and linted
- Clone the repository
- Install dependencies:
npm install - Make your changes
- Run tests:
npm test - Run linter:
npm run lint
- Write tests for all new features
- Ensure existing tests still pass
- Aim for high test coverage
- Use
npm run test:coverageto check coverage
This project uses:
- ESLint for code quality
- Prettier for code formatting
- Vitest for testing
Run npm run format before committing to ensure consistent formatting.
- Update README.md if you change functionality
- Add JSDoc comments to new public APIs
- Update custom-elements.json if you add/change attributes, events, or properties
By contributing, you agree that your contributions will be licensed under the MIT License.