Thanks for your interest in improving ADS-Bit! Contributions of all kinds — bug reports, features, sprites, themes, docs — are welcome.
ADS-Bit is a Python (aiohttp) backend with a vanilla-JavaScript frontend. There is no build step for the frontend.
git clone <your-fork-url>
cd ADS-Bit
pip install -r requirements.txt # Python 3.9–3.11 recommended (see note below)
cp config.json.example config.json # optional; the setup wizard runs otherwise
python3 server.py # serves on http://localhost:2001Or with Docker (no local Python needed):
docker compose up -dPython version note: the
netifacesdependency can be hard to build on Python 3.12+. Use Python 3.9–3.11, or just use the Docker image (Python 3.11).
server.py— aiohttp server: receiver connections, flight state, APIs, auth.ads-bit.js/index.html— Canvas-based retro viewer.admin/— admin panel, including the in-browserpixel-editor.js.setup/— first-run setup wizard.images/,backgrounds/— sprite and theme assets.
- Frontend assets are cache-busted via a
?v=YYYYMMDD[x]query inadmin/admin.html. If you changeadmin.css,admin.js, orpixel-editor.js, bump that token so browsers reload them. - The
VERSIONconstant inserver.pyis the single source of truth; bump it for releases and add aCHANGELOG.mdentry. - Keep the retro aesthetic (Press Start 2P, blue/gold palette) for UI work.
- Match the style of surrounding code; no frontend framework or build tooling.
- Fork and create a topic branch (
feature/…,fix/…,chore/…). - Make focused commits with clear messages.
- Verify locally: the server starts, the page loads, and your change works.
For Docker changes, confirm
docker buildsucceeds. - Open a pull request describing what changed and how you tested it.
CI will byte-compile the server, validate config.json.example, and build the
Docker image on every PR.
Use the issue templates. For security issues, see SECURITY.md.