One contract surface
@thermal-label/contracts defines Transport, PrinterAdapter, PrinterDiscovery, media, status, and errors — types only, safe in Node and browsers.
Contracts, transports, and device families — embed printing in Node or Chromium without a vendor SDK.
If you maintain a warehouse app, a SaaS shipping integration, a kiosk, or an internal tool that must talk to a label printer from TypeScript, you are in the right place. The code is MIT-licensed, split into packages you can depend on selectively, and designed so hardware details stay inside driver packages while your product code stays boring.
If you need templates, barcodes, CSV batches, and sheet PDFs, pair these drivers with burnmark-io — same printer ecosystem, different layer. The unified thermal-label-cli here stays intentionally small: list printers, read status, quick text/image prints for diagnostics and scripts.
thermal-label command reference mindset.