---
title: "37 CLI best practices for Node devs"
publication: "Node Weekly"
issue: 631
published_at: "2026-07-02"
canonical_url: "https://nodeweekly.com/issues/631"
---

Plus Nub brings `Worker` to Node, Drizzle's package publishing woes, and building GTK apps.        

#​631 — July 2, 2026 

[Read on the Web](https://nodeweekly.com/issues/631)  

Together with [![agentfield.ai\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_1280,h_229/e_make_transparent/co_white,e_outline:10/kfuqkwkso6tqxqr2r1jz.png)](https://agentfield.ai/github/swe-af/?utm_source=node&utm_medium=newsletter&utm_campaign=node-260702&utm_id=node-260702-github-swe-cta&utm_content=github-swe-cta)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/loqd69ivy01lxicgjmzb.jpg)](https://github.com/nodejs/node/blob/main/doc/contributing/first-contributions.md)  

[So You Want to Land Your First Node.js Core Contribution?](https://github.com/nodejs/node/blob/main/doc/contributing/first-contributions.md) — Joyee Cheung has put together a new, official guide for anyone considering making their _first_ contribution to the Node project, including where to look for issues to work on and how to improve the chances of your work making the cut. 

Joyee Cheung   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/c0d67c99.png)](https://agentfield.ai/github/swe-af/?utm_source=node&utm_medium=newsletter&utm_campaign=node-260702&utm_id=node-260702-github-swe-cta&utm_content=github-swe-cta) 

[Your Autonomous Engineering Team, in TypeScript](https://agentfield.ai/github/swe-af/?utm_source=node&utm_medium=newsletter&utm_campaign=node-260702&utm_id=node-260702-github-swe-cta&utm_content=github-swe-cta) — One call spins up an orchestrated fleet — planner, architect, coders, QA, reviewers — that plans, builds, tests and ships production-grade PRs. TypeScript SDK, agents as typed APIs, open- and closed-source models. 

AgentField.ai sponsor   

[37 Node CLI App Best Practices](https://github.com/lirantal/nodejs-cli-apps-best-practices) — A long-standing, but now modernized, set of guidelines for building _“successful, empathic and user-friendly”_ CLI tools, plus an appendix [rounding up the most popular CLI framework options.](https://github.com/lirantal/nodejs-cli-apps-best-practices#111-cli-frameworks-table) Now also includes [a SKILL.md file](https://github.com/lirantal/nodejs-cli-apps-best-practices/blob/main/skills/nodejs-cli-best-practices/SKILL.md) you can point agents to. 

Liran Tal   

**IN BRIEF:** 

- [Nub](https://nubjs.com/), a toolkit that _adds_ useful features to Node (rather than replacing it), is now a single self-contained binary and has [added a web-standard `Worker` mechanism](https://github.com/nubjs/nub/releases/tag/v0.2.0) to Node.
- 🔒 [npm now locks 'high impact accounts'](https://github.blog/changelog/2026-06-25-npm-adds-preventive-account-protection-for-high-impact-accounts/) (those maintaining the most popular packages) into a 72-hour read-only mode when they change their email or use a 2FA recovery code.
- [npm 11.18.0](https://github.com/npm/cli/releases/tag/v11.18.0) promotes the _linked_ install strategy to stable, where packages are installed in `node_modules/.store` and linked in place, so code can only reach dependencies it actually declared. [More info here](https://docs.npmjs.com/cli/v11/using-npm/config#install-strategy).   

[Why Drizzle ORM Couldn't Publish New Releases on npm for a Month](https://www.vlt.io/blog/packument-size-limits) — As well as explaining why [the popular ORM](https://orm.drizzle.team/) ran into the problem, Evert shares tips to see if you run a similar risk, and how to mitigate it. 

Evert Pot   

[Iterating Faster on VS Code with TypeScript 7](https://code.visualstudio.com/blogs/2026/06/26/iterating-faster-with-ts-7) — The tale of how the VS Code team adopted the Go-based TypeScript 7 compiler and got a 7x reduction in type checking time. 

The VS Code Team (Microsoft)   

📄 [Roll Your Own File-Based Router in Under 50 Lines of Code](https://wasp.sh/blog/2026/07/01/roll-your-own-file-based-router) – One for users of [Wasp](https://wasp.sh/), the Node.js + React + Prisma full-stack framework. Carlos Precioso (Wasp) 

📄 [Finding Memory Leaks with Heap Snapshot Analysis in N|Solid](https://nodesource.com/blog/debug-nodejs-memory-leak-ai-heap-snapshot-analysis) – Using the N|Solid extension to capture a heap snapshot to trace a memory leak in VS Code. Estefany Aguilar (NodeSource)   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kzedvu35x9jp0gdecxg9.jpg)](https://github.com/romgrk/node-gtk)  

[Node-GTK 4.0: GTK Bindings for Node](https://github.com/romgrk/node-gtk) — Bindings to the popular [GTK](https://www.gtk.org/) desktop widget toolkit for building Linux, macOS and Windows apps. Now supports Node 26 and includes an `npx node-gtk create app-name` command to spin up a project. Worked well on macOS once I had the dependencies in place! 

Rom Grk et al.   

[Schedule Node.js Scripts Across Your Server Fleet with xyOps](https://xyops.io) — Run unlimited Node, Shell, HTTP, and Docker jobs with live logs, alerts, snapshots, and visual workflows. Self-hosted. 

xyOps sponsor   

🤖 [Vercel AI SDK 7: An SDK for Working with AI Model Providers](https://vercel.com/blog/ai-sdk-7) — Provider-agnostic library for building AI apps (no Vercel services needed). v7 focuses on _agents_, but adds WebSocket sessions for real-time transcription/voice agents, and video generation support for several providers. 

Martynus, Grammel, Arntz, et al.   

[Electron 43: Faster Startup and V8 15](https://www.electronjs.org/blog/electron-43-0) — Updates to Chromium 150, Node 24.17, and V8 15, with faster startup via a Node boot snapshot and bytecode-cached preloads. Adds rounded corners on Linux, matching Windows and macOS. v43 is also the final line to ship 32-bit binaries. 

John Kleinschmidt   

- [Deno 2.9](https://deno.com/blog/v2.9) – The alternative runtime rolls out its new desktop app generator, improves support for npm/pnpm/yarn/Bun lockfiles, improves its test runner substantially, and more.
- [Git 2.55](https://github.blog/open-source/git/highlights-from-git-2-55/) – Adds `git history fixup` for 'fixing up' earlier commits, faster `git status` on Linux, and more.
- [pg-promise 12.7](https://github.com/vitaly-t/pg-promise/releases/tag/12.7.0) – Node 26 is now officially supported by the popular Postgres client library.
- [Middy 7.7](https://middy.js.org/) – Node.js middleware engine for AWS Lambda. ([Release notes](https://github.com/middyjs/middy/releases/tag/7.7.0))
- [Fastify 5.9](https://github.com/fastify/fastify/releases/tag/v5.9.0) – Lots of bug fixes, and introduces [`request.mediaType`](https://github.com/fastify/fastify/pull/6653).
- [Knex 3.3](https://github.com/knex/knex/releases/tag/3.3.0) – Batteries-included, multi-dialect SQL query builder.
- [JS YAML 5.2](https://github.com/nodeca/js-yaml) – Fast YAML 1.2 parser and writer library. ([Demo.](https://nodeca.github.io/js-yaml/))      

📰 Classifieds   

🚀 [Crystallize is hiring a remote SRE](https://crystallize.com/careers/senior-sre): Node/TS, GraphQL, AWS, MongoDB, Cloudflare Workers.     

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
