Contributing
Thank you for your interest in contributing to acodeaday! This guide will help you get started.
Ways to Contribute
Report Bugs
Found a bug? Please open an issue with:
- A clear, descriptive title
- Steps to reproduce the bug
- Expected vs actual behavior
- Screenshots (if applicable)
- Your environment (browser, OS, etc.)
Suggest Features
Have an idea? Open a feature request with:
- Description of the feature
- Why it would be useful
- Any implementation ideas you have
Submit Code
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
uv run pytest(backend) /npm test(frontend) - Commit with clear messages
- Push and open a Pull Request
Add Problems
See Adding Problems to contribute new coding challenges.
Improve Documentation
Documentation improvements are always welcome! Edit files in the docs/ directory.
Development Setup
See Quick Start for setting up your development environment.
Running Tests
Backend:
bash
cd backend
uv run pytestFrontend:
bash
cd frontend
npm testCode Style
- Python: Follow PEP 8, use type hints
- TypeScript/React: Follow ESLint configuration
- Commits: Use clear, descriptive commit messages
Pull Request Guidelines
- One feature per PR - Keep PRs focused
- Include tests - Add tests for new functionality
- Update docs - Update documentation if needed
- Describe changes - Write a clear PR description
Code of Conduct
Be respectful and inclusive. We're all here to learn and build together.
Questions?
- Open an issue
- Check existing discussions
License
By contributing, you agree that your contributions will be licensed under the project's license.