<?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: Hayato Tominaga</title>
    <description>The latest articles on DEV Community by Hayato Tominaga (@tominaga-h).</description>
    <link>https://dev.to/tominaga-h</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%2F3782721%2F30a405e6-d230-4ea5-bd55-30c0e6555dc7.jpeg</url>
      <title>DEV Community: Hayato Tominaga</title>
      <link>https://dev.to/tominaga-h</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tominaga-h"/>
    <language>en</language>
    <item>
      <title>ShowDEV: I built an AI-native shell in Rust because I was tired of Googling CLI errors</title>
      <dc:creator>Hayato Tominaga</dc:creator>
      <pubDate>Fri, 20 Feb 2026 14:59:47 +0000</pubDate>
      <link>https://dev.to/tominaga-h/showdev-i-built-an-ai-native-shell-in-rust-because-i-was-tired-of-googling-cli-errors-4nml</link>
      <guid>https://dev.to/tominaga-h/showdev-i-built-an-ai-native-shell-in-rust-because-i-was-tired-of-googling-cli-errors-4nml</guid>
      <description>&lt;p&gt;Ever heard of J.A.R.V.I.S. from Marvel's Iron Man? He is the highly intelligent, polite AI assistant that supports Tony Stark. I've always dreamed of building my very own J.A.R.V.I.S. to help me with my daily development.&lt;/p&gt;

&lt;p&gt;But in reality, our daily workflow looks nothing like that. Have you ever run a command, gotten an obscure error, and had to copy-paste the output into a browser or ChatGPT just to figure out what went wrong? &lt;/p&gt;

&lt;p&gt;As developers, we do this multiple times a day. It completely breaks our flow state. I wanted to stop doing this. I wanted a true "J.A.R.V.I.S."-like experience—an assistant that lives &lt;em&gt;inside&lt;/em&gt; my shell, already knows what just happened, and can help me instantly.&lt;/p&gt;

&lt;p&gt;So, I built &lt;strong&gt;Jarvish&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/tominaga-h" rel="noopener noreferrer"&gt;
        tominaga-h
      &lt;/a&gt; / &lt;a href="https://github.com/tominaga-h/jarvis-shell" rel="noopener noreferrer"&gt;
        jarvis-shell
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Next Generation AI Integrated Shell inspired by J.A.R.V.I.S. on marvel
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🤵 Jarvish — The AI-Native Shell&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell/actions" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fe6db56b72df2135c24854b376878b34f29f6b2bd0c9b9626e73a84b58d40b3b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f746f6d696e6167612d682f6a61727669732d7368656c6c2f63692e796d6c" alt="status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/tominaga-h/jarvis-shell/releases/tag/v1.6.0" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/88e3de3979316329758f661176d5d83639dbceac0fb15ed9789e0679a63c2dc0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d312e362e302d626c7565" alt="version"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;🌐 &lt;a href="https://github.com/tominaga-h/jarvis-shell/docs/README_JA.md" rel="noopener noreferrer"&gt;日本語版 README はこちら&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;💡 About&lt;/h2&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I want J.A.R.V.I.S. as my companion — but inside my terminal."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Jarvish&lt;/strong&gt; is a &lt;strong&gt;Next Generation AI Integrated Shell&lt;/strong&gt; written in Rust, inspired by &lt;strong&gt;J.A.R.V.I.S.&lt;/strong&gt; from Marvel's Iron Man.&lt;/p&gt;
&lt;p&gt;It is not just a wrapper around existing shells (Bash, Zsh) or an external tool. Jarvish deeply integrates AI into your terminal workflow itself, delivering an unprecedented experience where &lt;strong&gt;you can seamlessly switch between regular commands and natural language&lt;/strong&gt; as naturally as breathing.&lt;/p&gt;
&lt;p&gt;The days of copy-pasting errors into a browser to ask AI are over. Just ask Jarvish.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://asciinema.org/a/806755" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Ftominaga-h%2Fjarvis-shell%2Fimages%2Fjarvish-demo.gif" alt="jarvish-demo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📑 Table of Contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#-about" rel="noopener noreferrer"&gt;About&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/tominaga-h/jarvis-shell#-core-experience" rel="noopener noreferrer"&gt;Core Experience&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#1-your-personal-assistant-living-in-the-terminal" rel="noopener noreferrer"&gt;Your Personal Assistant, Living in the Terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#2-ai-pipe--ai-redirect-the-ultimate-text-processor" rel="noopener noreferrer"&gt;AI Pipe &amp;amp; AI Redirect (The Ultimate Text Processor)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#3-the-black-box-total-recall-storage" rel="noopener noreferrer"&gt;"The Black Box" (Total Recall Storage)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#4-uncompromising-blazing-fast-shell-ux" rel="noopener noreferrer"&gt;Uncompromising "Blazing Fast" Shell UX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#-install" rel="noopener noreferrer"&gt;Install&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/tominaga-h/jarvis-shell#%EF%B8%8F-setup-and-configuration" rel="noopener noreferrer"&gt;Setup and Configuration&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#starship-prompt-integration" rel="noopener noreferrer"&gt;Starship Prompt Integration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#%EF%B8%8F-architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tominaga-h/jarvis-shell#-development" rel="noopener noreferrer"&gt;Development&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Core Experience&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. Your Personal Assistant,&lt;/h3&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/tominaga-h/jarvis-shell" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;I feel so great to switch seamlessly between just command and natural language. I want to feel that to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ See it in action
&lt;/h2&gt;

&lt;p&gt;

&lt;iframe src="https://player.vimeo.com/video/1166698304" width="710" height="399"&gt;
&lt;/iframe&gt;


&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Why not just an AI CLI tool?
&lt;/h2&gt;

&lt;p&gt;There are already great tools like GitHub Copilot CLI, but they are separate from your shell environment. You have to explicitly call them, and they don't know the context of the command you just ran.&lt;/p&gt;

&lt;p&gt;Jarvish is different. It's a fully functional interactive shell. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No mode switching:&lt;/strong&gt; If you type &lt;code&gt;ls -la&lt;/code&gt;, it runs the command. If you type &lt;code&gt;Jarvis, why did my last build fail?&lt;/code&gt;, a built-in heuristic classifier routes it to the AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Black Box" Context:&lt;/strong&gt; This is the magic. Jarvish silently captures all your &lt;code&gt;stdout&lt;/code&gt;/&lt;code&gt;stderr&lt;/code&gt; in the background, compresses it, and saves it to a local SQLite database. When you talk to the AI, it automatically retrieves your recent I/O history as context.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🦀 Built with Rust
&lt;/h2&gt;

&lt;p&gt;As a Rustacean, building a shell from scratch was an amazing journey. Here is a sneak peek under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://github.com/nushell/reedline" rel="noopener noreferrer"&gt;reedline&lt;/a&gt;&lt;/strong&gt;: Provides the rich, Fish-like REPL experience (syntax highlighting, autosuggestions).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;os_pipe&lt;/code&gt;&lt;/strong&gt;: Used to tee the output of child processes. It captures the output to memory for the AI, while simultaneously rendering it to the terminal without breaking interactive tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;async-openai&lt;/code&gt;&lt;/strong&gt;: Powers the agent loop. Jarvish doesn't just chat; it uses function calling to autonomously read files, execute commands, and investigate issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Try it out!
&lt;/h2&gt;

&lt;p&gt;Jarvish is currently at v1.0.1 and I use it as my daily driver. It's open-source and I would absolutely love for you to try it!&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

cargo install jarvish
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

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