$ open source · GPL-3.0 — need a commercial license? imqueue.com →

Developer experience

Articles on developer experience in Node.js microservices: cutting boilerplate, generated typed clients, running a local fleet, and isolated CLI environments.

6 articles

Jul 23, 2026 · Andrii Glushko

One isolated imq CLI home per @imqueue project

Every imq invocation shares one ~/.imq — one config, one pid registry, one set of logs. Here's how to give each project its own isolated CLI environment with IMQ_CLI_HOME, plus recipes for direnv, shell wrappers, per-client tokens and disposable sandboxes.

read →
Jul 19, 2026 · Serhiy Morenko

Type-safe service-to-service communication in TypeScript

End-to-end types across service boundaries are easy inside one process and hard the moment you cross a network. Here's how to keep them without hand-writing clients or maintaining a schema language.

read →
Jul 17, 2026 · Serhiy Morenko

Stop hand-writing and maintaining your microservice clients

Every service you call needs a client, and hand-maintained clients drift out of sync with the services they talk to. Here's why that happens and how to make the client fall out of the service for free.

read →
Jul 4, 2026 · Serhiy Morenko

Cutting the boilerplate out of Node.js microservices

Most of a new service's first commit is ceremony — transport wiring, serialization, a client, CI, a Dockerfile. Here's where the boilerplate hides and how to stop writing it by hand.

read →
Jul 2, 2026 · Serhiy Morenko

Versioning microservices without breaking every caller

A change to one service's method quietly breaks the services that call it — and you find out in production. Here's how to make breaking changes loud at build time and coordinate releases across a fleet.

read →
Jun 29, 2026 · Serhiy Morenko

Testing services that call each other

Integration tests that require every service and its infrastructure running are slow, flaky, and painful. Here's a layered approach that tests most of your logic without spinning up the world.

read →