Contributing
Thank you for your interest in improving PockerDeck! Contributions of all kinds are welcome — bug reports, feature requests, documentation fixes, and code changes.
Code of conduct
Please be respectful and constructive in all interactions. We follow the Contributor Covenant code of conduct.
Reporting bugs
Before opening a new issue:
- Search the existing issues to avoid duplicates.
- If no existing issue covers your problem, open a new one.
A good bug report includes:
- A clear, descriptive title
- Steps to reproduce the problem
- Expected vs. actual behaviour
- Browser / OS / Docker version (if relevant)
Suggesting features
Open a GitHub Discussion or an issue labelled enhancement. Describe:
- The problem you are trying to solve
- Your proposed solution
- Any alternatives you considered
Development setup
1. Fork & clone
2. Create a branch
Use a short, descriptive branch name:
3. Install dependencies
4. Run the dev server
The app is available at http://localhost:8000. The --reload flag restarts the server automatically on source changes.
Making changes
Backend (app/main.py)
- Keep the file self-contained — no new external dependencies unless absolutely necessary.
- All WebSocket actions must be handled safely: validate and sanitise every field received from the client.
- Add or update the relevant doc page in
pockerdeck-docif your change affects user-visible behaviour.
Frontend (app/static/js/room.js, app/templates/)
- No build step, no framework — plain HTML / CSS / JavaScript only.
- Keep the UI accessible: prefer semantic HTML elements and meaningful button labels.
Docker
- Test your changes inside the container before submitting:
Submitting a pull request
-
Rebase your branch on the latest
main: -
Run a quick smoke test — open the app, create a room, vote with two browser tabs, reveal, and reset.
-
Push your branch and open a PR against
main: -
Fill in the PR template:
- What does this change do?
- How was it tested?
- Screenshots (for UI changes)
Tip
Keep PRs focused. One logical change per PR makes review faster and keeps the git history clean.
Contributing to the documentation
The documentation lives in a separate repository: byteavanta/pockerdeck-doc.
git clone https://github.com/<your-username>/pockerdeck-doc.git
cd pockerdeck-doc
pip install -r requirements.txt
mkdocs serve
Preview at http://localhost:8000. Submit fixes as a PR to main in that repo — the GitHub Actions workflow deploys it to GitHub Pages automatically.