Product

Developer tooling

Four small npm packages pulled out of my own projects: release tooling for Wails, an encrypted room primitive, a PWA install prompt, and an app icon pipeline.

May 21, 2026

TypeScriptnpmToolingOpen source

Started
21 May 2026
Status
Live
Signal
4 npm packages

The question

Which parts of my own build setup are actually worth extracting?

Every project accumulates glue code: the release script, the icon generation step, the install prompt you rewrite for the third time. Most of it stays buried in one repo. Four pieces kept following me from project to project, so on 21 May 2026 I pulled them out and published them.

The packages

wails-release-kit: release tooling for Wails desktop apps. The versioning, build and packaging steps I was re-copying between the PeerDrift and DocShift desktop shells.

web-crypto-room: an ephemeral encrypted room primitive built on the Web Crypto API: a key derived from a short room code, AES-GCM payloads, and nothing that outlives the session. It came out of PeerDrift.

pwa-install-prompt: a small wrapper around the beforeinstallprompt event so a PWA can offer installation at a sensible moment instead of never or immediately.

app-icon-pipeline: one source image in, every icon size and manifest entry out. Written because I kept doing it by hand.

Why one day

They were not written that day. They were extracted that day. Each one already existed inside a working project, which is the only reason the extraction was quick: the code had been in use long enough that I knew which parts were general and which were specific to one app.

What I learned

My rule now is that a package is worth publishing once I have copied it twice.

Keeping the scope to one job meant none of the four needed a configuration system, which is most of the reason they were quick to publish.

Half the work was deleting the parts that only made sense in the original project. Extraction is mostly a naming exercise: you find out which of your assumptions were general and which were about one app.

All four are published under npmjs.com/~tonycletus.

← All products