Contributing to CHASE
AI-Generated Content
This documentation page was initially generated by AI to bootstrap the documentation structure. Content may be incomplete or contain inaccuracies. We welcome contributions to improve it.
Thank you for your interest in contributing to CHASE! This guide will help you get started.
Ways to Contribute
- Bug Reports - Report issues you encounter
- Feature Requests - Suggest new features
- Code Contributions - Submit pull requests
- Documentation - Improve these docs
- Testing - Help test new releases
Getting Started
- Fork the repository on GitHub
- Clone your fork locally
- Create a branch for your changes
- Make your changes following our guidelines
- Submit a pull request
Development Workflow
Branch Naming
Use descriptive branch names:
feature/speaker-list-improvementsfix/voting-count-bugdocs/chair-guide-update
Commit Messages
Write clear commit messages:
feat: add yield to questions functionality
- Implement yield options in speaker controls
- Add timer handling for question period
- Update UI to show yield status
Follow Conventional Commits format:
feat:- New featurefix:- Bug fixdocs:- Documentation changesrefactor:- Code refactoringtest:- Adding testschore:- Maintenance tasks
Pull Requests
When submitting a PR:
- Fill out the PR template
- Link related issues
- Ensure tests pass
- Request review from maintainers
Code Style
TypeScript
- Use TypeScript for all new code
- Enable strict mode
- Define types explicitly for function parameters
React/Svelte
- Use functional components
- Follow component naming conventions
- Keep components focused and small
Formatting
We use Prettier for code formatting:
bun run format
Lint your code:
bun run lint
Testing
Writing Tests
- Add tests for new features
- Update tests when fixing bugs
- Aim for meaningful coverage, not 100%
Running Tests
bun test
Code Review Process
- Automated checks must pass
- At least one maintainer approval required
- Address all review comments
- Squash commits if requested
Community Guidelines
- Be respectful and inclusive
- Help others learn
- Give constructive feedback
- Celebrate contributions
Getting Help
- GitHub Issues - For bugs and features
- Discussions - For questions and ideas
- Email - For private matters
License
By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license.