Thank you for showing interest in contributing to HackRadar! We welcome all kinds of contributions — bug fixes, new scrapers, feature requests, or improvements to the documentation.
-
Fork the repo and clone your fork locally:
git clone https://github.com/username/Discord-Hackathon-Bot.git cd Discord-Hackathon-Bot -
Set up your development environment:
# (Recommended) Create and activate a virtual environment with uv uv venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install dependencies including dev dependencies uv sync # Set up pre-commit hooks uv run pre-commit install
-
Create a new branch:
git checkout -b your-feature-name
-
Make your changes following the guidelines below.
-
Run tests and pre-commit hooks (see sections below).
-
Commit and push your changes:
git commit -m "Add your message here" git push origin your-feature-name -
Open a Pull Request on GitHub.
Before submitting your PR, ensure all tests pass:
uv run pytest --all-filesImportant: All tests must pass before your PR can be merged. If you're adding new features, please add corresponding tests.
This project uses pre-commit hooks to ensure code quality. The hooks will automatically:
- Remove trailing whitespace
- Fix end-of-file issues
- Check YAML syntax
- Detect merge conflicts
- Run Ruff linter and formatter
# Install pre-commit hooks (run once after cloning)
uv run pre-commit install# Run hooks on all files
uv run pre-commit run --all-files
# Run hooks on staged files only (automatic before commit)
uv run pre-commit runNote: Pre-commit hooks run automatically before each commit. If a hook fails, fix the issues and try committing again.
- Follow existing code structure and naming conventions.
- Keep your changes focused and minimal.
- Write clear and concise commit messages.
- If adding a new scraper, place it in the
adapters/folder. - Ensure all tests pass before submitting a PR.
- Run pre-commit hooks (or let them run automatically) before committing.
Feel free to open an issue or discussion if you have any questions.
We’re glad to have you here 💙