<?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: Emmanuel Ene Rejoice Gideon </title>
    <description>The latest articles on DEV Community by Emmanuel Ene Rejoice Gideon  (@emmanuel_erogian).</description>
    <link>https://dev.to/emmanuel_erogian</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4071781%2F63e3b17e-540a-48aa-8c7c-9d366dc5a530.jpg</url>
      <title>DEV Community: Emmanuel Ene Rejoice Gideon </title>
      <link>https://dev.to/emmanuel_erogian</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emmanuel_erogian"/>
    <language>en</language>
    <item>
      <title>I Dogfooded My 49KB AI Coding Agent — It Fought Back 5 Times</title>
      <dc:creator>Emmanuel Ene Rejoice Gideon </dc:creator>
      <pubDate>Sat, 05 Sep 2026 16:13:58 +0000</pubDate>
      <link>https://dev.to/emmanuel_erogian/i-dogfooded-my-49kb-ai-coding-agent-it-fought-back-5-times-5hnc</link>
      <guid>https://dev.to/emmanuel_erogian/i-dogfooded-my-49kb-ai-coding-agent-it-fought-back-5-times-5hnc</guid>
      <description>&lt;p&gt;Yesterday I wrote about &lt;a href="https://dev.to/emmanuel_erogian/i-built-an-ai-coding-agent-that-ships-in-under-50kb-zero-dependencies-runs-on-a-phone-2c8c"&gt;building an AI coding agent that ships in under 50KB&lt;/a&gt;. A fair comment kept coming up: &lt;em&gt;"sounds cool, but does it actually work?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Fair question. So today I did the thing every builder dreads: I dogfooded the version sitting on npm — not my dev repo, the actual &lt;code&gt;npm i -g stew-ai&lt;/code&gt; package a stranger would get.&lt;/p&gt;

&lt;p&gt;It fought back. Five times.&lt;/p&gt;

&lt;h2&gt;
  
  
  Round 1: The auth flow was broken
&lt;/h2&gt;

&lt;p&gt;First command a new user runs after installing is either &lt;code&gt;stew register&lt;/code&gt; or &lt;code&gt;stew login &amp;lt;key&amp;gt;&lt;/code&gt;. Here's what 2.7.5 actually did:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ stew whoami
❌ Error: apiKey is not defined
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A &lt;code&gt;ReferenceError&lt;/code&gt;. In production. The &lt;code&gt;whoami&lt;/code&gt; command referenced an &lt;code&gt;apiKey&lt;/code&gt; variable that was scoped to a &lt;em&gt;different function&lt;/em&gt; — a classic closure bug that my offline tests never caught, because the broken path only triggers when a real key exists in &lt;code&gt;~/.stew/config.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;While fixing it, I found four more:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;whoami&lt;/code&gt; crash&lt;/strong&gt; — the scope bug above. &lt;code&gt;apiKey&lt;/code&gt; lived in &lt;code&gt;authCommand&lt;/code&gt;, not &lt;code&gt;whoamiCommand&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;stew login &amp;lt;key&amp;gt;&lt;/code&gt; ignored the key&lt;/strong&gt; — the CLI treated the first argument as the action name, so your key was parsed as a command and you got dropped into the interactive prompt anyway.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;register()&lt;/code&gt; sent the wrong field name&lt;/strong&gt; — the SDK posted &lt;code&gt;full_name&lt;/code&gt; while the FastAPI backend expects &lt;code&gt;name&lt;/code&gt;. A silent 422.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;usage()&lt;/code&gt; authenticated wrong&lt;/strong&gt; — the SDK sent the key as a Bearer header while the endpoint expects an &lt;code&gt;api_key&lt;/code&gt; query param. &lt;code&gt;whoami&lt;/code&gt; could never show your plan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;422 errors printed as &lt;code&gt;[object Object]&lt;/code&gt;&lt;/strong&gt; — FastAPI validation errors were stringified raw, so users saw garbage instead of "Missing/invalid field: name".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Five bugs. All in the first 60 seconds of a new user's experience. All invisible in my test suite.&lt;/p&gt;

&lt;p&gt;This is why you dogfood the &lt;em&gt;published&lt;/em&gt; artifact. My tests ran against source files; the bug shipped anyway.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix: same day, with receipts
&lt;/h2&gt;

&lt;p&gt;All five fixes went into &lt;a href="https://www.npmjs.com/package/stew-ai/v/2.7.6" rel="noopener noreferrer"&gt;v2.7.6&lt;/a&gt;, plus five regression tests so each bug can never quietly return:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;auth: whoamiCommand no longer throws ReferenceError (apiKey scoped)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...);&lt;/span&gt;
&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;auth: direct alias routing — "stew login &amp;lt;key&amp;gt;" passes key, not action&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...);&lt;/span&gt;
&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;SDK: register() sends "name" field (backend contract), not full_name&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...);&lt;/span&gt;
&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;SDK: usage() passes api_key as query param (backend contract)&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...);&lt;/span&gt;
&lt;span class="nf"&gt;check&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;StewError: FastAPI 422 detail array becomes readable message&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;26/26 pass, package is 49.1KB — still under the 50KB budget, still zero dependencies.&lt;/p&gt;

&lt;p&gt;And the flow a user actually experiences now:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ stew login stew_O9X...
✅ Logged in! API key saved to ~/.stew/config.json

$ stew whoami
👤 S.T.E.W Account
  API Key: stew_O9X...P8b2
  Plan: free
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Round 2: Actually building something
&lt;/h2&gt;

&lt;p&gt;Auth works — fine. But the real question was whether the agent could code. So I opened the REPL (&lt;code&gt;stew code&lt;/code&gt;) and asked it to build a single-file landing page for a fictional Afrobeat festival in my hometown:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a stunning single-file index.html for a fictional Afrobeat concert in Enugu, Nigeria called 'Enugu Sound Fest 2026'. Dark theme, orange/green gradient accents, animated hero, artist lineup grid, live countdown timer, tickets section. Pure HTML/CSS/JS, no external dependencies.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It generated the whole page — hero, lineup grid, countdown, tickets. But when I opened the file, one line was broken:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   &lt;span class="c1"&gt;// ← template literal lost its backticks&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So I did what any user would do: went back into the REPL and told it what was wrong. It rewrote the line with plain concatenation and applied the patch:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr2up0loacssv6ywyahwl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr2up0loacssv6ywyahwl.png" alt="Stew Code fixing the broken countdown line in the terminal" width="800" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the rendered result, screenshotted from the actual file it wrote:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm5je539y2v5zxqnpgysl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm5je539y2v5zxqnpgysl.png" alt="The landing page Stew Code built — Enugu Sound Fest 2026" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Build → spot the bug → describe it → agent fixes it → verify. That loop worked, end to end, over the free API tier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest friction notes
&lt;/h2&gt;

&lt;p&gt;Dogfooding also surfaced things I'm &lt;em&gt;not&lt;/em&gt; proud of, so you get those too:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The file-apply format is too picky.&lt;/strong&gt; The CLI only writes files when the model formats code blocks in one exact way (a &lt;code&gt;// filepath:&lt;/code&gt; marker on the first line). The model often guessed a different format and the change silently didn't apply. It worked when I told it the exact format — but a user shouldn't have to know the magic words. That's next on the fix list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A queued message wedged the REPL&lt;/strong&gt; while a response was streaming — I had to restart the session. Input needs a lock during streaming.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both of those are now tracked with the same rigor as the auth bugs: found by using the thing, not by staring at the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;If you build a tool for other people, the most valuable hour you can spend is being one of them — installing the published package, running the first three commands a stranger would run, and believing every error message you see.&lt;/p&gt;

&lt;p&gt;The five worst bugs in my auth flow survived 21 passing tests and two published versions. They died in one afternoon of pretending to be my own user.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Package: &lt;a href="https://www.npmjs.com/package/stew-ai" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/stew-ai&lt;/a&gt; (v2.7.6, 49.1KB, zero deps)&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/emmanuelerogian723-alt/stew-ai" rel="noopener noreferrer"&gt;https://github.com/emmanuelerogian723-alt/stew-ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Free key: &lt;a href="https://stew-agent.onrender.com" rel="noopener noreferrer"&gt;https://stew-agent.onrender.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Go break it. I'll fix what you find.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ai</category>
      <category>cli</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Built an AI Coding Agent That Ships in Under 50KB — Zero Dependencies, Runs on a Phone</title>
      <dc:creator>Emmanuel Ene Rejoice Gideon </dc:creator>
      <pubDate>Sat, 05 Sep 2026 15:13:50 +0000</pubDate>
      <link>https://dev.to/emmanuel_erogian/i-built-an-ai-coding-agent-that-ships-in-under-50kb-zero-dependencies-runs-on-a-phone-2c8c</link>
      <guid>https://dev.to/emmanuel_erogian/i-built-an-ai-coding-agent-that-ships-in-under-50kb-zero-dependencies-runs-on-a-phone-2c8c</guid>
      <description>&lt;p&gt;I'm a developer from Enugu, Nigeria. Most devs I know here code on second-hand laptops — and a lot of them code straight from cheap Android phones using Termux.&lt;/p&gt;

&lt;p&gt;So when I set out to build an AI coding agent for the African market, "first, install 400 npm packages" was never going to work. Neither was "you need a $2,000 laptop."&lt;/p&gt;

&lt;p&gt;I set myself one hard rule: &lt;strong&gt;the entire package must stay under 50KB, with zero dependencies.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Meet Stew Code — a terminal AI agent that hits that rule and still does all of this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;👀 &lt;strong&gt;Vision&lt;/strong&gt; — &lt;code&gt;/image screenshot.png&lt;/code&gt; and it actually &lt;em&gt;sees&lt;/em&gt; the screenshot&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Headless browsing&lt;/strong&gt; — cookies, forms, clicks, login flows. No Puppeteer&lt;/li&gt;
&lt;li&gt;📸 &lt;strong&gt;Screenshots &amp;amp; screen recording&lt;/strong&gt; — web pages or your whole screen&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;Security scanning&lt;/strong&gt; — audits your codebase for real issues&lt;/li&gt;
&lt;li&gt;🐝 &lt;strong&gt;Swarm mode&lt;/strong&gt; — a planner splits your task, parallel agents execute it&lt;/li&gt;
&lt;li&gt;🗣️ &lt;strong&gt;Voice&lt;/strong&gt; — it reads responses out loud using OS text-to-speech&lt;/li&gt;
&lt;li&gt;🔌 &lt;strong&gt;MCP client&lt;/strong&gt; — connect any Model Context Protocol server&lt;/li&gt;
&lt;li&gt;🛠️ &lt;strong&gt;Self-healing installs&lt;/strong&gt; — missing Chromium? It auto-installs it, and warns you &lt;em&gt;first&lt;/em&gt;: "~250MB download, battery at 12% — plug in before we start"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick start
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; stew-ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the whole install. 49KB. On a bad 3G connection it takes seconds, not minutes.&lt;/p&gt;

&lt;p&gt;Grab a free API key at &lt;a href="https://stew-agent.onrender.com" rel="noopener noreferrer"&gt;https://stew-agent.onrender.com&lt;/a&gt; (free tier: 1,500 calls/month), then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;stew auth login   &lt;span class="c"&gt;# paste your key&lt;/span&gt;
stew code         &lt;span class="c"&gt;# launch the REPL&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And you're in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the brain looks like
&lt;/h2&gt;

&lt;p&gt;Honest disclosure: the intelligence runs on my Stew Agent API — the CLI is the lightweight terminal client. The API is OpenAI-compatible (&lt;code&gt;/v1/chat/completions&lt;/code&gt;), so you can also point any OpenAI-shaped tool at it by changing the base URL.&lt;/p&gt;

&lt;p&gt;The API side packs 59 skills, a 100-agent swarm, 12 personas, and 6 AI providers (Groq, Mistral, NVIDIA NIM, OpenRouter, HuggingFace, OpenAI) with automatic failover — if one provider goes down, it switches mid-flight. And when you &lt;code&gt;npm i -g stew-ai&lt;/code&gt;, &lt;em&gt;none&lt;/em&gt; of that bloat lands on your machine. One package. Zero dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  The zero-dependency receipts
&lt;/h2&gt;

&lt;p&gt;How do you fit vision, browsing, screenshots, recording, a REPL, and an MCP client into 49KB with zero deps?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node 18+ native &lt;code&gt;fetch&lt;/code&gt; — no axios, no node-fetch&lt;/li&gt;
&lt;li&gt;Raw ANSI escape codes for all terminal coloring&lt;/li&gt;
&lt;li&gt;Hand-written argument parsing&lt;/li&gt;
&lt;li&gt;Chrome headless &lt;code&gt;--screenshot&lt;/code&gt; for page shots; OS-native tools (&lt;code&gt;scrot&lt;/code&gt;, &lt;code&gt;screencapture&lt;/code&gt;, ffmpeg, PowerShell) for everything else&lt;/li&gt;
&lt;li&gt;The npm package ships minified; the GitHub repo stays fully readable&lt;/li&gt;
&lt;li&gt;A regression suite runs offline against mocks, so nothing breaks silently between releases&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it on your phone (yes, really)
&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;# Install Termux from F-Droid, then:&lt;/span&gt;
pkg &lt;span class="nb"&gt;install &lt;/span&gt;nodejs
npm i &lt;span class="nt"&gt;-g&lt;/span&gt; stew-ai
stew code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's an AI coding agent with vision and web access running on an Android phone. That's the entire point — AI tooling shouldn't require hardware most of the world can't afford.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/emmanuelerogian723-alt/stew-ai" rel="noopener noreferrer"&gt;https://github.com/emmanuelerogian723-alt/stew-ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/stew-ai" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/stew-ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Get a free API key: &lt;a href="https://stew-agent.onrender.com" rel="noopener noreferrer"&gt;https://stew-agent.onrender.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs &amp;amp; demo: &lt;a href="https://emmanuelerogian723-alt.github.io/stew-ai/" rel="noopener noreferrer"&gt;https://emmanuelerogian723-alt.github.io/stew-ai/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building for emerging markets, steal this constraint: &lt;strong&gt;under 50KB, zero deps.&lt;/strong&gt; It forces better engineering than any roadmap ever will.&lt;/p&gt;

&lt;p&gt;Star the repo if it's useful. And if something breaks on your machine, run &lt;code&gt;stew sysinfo&lt;/code&gt; and paste me the report — that command exists because debugging from a phone is hard. 🚀&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ai</category>
      <category>opensource</category>
      <category>cli</category>
    </item>
    <item>
      <title>Stew Code 😋 Agent on terminal</title>
      <dc:creator>Emmanuel Ene Rejoice Gideon </dc:creator>
      <pubDate>Thu, 03 Sep 2026 09:05:35 +0000</pubDate>
      <link>https://dev.to/emmanuel_erogian/stew-code-agent-on-terminal-4864</link>
      <guid>https://dev.to/emmanuel_erogian/stew-code-agent-on-terminal-4864</guid>
      <description>&lt;p&gt;🚀 49.9KB. Zero dependencies. Built in Nigeria 🇳🇬&lt;br&gt;
&lt;strong&gt;Stew Code is the free AI coding agent rivaling Copilot &amp;amp; Cursor — without the $20/mo price tag.&lt;/strong&gt;&lt;br&gt;
Terminal-native. Built-in security scanner. Self-verifying code. Marathon mode. 6 AI providers with auto-failover. 16+ self-forging skills.&lt;br&gt;
One command:&lt;br&gt;
bash&lt;br&gt;
npm install -g stew-ai&lt;/p&gt;




&lt;p&gt;🔗 Blog: &lt;a href="https://erogian.vercel.app/blog/stew-code-free-ai-coding-agent-nigeria-2026" rel="noopener noreferrer"&gt;https://erogian.vercel.app/blog/stew-code-free-ai-coding-agent-nigeria-2026&lt;/a&gt;&lt;br&gt;
🔗 Site: &lt;a href="https://emmanuelerogian723-alt.github.io/stew-ai/" rel="noopener noreferrer"&gt;https://emmanuelerogian723-alt.github.io/stew-ai/&lt;/a&gt;&lt;br&gt;
📦 npm: pkg:npm/&lt;a href="mailto:stew-ai@2.5.0"&gt;stew-ai@2.5.0&lt;/a&gt;&lt;br&gt;
Built in Africa. For the world. 🌍&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cli</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stew Code 😋 Agent on terminal</title>
      <dc:creator>Emmanuel Ene Rejoice Gideon </dc:creator>
      <pubDate>Thu, 03 Sep 2026 08:57:02 +0000</pubDate>
      <link>https://dev.to/emmanuel_erogian/stew-code-agent-on-terminal-7n4</link>
      <guid>https://dev.to/emmanuel_erogian/stew-code-agent-on-terminal-7n4</guid>
      <description>&lt;p&gt;🚀 49.9KB. Zero dependencies. Built in Nigeria 🇳🇬&lt;br&gt;
&lt;strong&gt;Stew Code is the free AI coding agent rivaling Copilot &amp;amp; Cursor — without the $20/mo price tag.&lt;/strong&gt;&lt;br&gt;
Terminal-native. Built-in security scanner. Self-verifying code. Marathon mode. 6 AI providers with auto-failover. 16+ self-forging skills.&lt;br&gt;
One command:&lt;br&gt;
bash&lt;br&gt;
npm install -g stew-ai&lt;/p&gt;




&lt;p&gt;🔗 Blog: &lt;a href="https://erogian.vercel.app/blog/stew-code-free-ai-coding-agent-nigeria-2026" rel="noopener noreferrer"&gt;https://erogian.vercel.app/blog/stew-code-free-ai-coding-agent-nigeria-2026&lt;/a&gt;&lt;br&gt;
🔗 Site: &lt;a href="https://emmanuelerogian723-alt.github.io/stew-ai/" rel="noopener noreferrer"&gt;https://emmanuelerogian723-alt.github.io/stew-ai/&lt;/a&gt;&lt;br&gt;
📦 npm: pkg:npm/&lt;a href="mailto:stew-ai@2.5.0"&gt;stew-ai@2.5.0&lt;/a&gt;&lt;br&gt;
Built in Africa. For the world. 🌍&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
