Contributing
Contributions are welcome. If you want to fix bugs, improve DX, add tests, or propose new components, please open an issue or send a pull request.
Preferred workflow
- Fork the repository on GitHub.
- Create a branch for your change.
- Make focused commits with clear messages.
- Run tests and build locally.
- Open a pull request with a short explanation of what changed and why.
git clone https://github.com/<your-user>/le-kit.git
cd le-kit
npm install
# core package
cd packages/core
npm test
npm run buildPull request expectations
To keep reviews fast and productive, please try to:
- Keep PRs scoped to one topic (bugfix, feature, or refactor).
- Include before/after behavior in the PR description.
- Update docs when public behavior changes.
- Add or update tests for the changed behavior.
Testing help is especially valuable
One of the most important areas for contributions is testing quality across components and themes.
High-impact testing contributions include:
- Unit tests for component logic and edge cases.
- End-to-end tests with a headless browser to validate user interactions.
- Theme checks to ensure components render correctly with different theme variables.
- Integration tests that verify components work together (for example, popovers, slots, navigation, and form controls in one flow).
cd packages/core
npm testIdeas for new components
New component ideas are welcome. If you have a proposal, open an issue with a short spec: problem to solve, expected API, accessibility considerations, and a simple usage example.
Good proposals are small, practical, and align with Le-Kit's goals: themeable components, strong interaction behavior, and compatibility with admin-mode editing.
Communication
Not sure where to start? Open an issue and ask. Even small contributions are useful, and feedback on docs, examples, and test coverage is always appreciated.