<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: FurryMonster</title>
    <description>The latest articles on Forem by FurryMonster (@furrymonster).</description>
    <link>https://forem.com/furrymonster</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2233299%2Ff55b7698-4b30-4822-9c58-d8c564d873e5.png</url>
      <title>Forem: FurryMonster</title>
      <link>https://forem.com/furrymonster</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/furrymonster"/>
    <language>en</language>
    <item>
      <title>Vibe Coding an AI-Powered Command Corrector in Rust over the Weekend</title>
      <dc:creator>FurryMonster</dc:creator>
      <pubDate>Sat, 11 Apr 2026 10:52:09 +0000</pubDate>
      <link>https://forem.com/furrymonster/vibe-coding-an-ai-powered-command-corrector-in-rust-over-the-weekend-2mah</link>
      <guid>https://forem.com/furrymonster/vibe-coding-an-ai-powered-command-corrector-in-rust-over-the-weekend-2mah</guid>
      <description>&lt;p&gt;We’ve all been there: you type a complex command, hit enter, and get a face-full of &lt;code&gt;command not found&lt;/code&gt; or a cryptic shell error. Usually, you’d reach for the legendary &lt;strong&gt;thefuck&lt;/strong&gt; to fix it. But this weekend, I decided to take a different path. &lt;/p&gt;

&lt;p&gt;Driven by the "Vibe Coding" trend—leveraging AI to bridge the gap between idea and execution—I built &lt;strong&gt;idoit&lt;/strong&gt;: a high-performance, AI-powered CLI command corrector written entirely in &lt;strong&gt;Rust&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why idoit?
&lt;/h2&gt;

&lt;p&gt;While inspired by the classic &lt;code&gt;thefuck&lt;/code&gt; project, I wanted something that felt native to a modern, memory-safe workflow. Using Rust wasn't just about speed; it was about building a CLI tool that is lightweight and easily distributable.&lt;/p&gt;

&lt;p&gt;The core premise is simple: you mess up, you type &lt;code&gt;idoit&lt;/code&gt;, and the AI figures out what you &lt;em&gt;actually&lt;/em&gt; meant to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Under the Hood?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rust-Powered:&lt;/strong&gt; Built for performance and safety.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-Driven Corrections:&lt;/strong&gt; Instead of relying solely on hardcoded regex or rules, &lt;strong&gt;idoit&lt;/strong&gt; uses LLMs to interpret your intent based on the failed command and shell output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command Explanation:&lt;/strong&gt; It doesn't just fix your mistakes; it explains &lt;em&gt;why&lt;/em&gt; the new command works, helping you learn your shell better.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Platform (Experimental):&lt;/strong&gt; While I developed and polished this on &lt;strong&gt;Linux (Debian/Ubuntu)&lt;/strong&gt;, the codebase is packaged for macOS and Windows.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Vibe Coding Experience
&lt;/h2&gt;

&lt;p&gt;The development process was a whirlwind. Most of the logic was "vibed" into existence—iterating rapidly with AI to handle the boilerplate while I focused on the architecture and the custom &lt;code&gt;.msp&lt;/code&gt; script interpretation logic that powers the dialogue system.&lt;/p&gt;

&lt;p&gt;It’s not perfect yet. The latency and stability need some tuning, but the core functionality—correction and explanation—is solid and ready for a test drive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;If you have a Rust environment set up, you can try it right now. It's already published on crates.io:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo &lt;span class="nb"&gt;install &lt;/span&gt;idoit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  We're Open for PRs!
&lt;/h2&gt;

&lt;p&gt;I’ve released the source on GitHub: &lt;a href="https://github.com/Furry-Monster/idoit" rel="noopener noreferrer"&gt;Furry-Monster/idoit&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current Status:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linux:&lt;/strong&gt; Fully tested and working.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mac/Windows:&lt;/strong&gt; Binaries are ready, but I need "boots on the ground" to verify how they handle different terminal environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re a Rustacean or a CLI enthusiast, I’d love for you to give it a spin. Whether it’s fixing a bug, optimizing the AI prompts, or suggesting a new feature (like the &lt;code&gt;--learn&lt;/code&gt; or &lt;code&gt;--fix&lt;/code&gt; context awareness I'm planning), all contributions and feedback are welcome!&lt;/p&gt;

&lt;p&gt;Let’s make the shell a little less punishing, one "vibe" at a time.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cli</category>
      <category>rust</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
