The Bench family shares one npm workspace but keeps three separate applications and Cloudflare runtime boundaries.
| Project | Purpose |
|---|---|
| Codebench | QR and barcode studio |
| Docbench | local-first document and PDF studio |
| Streambench | IPTV, radio, HLS, M3U and XMLTV workshop |
Develop#
Run one project with npm run check:<name> or npm run build:<name>.
Why one workspace?#
Dependency installation, the lockfile, and common CI entry points are shared. The applications still have independent wrangler.jsonc files and deployment boundaries, so changing one Bench normally rebuilds only that one. Changes to the shared workspace manifest or lockfile intentionally affect all three.