<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Devtools on Micha Kops&#39; Tech Notes</title>
    <link>https://www.hascode.com/tags/devtools/</link>
    <description>Recent content in Devtools on Micha Kops&#39; Tech Notes</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Copyright © 2010 - 2025 Micha Kops. #e9d956c0c0154a221ad83c925346a8fa0e72f866</copyright>
    <lastBuildDate>Wed, 26 Aug 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://www.hascode.com/tags/devtools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Managing Development Tools, Runtimes and Environments with mise</title>
      <link>https://www.hascode.com/managing-development-tools-runtimes-and-environments-with-mise/</link>
      <pubDate>Wed, 26 Aug 2026 00:00:00 +0200</pubDate>
      <guid>https://www.hascode.com/managing-development-tools-runtimes-and-environments-with-mise/</guid>
      <description>&lt;div id=&#34;preamble&#34;&gt;
&lt;div class=&#34;sectionbody&#34;&gt;
&lt;div class=&#34;imageblock&#34;&gt;
&lt;div class=&#34;content&#34;&gt;
&lt;img src=&#34;mise-cover-image.png&#34; alt=&#34;Mise article cover image&#34; width=&#34;60%&#34;/&gt;
&lt;/div&gt;
&lt;div class=&#34;title&#34;&gt;Figure 1. Mise Cover Image&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;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 &lt;em&gt;nvm&lt;/em&gt;, &lt;em&gt;pyenv&lt;/em&gt;, &lt;em&gt;rbenv&lt;/em&gt;, &lt;em&gt;sdkman&lt;/em&gt; or &lt;em&gt;asdf&lt;/em&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;paragraph&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://mise.jdx.dev/&#34;&gt;mise&lt;/a&gt; (pronounced &amp;#34;meez&amp;#34;, short for &lt;em&gt;mise-en-place&lt;/em&gt;) replaces all of them with a single, fast tool written in Rust. It manages tool versions, per-project environment variables and project tasks – roughly &lt;em&gt;asdf&lt;/em&gt; + &lt;em&gt;direnv&lt;/em&gt; + a task runner in one binary.&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
