Thanks for your interest! We welcome pull requests, issues, and feedback. Here's how you can help.
- Open an issue on GitHub.
- Give a clear title.
- Describe the problem, steps to reproduce, and expected outcome.
- Attach code snippets or error messages when you can.
- Open an issue first to discuss ideas.
- Explain the use case and why it is necessary.
- We'll review and suggest next steps before you write code.
-
Fork the repo and clone your fork.
-
Create a branch:
git checkout -b <feature|fix|chore>/title- Install dependencies:
npm install-
Implement your change.
-
Format your code:
npm run p:f # Format with Prettier- Lint your code:
npm run l:c # Check ESLint
npm run l:f # Fix ESLint issues
npm run type-check # TypeScript type checking- Run tests and add new ones if needed:
npm test- Commit your changes:
git add .
git commit -m "feat: add new feature"- Push to your fork:
git push origin <feature|fix|chore>/title- Create a pull request on GitHub against the
developmentbranch.
- Make sure to include a clear description of your changes and why they are necessary.
- Link to open issues that this PR addresses.
- Review and merge:
- Wait for feedback from maintainers.
- Address any comments or concerns.
- Once approved, we will merge your PR.
- Follow TypeScript best practices and existing patterns.
- Keep components and functions small and focused.
- Write JSDoc comments for any exported functions or components.
- Use clear names and short sentences in comments.
- Follow the project's ESLint and Prettier configurations.
- All components should have tests using Jest and React Testing Library.
- Write integration tests for critical user flows using Playwright.
- Strive for edge-case coverage.
- Test both success and error scenarios.
Please consult the SECURITY.md for more information on responsibly reporting security vulnerabilities.
By contributing, you agree that your work will be licensed under the Apache License, Version 2.0. See LICENSE for more details.