<?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: Sarath C</title>
    <description>The latest articles on DEV Community by Sarath C (@sarath_c_2c0682b73ba40259).</description>
    <link>https://dev.to/sarath_c_2c0682b73ba40259</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%2F3844735%2Fbe010e1b-3b1e-4818-8c36-53d6f55120f0.jpg</url>
      <title>DEV Community: Sarath C</title>
      <link>https://dev.to/sarath_c_2c0682b73ba40259</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sarath_c_2c0682b73ba40259"/>
    <language>en</language>
    <item>
      <title>I Built an Autonomous CLI Agent – Here's How It Works</title>
      <dc:creator>Sarath C</dc:creator>
      <pubDate>Fri, 27 Mar 2026 04:26:56 +0000</pubDate>
      <link>https://dev.to/sarath_c_2c0682b73ba40259/i-built-an-autonomous-cli-agent-heres-how-it-works-3gjh</link>
      <guid>https://dev.to/sarath_c_2c0682b73ba40259/i-built-an-autonomous-cli-agent-heres-how-it-works-3gjh</guid>
      <description>&lt;p&gt;I've spent the last several months building &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;Krud AI&lt;/a&gt; — an autonomous CLI agent that understands plain English and executes multi-step tasks in your terminal. Today I want to share how it works, what makes it different, and how you can try it yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every developer I know has the same experience: you're deep in a project, and you need to do something slightly outside your muscle memory. Maybe it's a complex git rebase, a Docker networking issue, or a database migration. You open a browser, search, read Stack Overflow, copy-paste a command, realize it doesn't quite fit your situation, iterate...&lt;/p&gt;

&lt;p&gt;Twenty minutes gone. Flow state broken.&lt;/p&gt;

&lt;p&gt;I wanted a tool that lived in the terminal — where the work actually happens — and could handle these tasks autonomously.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Krud AI Does
&lt;/h2&gt;

&lt;p&gt;Krud AI is a CLI agent. You type what you want in plain English, and it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understands your intent&lt;/strong&gt; — using Claude (Anthropic's AI) to parse your request in context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plans the steps&lt;/strong&gt; — breaks the task into a sequence of shell commands&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Executes autonomously&lt;/strong&gt; — runs commands, reads the output, adapts if something fails&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reports back&lt;/strong&gt; — shows you what it did and what it found&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It's not a chatbot wrapper. It's an agent with real shell access that can iterate on failures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;krud-cli (Rust)
    │
    ├── Auth: Device code flow → dabcloud.in/cli-auth
    ├── Chat: Streaming HTTP to krud-api.onrender.com
    └── UI: Crossterm + purple animated rabbit mascot 🐇

krud-api (FastAPI / Python)
    │
    ├── /v1/chat — Claude API with tool use (bash execution)
    ├── /v1/account — User management
    ├── /v1/billing — Stripe integration
    └── Database: Supabase PostgreSQL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The CLI is written in Rust for performance and a clean binary distribution. The backend is Python/FastAPI because rapid iteration matters more there.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Animated Rabbit
&lt;/h2&gt;

&lt;p&gt;One thing I'm genuinely proud of: the terminal UI. When Krud is thinking, a purple Unicode rabbit animates in-place in your terminal — no screen clearing, no flicker, just smooth in-place updates using ANSI escape codes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  ██ ██
 ████████
██ ████ ██   ← thinking...
  ████████
   ██████
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It uses &lt;code&gt;crossterm&lt;/code&gt; for cross-platform terminal control and a background thread with &lt;code&gt;AtomicBool&lt;/code&gt; for clean cancellation.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Try It
&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;# macOS&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;max345789/tap/krud

&lt;span class="c"&gt;# Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://dabcloud.in/install.sh | bash

&lt;span class="c"&gt;# Then&lt;/span&gt;
krud login
krud &lt;span class="s2"&gt;"find all TODO comments in this repo and summarize them"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get a free trial — no credit card required to start.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;File context&lt;/strong&gt;: Automatically include relevant files when you ask about code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project memory&lt;/strong&gt;: Remember decisions you've made across sessions
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Team sharing&lt;/strong&gt;: Share agent sessions with your team&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CLI&lt;/strong&gt;: Rust, crossterm, tokio, reqwest&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Python, FastAPI, Claude API, Stripe, Supabase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Landing page&lt;/strong&gt;: Next.js 14, deployed on Vercel at &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;dabcloud.in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infra&lt;/strong&gt;: Render (backend), Vercel (frontend), GitHub Actions (CI/CD)&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I'd love to hear your thoughts. What tasks do you find yourself doing repeatedly in the terminal that you'd love to automate? Drop them in the comments — it helps me prioritize the roadmap.&lt;/p&gt;

&lt;p&gt;Try it at &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;dabcloud.in&lt;/a&gt; or check out the &lt;a href="https://github.com/max345789/krud-ai" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cli</category>
    </item>
    <item>
      <title>I Built an Autonomous CLI Agent – Here's How It Works</title>
      <dc:creator>Sarath C</dc:creator>
      <pubDate>Fri, 27 Mar 2026 03:51:15 +0000</pubDate>
      <link>https://dev.to/sarath_c_2c0682b73ba40259/i-built-an-autonomous-cli-agent-heres-how-it-works-59g4</link>
      <guid>https://dev.to/sarath_c_2c0682b73ba40259/i-built-an-autonomous-cli-agent-heres-how-it-works-59g4</guid>
      <description>&lt;p&gt;I've spent the last several months building &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;Krud AI&lt;/a&gt; — an autonomous CLI agent that understands plain English and executes multi-step tasks in your terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every developer I know has the same experience: you're deep in a project and need to do something slightly outside your muscle memory — a complex git rebase, Docker networking, a database migration. You open a browser, search, copy-paste, iterate...&lt;/p&gt;

&lt;p&gt;Twenty minutes gone. Flow state broken.&lt;/p&gt;

&lt;p&gt;I wanted a tool that lived in the terminal — where the work actually happens — and could handle these tasks autonomously.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Krud AI Does
&lt;/h2&gt;

&lt;p&gt;Krud AI is a CLI agent. You type what you want in plain English, and it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understands your intent&lt;/strong&gt; — using Claude (Anthropic's AI)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plans the steps&lt;/strong&gt; — breaks the task into shell commands&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Executes autonomously&lt;/strong&gt; — runs commands, reads output, adapts on failure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reports back&lt;/strong&gt; — shows what it did and found&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It's not a chatbot wrapper. It's an agent with real shell access.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;krud-cli (Rust)
    ├── Auth: Device code flow → dabcloud.in/cli-auth
    ├── Chat: Streaming HTTP to krud-api.onrender.com
    └── UI: Crossterm + purple animated rabbit mascot

krud-api (FastAPI)
    ├── /v1/chat — Claude API with tool use (bash execution)
    ├── /v1/account — User management
    ├── /v1/billing — Stripe
    └── Database: Supabase PostgreSQL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Animated Rabbit
&lt;/h2&gt;

&lt;p&gt;When Krud is thinking, a purple Unicode rabbit animates in-place — no screen clearing, smooth ANSI in-place updates using &lt;code&gt;crossterm&lt;/code&gt; and a background thread with &lt;code&gt;AtomicBool&lt;/code&gt; cancellation.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Try It
&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;# macOS&lt;/span&gt;
brew &lt;span class="nb"&gt;install &lt;/span&gt;max345789/tap/krud

&lt;span class="c"&gt;# Linux&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://dabcloud.in/install.sh | bash

&lt;span class="c"&gt;# Then&lt;/span&gt;
krud login
krud &lt;span class="s2"&gt;"find all TODO comments in this repo and summarize them"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Free trial, no credit card required.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CLI&lt;/strong&gt;: Rust, crossterm, tokio, reqwest&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Python, FastAPI, Claude API, Stripe, Supabase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: Next.js 14 on Vercel at &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;dabcloud.in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infra&lt;/strong&gt;: Render, Vercel, GitHub Actions&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;What terminal tasks do you do repeatedly that you'd love to automate? Drop them in the comments!&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;dabcloud.in&lt;/a&gt; | &lt;a href="https://github.com/max345789/krud-ai" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cli</category>
      <category>ai</category>
      <category>terminal</category>
      <category>devtools</category>
    </item>
    <item>
      <title>I Built an Autonomous CLI Agent – Here's How It Works</title>
      <dc:creator>Sarath C</dc:creator>
      <pubDate>Thu, 26 Mar 2026 18:16:00 +0000</pubDate>
      <link>https://dev.to/sarath_c_2c0682b73ba40259/i-built-an-autonomous-cli-agent-heres-how-it-works-1m83</link>
      <guid>https://dev.to/sarath_c_2c0682b73ba40259/i-built-an-autonomous-cli-agent-heres-how-it-works-1m83</guid>
      <description>&lt;p&gt;I've spent the last several months building &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;Krud AI&lt;/a&gt; — an autonomous CLI agent that operates entirely in your terminal. No browser, no IDE plugin, no copy-pasting suggestions. It just &lt;em&gt;acts&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: AI That Helps But Doesn't Do
&lt;/h2&gt;

&lt;p&gt;Most AI developer tools fall into one of two patterns:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Chat-based&lt;/strong&gt; — you describe a problem, the AI returns text, you implement it yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inline suggestions&lt;/strong&gt; — you write code, the AI autocompletes the next line.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both are useful. Neither is autonomous.&lt;/p&gt;

&lt;p&gt;What I kept wanting was something that could take a goal like &lt;em&gt;"this test suite is failing on CI, fix it"&lt;/em&gt; and actually go fix it — running commands, reading logs, making changes, verifying the result — while I worked on something else.&lt;/p&gt;

&lt;p&gt;That's what I built.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Krud AI Actually Does
&lt;/h2&gt;

&lt;p&gt;Krud AI is a CLI agent. You run it in your terminal, describe a task in plain English, and it executes it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://install.krud.ai | sh
krud login
krud chat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, you talk to it like a colleague who has full access to your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; The integration tests are failing after I added the new auth middleware. Fix it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Krud will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plan&lt;/strong&gt; — break the goal into concrete steps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execute&lt;/strong&gt; — run shell commands in your real environment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observe&lt;/strong&gt; — read stdout and stderr, detect errors, adapt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complete&lt;/strong&gt; — finish the task or ask a targeted question&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;The core loop is a standard LLM agent loop with tool use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[user goal] → [plan] → [execute shell command] → [observe output] → [adapt] → [repeat]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What's less standard is the &lt;strong&gt;rolling token budget&lt;/strong&gt; system. Long autonomous tasks generate a lot of context. The rolling budget dynamically summarizes older context while keeping recent tool outputs verbatim — letting Krud handle long multi-step workflows without losing state.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real Use Cases
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Debugging CI failures:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;&amp;gt;&lt;/span&gt; &lt;span class="err"&gt;My&lt;/span&gt; &lt;span class="err"&gt;GitHub&lt;/span&gt; &lt;span class="err"&gt;Actions&lt;/span&gt; &lt;span class="err"&gt;build&lt;/span&gt; &lt;span class="err"&gt;is&lt;/span&gt; &lt;span class="err"&gt;failing.&lt;/span&gt; &lt;span class="err"&gt;Here's&lt;/span&gt; &lt;span class="err"&gt;the&lt;/span&gt; &lt;span class="err"&gt;workflow&lt;/span&gt; &lt;span class="err"&gt;file.&lt;/span&gt; &lt;span class="err"&gt;Fix&lt;/span&gt; &lt;span class="err"&gt;it.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Scaffolding from a description:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;Create&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;FastAPI&lt;/span&gt; &lt;span class="n"&gt;service&lt;/span&gt; &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;Postgres&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Docker&lt;/span&gt; &lt;span class="n"&gt;Compose&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;healthz&lt;/span&gt; &lt;span class="n"&gt;endpoint&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Automated git workflows:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; All changes &lt;span class="k"&gt;in &lt;/span&gt;this PR are reviewed. Squash-merge to main.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Cross-file refactoring:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Rename the User model to Account across the entire codebase, including tests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What Makes It Different
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Copilot CLI&lt;/strong&gt; is great for single-command suggestions. It doesn't execute multi-step workflows autonomously.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Warp AI&lt;/strong&gt; is a beautiful terminal emulator with AI features. It's not autonomous — it still relies on you to run commands.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Krud AI&lt;/strong&gt; is purpose-built for autonomy. It executes, observes, and adapts on its own.&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;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://install.krud.ai | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supports macOS Apple Silicon, macOS Intel, and Linux x86_64.&lt;/p&gt;

&lt;p&gt;Free trial, no credit card: &lt;a href="https://dabcloud.in" rel="noopener noreferrer"&gt;https://dabcloud.in&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/max345789/krud-ai" rel="noopener noreferrer"&gt;https://github.com/max345789/krud-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback — especially from people running it on Linux or unusual setups.&lt;/p&gt;

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