<?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: Jon Fir</title>
    <description>The latest articles on DEV Community by Jon Fir (@jonfir).</description>
    <link>https://dev.to/jonfir</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%2F301311%2F596d4602-c3c3-474d-91b9-763e507a5b90.jpeg</url>
      <title>DEV Community: Jon Fir</title>
      <link>https://dev.to/jonfir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jonfir"/>
    <language>en</language>
    <item>
      <title>Terminal as a Dev Environment in the Age of Agents</title>
      <dc:creator>Jon Fir</dc:creator>
      <pubDate>Wed, 06 May 2026 12:14:35 +0000</pubDate>
      <link>https://dev.to/jonfir/terminal-as-a-dev-environment-in-the-age-of-agents-f2e</link>
      <guid>https://dev.to/jonfir/terminal-as-a-dev-environment-in-the-age-of-agents-f2e</guid>
      <description>&lt;h2&gt;
  
  
  When the IDE Stopped Being the Center of Development
&lt;/h2&gt;

&lt;p&gt;At some point, I realized something strange: I no longer have a “main development tool.”&lt;/p&gt;

&lt;p&gt;There’s Xcode, VS Code, the terminal, a task tracker, a wiki, a Git client—and a dozen other windows. Every task turns into constant context switching.&lt;/p&gt;

&lt;p&gt;And that felt normal. Because there wasn’t really an alternative.&lt;/p&gt;

&lt;p&gt;But things started to change when LLMs entered everyday workflows.&lt;/p&gt;

&lt;p&gt;I’ve been using them for over a year now, and I gradually came to a simple conclusion:&lt;br&gt;
most of what I do now goes through an agent.&lt;/p&gt;

&lt;p&gt;Agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;do research&lt;/li&gt;
&lt;li&gt;write code&lt;/li&gt;
&lt;li&gt;work with tasks&lt;/li&gt;
&lt;li&gt;interact with calendars&lt;/li&gt;
&lt;li&gt;and handle dozens of other things&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before, each of these required a separate tool.&lt;/p&gt;

&lt;p&gt;Now—there’s a single interface.&lt;/p&gt;

&lt;p&gt;And that completely breaks the traditional development model.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why a Single Chat Isn’t Enough
&lt;/h2&gt;

&lt;p&gt;Once agents become your main tool, an important limitation becomes obvious.&lt;/p&gt;

&lt;p&gt;An agent is not a “smart IDE.” It’s a system with very real boundaries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First problem: context.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The context window isn’t infinite. In fact, its effective size is quite limited.&lt;br&gt;
If you keep stuffing everything into it, the model quickly degrades: it loses track, gets confused, and produces weaker results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second problem: artifacts.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To work effectively, agents need structure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;documents&lt;/li&gt;
&lt;li&gt;plans&lt;/li&gt;
&lt;li&gt;code snippets&lt;/li&gt;
&lt;li&gt;saved outputs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This leads to an important shift:&lt;br&gt;
your workflow stops being chat-centric and becomes &lt;strong&gt;artifact + context driven&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The chat is just an interface—not the source of truth.&lt;/p&gt;

&lt;p&gt;From this follows a simple rule:&lt;br&gt;
each task needs its own isolated context.&lt;/p&gt;

&lt;p&gt;Which means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;separate chats&lt;/li&gt;
&lt;li&gt;separate file sets&lt;/li&gt;
&lt;li&gt;separate states&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first, I tried to manage this in VS Code. It has everything: chat, files, terminal.&lt;/p&gt;

&lt;p&gt;But it quickly turned into chaos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dozens of tabs&lt;/li&gt;
&lt;li&gt;unclear task boundaries&lt;/li&gt;
&lt;li&gt;unclear agent permissions&lt;/li&gt;
&lt;li&gt;unclear connected “skills”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And most importantly—a loss of control.&lt;/p&gt;

&lt;p&gt;Meanwhile, some tasks still drifted into the terminal anyway.&lt;/p&gt;

&lt;p&gt;At some point it became obvious:&lt;br&gt;
the IDE was no longer the center of development.&lt;/p&gt;

&lt;p&gt;So I moved to the most basic and universal environment—the terminal.&lt;/p&gt;


&lt;h2&gt;
  
  
  Ghostty: Terminal as the Foundation
&lt;/h2&gt;

&lt;p&gt;The terminal turned out to be almost ideal: you can run anything, access everything, and structure your workspace.&lt;/p&gt;

&lt;p&gt;You can even organize tabs per task.&lt;/p&gt;

&lt;p&gt;I chose Ghostty—it’s fast and has great defaults.&lt;/p&gt;

&lt;p&gt;Installation:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;brew install --cask ghostty&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Basic config to avoid keybinding conflicts with a multiplexer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="c"&gt;# config.ghostty
&lt;/span&gt;&lt;span class="n"&gt;macos&lt;/span&gt;-&lt;span class="n"&gt;option&lt;/span&gt;-&lt;span class="n"&gt;as&lt;/span&gt;-&lt;span class="n"&gt;alt&lt;/span&gt; = &lt;span class="n"&gt;true&lt;/span&gt;
&lt;span class="n"&gt;keybind&lt;/span&gt; = &lt;span class="n"&gt;alt&lt;/span&gt;+&lt;span class="n"&gt;left&lt;/span&gt;=&lt;span class="n"&gt;unbind&lt;/span&gt;
&lt;span class="n"&gt;keybind&lt;/span&gt; = &lt;span class="n"&gt;alt&lt;/span&gt;+&lt;span class="n"&gt;right&lt;/span&gt;=&lt;span class="n"&gt;unbind&lt;/span&gt;
&lt;span class="n"&gt;keybind&lt;/span&gt; = &lt;span class="n"&gt;alt&lt;/span&gt;+&lt;span class="n"&gt;up&lt;/span&gt;=&lt;span class="n"&gt;unbind&lt;/span&gt;
&lt;span class="n"&gt;keybind&lt;/span&gt; = &lt;span class="n"&gt;alt&lt;/span&gt;+&lt;span class="n"&gt;down&lt;/span&gt;=&lt;span class="n"&gt;unbind&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without this, some Zellij shortcuts won’t work properly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Zellij: Sessions and Panes per Task
&lt;/h2&gt;

&lt;p&gt;Next step—structuring the terminal workspace.&lt;/p&gt;

&lt;p&gt;I needed a multiplexer to keep multiple sources of information visible at once.&lt;/p&gt;

&lt;p&gt;I chose Zellij. Yes, partly because it’s “modern and shiny,” but mostly because it’s fast and ergonomic.&lt;/p&gt;

&lt;p&gt;Zellij supports panes, plugins, sessions—everything you need.&lt;/p&gt;

&lt;p&gt;Installation:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;brew install --cask zellij&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Layout example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="c"&gt;# ~/.config/zellij/layouts/dev.kdl
&lt;/span&gt;&lt;span class="n"&gt;layout&lt;/span&gt; {
    &lt;span class="n"&gt;default_tab_template&lt;/span&gt; {
        &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;=&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;borderless&lt;/span&gt;=&lt;span class="n"&gt;true&lt;/span&gt; {
            &lt;span class="n"&gt;plugin&lt;/span&gt; &lt;span class="n"&gt;location&lt;/span&gt;=&lt;span class="s2"&gt;"zellij:tab-bar"&lt;/span&gt;
        }
        &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;split_direction&lt;/span&gt;=&lt;span class="s2"&gt;"vertical"&lt;/span&gt; {
            &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;stacked&lt;/span&gt;=&lt;span class="n"&gt;true&lt;/span&gt; {
                &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;command&lt;/span&gt;=&lt;span class="s2"&gt;"yazi"&lt;/span&gt;
                &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;command&lt;/span&gt;=&lt;span class="s2"&gt;"lazygit"&lt;/span&gt;
                &lt;span class="n"&gt;pane&lt;/span&gt;
            }
            &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;command&lt;/span&gt;=&lt;span class="s2"&gt;"claude"&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;=&lt;span class="s2"&gt;"30%"&lt;/span&gt;
        }
        &lt;span class="n"&gt;pane&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;=&lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="n"&gt;borderless&lt;/span&gt;=&lt;span class="n"&gt;true&lt;/span&gt; {
            &lt;span class="n"&gt;plugin&lt;/span&gt; &lt;span class="n"&gt;location&lt;/span&gt;=&lt;span class="s2"&gt;"zellij:status-bar"&lt;/span&gt;
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can create multiple layouts—for different workflows or task types.&lt;/p&gt;

&lt;p&gt;Helper function:&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="c"&gt;# .zshrc&lt;/span&gt;

dev&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="nb"&gt;local &lt;/span&gt;title

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$# &lt;/span&gt;&lt;span class="nt"&gt;-gt&lt;/span&gt; 0 &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
    &lt;/span&gt;&lt;span class="nv"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$*&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
  &lt;span class="k"&gt;else
    &lt;/span&gt;&lt;span class="nv"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;basename&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
  &lt;span class="k"&gt;fi

  &lt;/span&gt;&lt;span class="nv"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;title&lt;/span&gt;&lt;span class="p"&gt;//\//-&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
  zellij options &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--session-name&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$title&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--attach-to-session&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--default-layout&lt;/span&gt; dev
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a session named after the current folder (or a custom name).&lt;br&gt;
It makes it much easier to stay organized across tasks.&lt;/p&gt;


&lt;h2&gt;
  
  
  Claude Code and Codex: Agents Inside the Environment
&lt;/h2&gt;

&lt;p&gt;For agents, I use Claude Code and Codex in the terminal.&lt;/p&gt;

&lt;p&gt;Not much to say here—they actually feel better in CLI than in UI.&lt;/p&gt;

&lt;p&gt;The key difference is this:&lt;br&gt;
the agent stops being a separate window somewhere else.&lt;/p&gt;

&lt;p&gt;It becomes part of your working environment—next to your files, Git, logs, and artifacts.&lt;/p&gt;


&lt;h3&gt;
  
  
  Vim: An Editor That Stays in Flow
&lt;/h3&gt;

&lt;p&gt;My editor is Vim.&lt;/p&gt;

&lt;p&gt;Yes, partly because “real engineers use Vim.”&lt;/p&gt;

&lt;p&gt;But seriously—it fits perfectly into a terminal workflow.&lt;/p&gt;

&lt;p&gt;No app switching. No breaking context.&lt;/p&gt;

&lt;p&gt;Open a file, edit, go back to the agent, check diff, run commands—all in one place.&lt;/p&gt;


&lt;h2&gt;
  
  
  Yazi: Fast File Navigation
&lt;/h2&gt;

&lt;p&gt;For file navigation, I chose Yazi.&lt;/p&gt;

&lt;p&gt;It’s fast, modern, and supports Vim-like keybindings.&lt;/p&gt;

&lt;p&gt;Minimal config—just a helper to keep the last directory:&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="k"&gt;function &lt;/span&gt;y&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;local &lt;/span&gt;&lt;span class="nv"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;mktemp&lt;/span&gt; &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"yazi-cwd.XXXXXX"&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

    yazi &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nt"&gt;--cwd-file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$tmp&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="nv"&gt;cwd&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$tmp&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$cwd&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$cwd&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
        &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$cwd&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;fi

    &lt;/span&gt;&lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$tmp&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Small detail, big usability win.&lt;/p&gt;




&lt;h3&gt;
  
  
  Lazygit: Git Without Leaving the Session
&lt;/h3&gt;

&lt;p&gt;For Git, I use lazygit.&lt;/p&gt;

&lt;p&gt;It covers most daily workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;view diffs&lt;/li&gt;
&lt;li&gt;create commits&lt;/li&gt;
&lt;li&gt;switch branches&lt;/li&gt;
&lt;li&gt;rebase&lt;/li&gt;
&lt;li&gt;understand repo state quickly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Maybe one day I’ll find something faster—but for now it just works and fits perfectly into the terminal setup.&lt;/p&gt;




&lt;h3&gt;
  
  
  How It All Comes Together
&lt;/h3&gt;

&lt;p&gt;Over time, this setup evolved into a coherent workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;each task = a separate session&lt;/li&gt;
&lt;li&gt;each session = its own context&lt;/li&gt;
&lt;li&gt;the agent works in an environment, not a chat&lt;/li&gt;
&lt;li&gt;the terminal becomes the integration layer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The terminal is no longer just an alternative to VS Code.&lt;/p&gt;

&lt;p&gt;It becomes something bigger—&lt;br&gt;
an operating system for working with agents.&lt;/p&gt;

&lt;p&gt;IDEs were built around code.&lt;/p&gt;

&lt;p&gt;The terminal is built around processes.&lt;/p&gt;

&lt;p&gt;And in the age of agents, processes become the primary abstraction.&lt;/p&gt;




&lt;h2&gt;
  
  
  What a Typical Workflow Looks Like
&lt;/h2&gt;

&lt;p&gt;I have three main types of workflows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;code changes&lt;/li&gt;
&lt;li&gt;research &amp;amp; documentation&lt;/li&gt;
&lt;li&gt;quick questions&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1. Working with Code
&lt;/h3&gt;

&lt;p&gt;Goal: make specific changes.&lt;/p&gt;

&lt;p&gt;Usually minimal artifacts—maybe just a plan.&lt;/p&gt;

&lt;p&gt;I open a terminal, go to the project, and start a Zellij session (dev layout), naming it after the task.&lt;/p&gt;

&lt;p&gt;Then:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;explore structure via Yazi&lt;/li&gt;
&lt;li&gt;check repo state via Lazygit&lt;/li&gt;
&lt;li&gt;interact mostly with the agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I pass the task and context to the agent.&lt;br&gt;
If there’s no plan—I ask it to create one (plan.md).&lt;/p&gt;

&lt;p&gt;I quickly review it via Yazi or Vim, then let the agent execute.&lt;/p&gt;

&lt;p&gt;The agent occupies a fixed pane, while I switch the other between Git and file navigation.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Research &amp;amp; Documentation
&lt;/h3&gt;

&lt;p&gt;Here I work with ideas, not code.&lt;/p&gt;

&lt;p&gt;I keep a directory of projects—from notes to large research.&lt;/p&gt;

&lt;p&gt;Same flow: open project → start Zellij session.&lt;/p&gt;

&lt;p&gt;Inside—mostly Markdown files.&lt;/p&gt;

&lt;p&gt;Yazi + Vim allows me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;navigate quickly&lt;/li&gt;
&lt;li&gt;edit manually&lt;/li&gt;
&lt;li&gt;delegate to the agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent also connects to external systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;wiki&lt;/li&gt;
&lt;li&gt;task tracker&lt;/li&gt;
&lt;li&gt;internal tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In both directions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it pulls information&lt;/li&gt;
&lt;li&gt;and updates systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where agents shine—they structure thinking, enrich content, and connect local and external contexts.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Quick Questions
&lt;/h3&gt;

&lt;p&gt;The simplest case.&lt;/p&gt;

&lt;p&gt;A separate terminal tab with just the agent.&lt;/p&gt;

&lt;p&gt;No sessions, no structure—just ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how something works&lt;/li&gt;
&lt;li&gt;where things are&lt;/li&gt;
&lt;li&gt;who owns what&lt;/li&gt;
&lt;li&gt;what’s relevant&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;At any moment, I might have a dozen sessions open.&lt;/p&gt;

&lt;p&gt;But I don’t get lost—names make everything clear.&lt;/p&gt;

&lt;p&gt;Each session contains a full toolkit:&lt;br&gt;
agent, Git, editor, file navigation, terminal.&lt;/p&gt;

&lt;p&gt;If needed, I add panes on the fly—without breaking context.&lt;/p&gt;

&lt;p&gt;Everything lives in one place:&lt;br&gt;
no app switching, no lost state.&lt;/p&gt;

&lt;p&gt;The terminal becomes more than an interface.&lt;/p&gt;

&lt;p&gt;It becomes an environment where each task lives independently—&lt;br&gt;
while still remaining fully under control.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>terminal</category>
    </item>
  </channel>
</rss>
