Tracks completion of the steps in PLAN.md §10.
- LICENSE (MIT, Mannes Brak)
- .github/FUNDING.yml
- .github/workflows/ci.yml
- .github/workflows/release.yml
- .gitignore
- package.json
- tsconfig.json (wide, noEmit)
- tsconfig.build.json (narrow, emits to dist)
- eslint.config.js
- vitest.config.ts
- bin/thermal-label.js (shebang + dynamic import)
- src/index.ts (placeholder, wired in Step 7)
- PROGRESS.md / DECISIONS.md / BLOCKERS.md
-
pnpm installcompletes cleanly - Commit
-
src/discovery.ts—loadDrivers,listDriverStatus,KNOWN_DRIVERS -
src/__tests__/discovery.test.ts— all mocked, no real driver imports - Gate: typecheck + lint + test + build
- Commit
-
src/commands/list.ts -
src/__tests__/list.test.ts - Gate: typecheck + lint + test + build
- Commit
-
src/commands/status.ts -
src/commands/select.ts(shared printer-selection logic) -
src/__tests__/status.test.ts - Gate: typecheck + lint + test + build
- Commit
-
src/render.ts—renderTextLabel,renderImageLabel,labelBitmapToRawImageData -
src/__tests__/render.test.ts— added early for coverage - Gate: typecheck + lint + test + build
- Commit
-
src/commands/print-text.ts -
src/commands/print-image.ts -
src/__tests__/print-text.test.ts -
src/__tests__/print-image.test.ts - Gate: typecheck + lint + test + build
- Commit
-
src/index.ts— commander program setup, wire all commands - Verify
node bin/thermal-label.js --helpworks - Verify
node bin/thermal-label.js list --driversagainst real (unretrofitted) drivers - Gate: typecheck + lint + test + build
- Commit
- Publish-ready per PLAN §8
- Commit
-
pnpm test:coverage— thresholds pass (95/84/81/95) - Verify all PROGRESS.md checkboxes ticked
- Commit
- Bump
@thermal-label/contractsto^0.2.0 -
statuscommand formatsmedia.palette.length-colour instead ofcolorCapable - Test fixtures drop
colorCapable: false(status.test.ts,print-text.test.ts,print-image.test.ts) - Gates green (typecheck, lint, format, test, build)