<?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>DEV Community: arnel</title>
    <description>The latest articles on DEV Community by arnel (@sadi145).</description>
    <link>https://dev.to/sadi145</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%2F3806232%2F3577b37f-9c9b-4e40-bc6c-2f361fca7cf1.png</url>
      <title>DEV Community: arnel</title>
      <link>https://dev.to/sadi145</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sadi145"/>
    <language>en</language>
    <item>
      <title>I built a Rust CLI that analyzes your errors and tells you exactly how to fix them</title>
      <dc:creator>arnel</dc:creator>
      <pubDate>Wed, 04 Mar 2026 16:58:10 +0000</pubDate>
      <link>https://dev.to/sadi145/i-built-a-rust-cli-that-analyzes-your-errors-and-tells-you-exactly-how-to-fix-them-35b0</link>
      <guid>https://dev.to/sadi145/i-built-a-rust-cli-that-analyzes-your-errors-and-tells-you-exactly-how-to-fix-them-35b0</guid>
      <description>&lt;h1&gt;
  
  
  I built a Rust CLI that analyzes your errors and tells you how to fix them
&lt;/h1&gt;

&lt;p&gt;Every developer knows the feeling. You run a command, get a cryptic error, and spend the next 20 minutes on Google trying to figure out what went wrong.&lt;/p&gt;

&lt;p&gt;I got tired of it. So I built &lt;strong&gt;bugsight&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is bugsight?
&lt;/h2&gt;

&lt;p&gt;bugsight is a fast CLI tool written in Rust that analyzes errors, stack traces and logs — and tells you exactly how to fix them, directly in your terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo build 2&amp;gt;&amp;amp;1 | bugsight
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Pipe any command output and bugsight does the rest.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;bugsight has two layers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Local parsers (instant, offline)&lt;/strong&gt;&lt;br&gt;
Built-in pattern matching for the most common errors across 7 languages and tools. Zero latency, no API call needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. AI fallback (Groq)&lt;/strong&gt;&lt;br&gt;
If no parser matches, bugsight sends the error to Groq's free API (LLaMA 3.3 70B) and gets a clear explanation + fix in under a second.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Pipe mode&lt;/span&gt;
cargo build 2&amp;gt;&amp;amp;1 | bugsight

Analyzing  thread &lt;span class="s1"&gt;'main'&lt;/span&gt; panicked at &lt;span class="s1"&gt;'index out of bounds'&lt;/span&gt;
Type       Runtime Panic
Message    index out of bounds: len is 3, index is 5
Fix        Use .get&lt;span class="o"&gt;(&lt;/span&gt;i&lt;span class="o"&gt;)&lt;/span&gt; instead of &lt;span class="o"&gt;[&lt;/span&gt;i] to avoid panics.

&lt;span class="c"&gt;# Explain mode&lt;/span&gt;
bugsight &lt;span class="nt"&gt;--explain&lt;/span&gt; &lt;span class="s1"&gt;'permission denied: config.toml'&lt;/span&gt;

Analyzing  permission denied: config.toml
Type       Permission Error
Fix        Try &lt;span class="nb"&gt;sudo &lt;/span&gt;or check file permissions with &lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;&lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# File mode&lt;/span&gt;
bugsight &lt;span class="nt"&gt;--file&lt;/span&gt; logs/error.log

Scanning   47 lines...
Done       3 errors detected and analyzed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Supported languages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Rust — panics, compile errors, unwrap errors&lt;/li&gt;
&lt;li&gt;Go — nil pointer, index out of range, missing modules&lt;/li&gt;
&lt;li&gt;Python — ModuleNotFoundError, TypeError, KeyError, IndentationError&lt;/li&gt;
&lt;li&gt;Node.js — Cannot find module, undefined property, EADDRINUSE&lt;/li&gt;
&lt;li&gt;Docker — daemon not running, permission denied, port conflicts&lt;/li&gt;
&lt;li&gt;Git — merge conflicts, push rejected, SSH errors&lt;/li&gt;
&lt;li&gt;General — permission denied, file not found&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Install
&lt;/h2&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;bugsight
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Optional: AI setup
&lt;/h2&gt;

&lt;p&gt;bugsight works great without AI for known errors. For unknown errors, set up a free Groq API key:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a free account at &lt;strong&gt;console.groq.com&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generate an API key&lt;/li&gt;
&lt;li&gt;Export it:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;GROQ_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;gsk_xxxxxx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;I wanted bugsight to be fast and reliable. Rust gave me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Near-instant startup time&lt;/li&gt;
&lt;li&gt;Strong pattern matching with the &lt;code&gt;regex&lt;/code&gt; crate&lt;/li&gt;
&lt;li&gt;A great CLI ecosystem (&lt;code&gt;clap&lt;/code&gt;, &lt;code&gt;colored&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Easy distribution via &lt;code&gt;cargo install&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What I learned building this
&lt;/h2&gt;

&lt;p&gt;This was my first published Rust project. A few things I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;cargo publish&lt;/code&gt; requires a verified email on crates.io&lt;/li&gt;
&lt;li&gt;GitHub Actions with &lt;code&gt;cargo fmt --check&lt;/code&gt; and &lt;code&gt;cargo clippy&lt;/code&gt; catches a lot of issues before they reach main&lt;/li&gt;
&lt;li&gt;The Rust community is incredibly welcoming — even on Discord&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;More parsers (Java, PHP, Ruby...)&lt;/li&gt;
&lt;li&gt;Interactive mode&lt;/li&gt;
&lt;li&gt;Config file (&lt;code&gt;~/.bugsight.toml&lt;/code&gt;) for custom patterns&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Contribute
&lt;/h2&gt;

&lt;p&gt;bugsight is open source and contributions are very welcome. Adding a new parser is straightforward — create a file in &lt;code&gt;src/parsers/&lt;/code&gt;, implement the &lt;code&gt;parse&lt;/code&gt; function and add tests.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/Arnel-rah/bugsight" rel="noopener noreferrer"&gt;github.com/Arnel-rah/bugsight&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;crates.io: &lt;a href="https://crates.io/crates/bugsight" rel="noopener noreferrer"&gt;crates.io/crates/bugsight&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Would love to hear your feedback. What errors do you run into most often? I'll add a parser for it.&lt;/p&gt;

</description>
      <category>rust</category>
      <category>opensource</category>
      <category>cli</category>
      <category>debugging</category>
    </item>
  </channel>
</rss>
