Managing Development Tools, Runtimes and Environments with mise

Figure 1. Mise Cover Image Managing different versions of programming languages and command-line tools across projects is a recurring pain. One project needs Node 18, another Node 22, a third pins Python 3.11 while your system ships 3.12. Traditionally we solved this with a zoo of single-purpose version managers like nvm, pyenv, rbenv, sdkman or asdf. mise (pronounced "meez", short for mise-en-place) replaces all of them with a single, fast tool written in Rust. It manages tool versions, per-project environment variables and project tasks – roughly asdf + direnv + a task runner in one binary. ...

August 26, 2026 · 5 min · 856 words · Micha Kops

Using Bun for Fast JavaScript Development and Testing

Bun is a fast all-in-one JavaScript runtime and toolkit designed as a drop-in replacement for Node.js. It implements a native bundler, transpiler, task runner, and npm-compatible package manager - all in a single executable. Bun focuses on three main design goals: Speed (Bun starts fast and runs fast), Elegant APIs (minimal set of highly-optimized APIs), and Cohesive Developer Experience (complete toolkit for building JavaScript apps). In the following tutorial I’m going to demonstrate how to use Bun for common development tasks like package management, running TypeScript, bundling, and testing. ...

July 15, 2026 · 5 min · 967 words · Micha Kops