CLI toolkit for TRMNL e-ink displays. Send, validate, preview, and track payloads — all from your terminal.
npm install -g trmnl-cli@latestRequires Node.js 22.6.0 or later. Or run without installing:
npx trmnl-cli@latest --help# 1. Register a webhook plugin
trmnl plugin add home "https://trmnl.com/api/custom_plugins/YOUR_UUID"
# 2. Send content to your display
trmnl send --content '<div class="layout">Hello TRMNL!</div>'
# 3. Or send from a file
trmnl send --file ./output.html
# 4. Preview locally before sending (requires Playwright)
trmnl preview --file ./output.html --open| Command | Description |
|---|---|
trmnl send |
Send content to a TRMNL display |
trmnl validate |
Validate payload size without sending |
trmnl preview |
Render and screenshot content locally |
trmnl framework |
Manage cached TRMNL CSS/JS framework |
trmnl plugin |
Add, remove, and manage webhook plugins |
trmnl config |
Show current configuration |
trmnl tier |
Get or set payload size tier (free/plus) |
trmnl history |
View and filter send history |
See the CLI README for the full command reference.
This is a pnpm monorepo. Only trmnl-cli is published to npm.
| Directory | Package | Description |
|---|---|---|
packages/cli |
trmnl-cli |
CLI tool (published to npm) |
packages/renderer |
trmnl-renderer |
Screen renderer for local preview (bundled into CLI at build time) |
packages/skill |
— | Reference docs for AI-assisted content generation |
pnpm install
pnpm run build
pnpm -r testRun the CLI from source:
cd packages/cli
pnpm run dev -- send --help- Fork and create a feature branch
- Make your changes
- Add a changeset:
pnpm changeset - Open a pull request
See RELEASE.md for the full release process.
MIT