Thank you for your interest in contributing to our project! We welcome contributions from everyone.
Before submitting a bug report, please:
- Check if the issue has already been reported
- Ensure you're using the latest version of the software
- Provide clear reproduction steps
- Include relevant logs and error messages
We welcome feature suggestions! Please:
- Check if the feature has already been suggested
- Explain the use case and why it would be beneficial
- Provide any relevant examples or mockups
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/quizz.git - Install dependencies:
pnpm install - Create a new branch:
git checkout -b feature/your-feature-name
- The project uses a pnpm monorepo with two workspaces:
server/andclient/ - Server: Express 5 + Socket.IO + SQLite backend (Node 22, CommonJS)
- Client: React 19 + Vite 7 + Tailwind CSS 4 SPA
- Follow the existing code style and patterns
- Use TypeScript for all new code
- Follow the Biome formatting rules (run
pnpm checkbefore committing) - Write clear, descriptive commit messages
- Keep changes focused and atomic
- While there's no formal test framework configured, please test your changes manually
- Ensure your changes don't break existing functionality
- Consider edge cases and error handling
- Push your changes to your fork
- Open a pull request against the main branch
- Provide a clear description of your changes
- Reference any related issues
pnpm dev- Start both server & client in dev modepnpm build- Build both workspacespnpm start- Start production server onlypnpm typecheck- TypeScript check both workspacespnpm lint- Biome lintpnpm format- Biome auto-formatpnpm check- Biome check + auto-fix
pnpm --filter server dev- Dev server with live reloadpnpm --filter server build- Compile to dist/pnpm --filter server start- Run compiled server
pnpm --filter client dev- Vite dev serverpnpm --filter client build- Typecheck then bundle
All contributions will be reviewed by project maintainers. We aim to provide timely feedback and will work with you to get your changes merged.
Please follow our Code of Conduct in all interactions with the project and community.
If you have any questions about contributing, please open an issue or contact us at lwdlwd95@gmail.com.