Thank you for your interest in contributing! This project has a focused contribution policy to keep it simple and maintainable.
If you've found a bug — broken behavior, a crash, incorrect pitch detection, UI glitches, accessibility issues — we welcome a fix.
We accept PRs that improve the features already in the app:
- Pitch Detector — accuracy, performance, UI/UX polish, voice range presets, pitch history chart
- DO RE MI Game — gameplay flow, visual feedback, note detection, scale options
- Tone Detector — multi-tone detection accuracy, UI/UX polish, settings controls, tone visualization
- PWA / Offline — service worker reliability, install experience, caching behavior
- General — accessibility, responsiveness, internationalization, documentation
This project is not accepting new feature contributions. PRs that add entirely new pages, game modes will be ignored.
This project is licensed under 0BSD — essentially "do what you want, but don't blame me." You're free to fork or clone it and build whatever you like on top of it. If you have an idea for a new feature that doesn't fit this project, take it and make it your own!
- Open an issue first to discuss the change — this avoids wasted effort on PRs that won't be merged.
- Follow the existing code style and conventions (see
CLAUDE.mdfor details). - Use Conventional Commits for your commit messages (
fix:,refactor:,perf:,docs:, etc.). - Run
npm run guardto verify your changes don't introduce errors. - Fill out the PR template completely.
git clone https://github.com/kunukn/singing-experience.git
cd singing-experience
npm install
npm run devBy contributing, you agree that your contributions will be licensed under the 0BSD License.