<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coding on Backend Engineering Strategy Tools</title><link>https://backend-engineering-strategy-tools.github.io/site/tags/coding/</link><description>Recent content in Coding on Backend Engineering Strategy Tools</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://backend-engineering-strategy-tools.github.io/site/tags/coding/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Coding Assistants</title><link>https://backend-engineering-strategy-tools.github.io/site/public-notes/ai/ai-coding/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/public-notes/ai/ai-coding/</guid><description>&lt;p&gt;CLI tools and agents that integrate into your development workflow rather than just answering questions in a browser tab. The difference from chat tools is that these read your files, run commands, and make edits directly — they operate on the codebase, not alongside it.&lt;/p&gt;
&lt;p&gt;This is the move when we want the agents to start doing the work for us, talk is cheap action speaks for itself :)&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="claude-code"&gt;Claude Code
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://docs.anthropic.com/en/claude-code/getting-started" target="_blank" rel="noopener"
 &gt;docs.anthropic.com/claude-code&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Anthropic&amp;rsquo;s CLI agent. Works in the terminal, reads the project, edits files, runs commands, and iterates. The setup cost is real — there are things to configure (permissions, &lt;code&gt;CLAUDE.md&lt;/code&gt;, hooks), it has opinions about how things should work, and you are working within its harness rather than directing it freely. That said, once it is set up and calibrated to the project, the net effect is positive: it does the work, catches things you&amp;rsquo;d miss, and the compound value per session adds up quickly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notable&lt;/strong&gt;: Claude Code is meaningfully more out-of-the-box than the alternatives. The harness, workflow, and defaults are all provided — you adapt to them, but you don&amp;rsquo;t have to build them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cost&lt;/strong&gt;: Requires a paid Anthropic subscription (Claude Pro / Max, ~$20–$100/mo depending on tier). There is no meaningful free tier for coding use.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Honest assessment&lt;/strong&gt;:
The harness is opinionated; it is worth it here — someone else is developing the tooling, you have to adapt and learn to use their tooling and their workflows. However &lt;em&gt;they&lt;/em&gt; are doing the work of building the tooling and designing some kind of workflow for using it. Not worth it if you only touch code occasionally — the subscription cost, and more importantly the need to learn and adapt to the tooling outpaces the benefit at low usage.&lt;/p&gt;
&lt;h3 id="configuration-files"&gt;Configuration files
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;File&lt;/th&gt;
 &lt;th&gt;Scope&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Instructions applied to every project&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Project-specific instructions, conventions, preferences&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.claude/settings.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Permissions, tools, hooks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.claude/settings.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Project-level permissions and hooks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.claude/settings.local.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Local (gitignored)&lt;/td&gt;
 &lt;td&gt;Personal overrides, not shared&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.claude/commands/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Custom slash commands (skills)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.claude/commands/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Project-specific slash commands&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.claude/memory/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Persistent memory across sessions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="aider"&gt;Aider
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://aider.chat" target="_blank" rel="noopener"
 &gt;aider.chat&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Open-source CLI coding assistant. Works with any model via API — OpenAI, Anthropic, Google AI Studio, OpenRouter, or local models. You run it from the terminal, it reads selected files, you chat with it and it commits changes. No project-level config files to maintain — you select files per session.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Verdict&lt;/strong&gt;: Tried it — the interaction model didn&amp;rsquo;t land. Aider&amp;rsquo;s file selection flow and how it structures its edits felt like more overhead than it was worth. Good tool in concept, and the model flexibility is genuinely useful, but it didn&amp;rsquo;t stick.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="pi"&gt;Pi
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/earendil-works/pi" target="_blank" rel="noopener"
 &gt;github.com/earendil-works/pi&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Open-source CLI coding agent by Mario Zechner. Reads files, runs commands, makes edits — flexible on auth: works with pay-per-token API keys (Anthropic, OpenAI, Google) or existing subscriptions (Claude Pro/Max, ChatGPT Plus, GitHub Copilot).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install -g @earendil-works/pi-coding-agent
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# then: export ANTHROPIC_API_KEY=... (or /login inside Pi)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Key commands&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/verbose&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Show internal reasoning and tool calls — &lt;strong&gt;recommended, use this&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/model&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch models mid-session&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/settings&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Adjust thinking level, theme, delivery mode&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/session&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Show token usage for current session&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Manually compact context&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/tree&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Navigate session history, continue from any point&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/fork&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Branch a new session from a previous message&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/resume&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Pick up a previous session&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="configuration-files-1"&gt;Configuration files
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;File&lt;/th&gt;
 &lt;th&gt;Scope&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.pi/agent/AGENTS.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Instructions applied to all projects (also reads &lt;code&gt;CLAUDE.md&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; / &lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project + parents&lt;/td&gt;
 &lt;td&gt;Project instructions, loaded from current dir and up&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.pi/agent/settings.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Default model, theme, thinking level, compaction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.pi/settings.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Project overrides (merged with global)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.pi/agent/SYSTEM.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Replace the default system prompt entirely&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.pi/SYSTEM.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Project-level system prompt replacement&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;.pi/APPEND_SYSTEM.md&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Append to the system prompt without replacing it&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.pi/agent/models.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Add custom providers and models&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;~/.pi/agent/keybindings.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;Keyboard shortcut overrides&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Backends and context windows&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;A real upside of Pi&amp;rsquo;s model flexibility: use your existing Claude Pro/Max subscription as a backend via &lt;code&gt;/login&lt;/code&gt; (no extra API cost), then toggle to &lt;a class="link" href="https://ai.google.dev/gemini-api/docs/models" target="_blank" rel="noopener"
 &gt;Gemini 2.5 Flash&lt;/a&gt; when you need a bigger context window. Switch mid-session with &lt;code&gt;/model&lt;/code&gt;.&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Backend&lt;/th&gt;
 &lt;th&gt;Context window&lt;/th&gt;
 &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Claude Sonnet/Opus (Pro)&lt;/td&gt;
 &lt;td&gt;200K&lt;/td&gt;
 &lt;td&gt;1M available via &lt;code&gt;/extra-usage&lt;/code&gt; opt-in&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Claude Sonnet/Opus (Max/Enterprise)&lt;/td&gt;
 &lt;td&gt;1M&lt;/td&gt;
 &lt;td&gt;Automatic since March 2026&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Gemini 2.5 Flash&lt;/td&gt;
 &lt;td&gt;~1M (1,048,576)&lt;/td&gt;
 &lt;td&gt;Fast and cheap — good default for large context tasks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Honest assessment&lt;/strong&gt;:
Genuinely interesting tool and the minimal harness is appealing in principle — but that minimalism is also the cost. There is no opinionated workflow handed to you. You end up building your own: install, auth, Docker isolation if you want it, project context files, model configuration. You are essentially assembling the harness yourself from first principles. It works, and the result is tailored, but the setup investment is real — noticeably more than Claude Code.&lt;/p&gt;
&lt;p&gt;Worth it for a focused project with a longer time horizon — somewhere you would live in it long enough to amortise the setup. Less obviously worth it for short or varied work.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="google-ai-studio"&gt;Google AI Studio
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://aistudio.google.com" target="_blank" rel="noopener"
 &gt;aistudio.google.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Not a coding assistant itself — it&amp;rsquo;s the API/playground interface for Google&amp;rsquo;s Gemini model family. Useful as a backend for Aider, Pi, or any OpenAI-compatible client, or for direct experimentation with models.&lt;/p&gt;
&lt;p&gt;Prepaid access (credit-based) makes it accessible without a monthly commitment. Flash 2.5 is the practical model for coding use: fast, cheap, capable enough for most tasks. Pro 2.5 is noticeably better but costs more per token.&lt;/p&gt;
&lt;p&gt;Free tier (Google AI Studio quota) and OpenRouter free tier exist but are not reliable enough for actual use — rate limits, model quality variation, and timeouts make the free path frustrating.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="comparison"&gt;Comparison
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Model&lt;/th&gt;
 &lt;th&gt;Cost model&lt;/th&gt;
 &lt;th&gt;Setup effort&lt;/th&gt;
 &lt;th&gt;Verdict&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://docs.anthropic.com/en/claude-code/getting-started" target="_blank" rel="noopener"
 &gt;Claude Code&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Claude Sonnet/Opus&lt;/td&gt;
 &lt;td&gt;Subscription&lt;/td&gt;
 &lt;td&gt;Medium — harness provided&lt;/td&gt;
 &lt;td&gt;Positive net effect&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://aider.chat" target="_blank" rel="noopener"
 &gt;Aider&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Any via API&lt;/td&gt;
 &lt;td&gt;Pay per use&lt;/td&gt;
 &lt;td&gt;Low — no project config&lt;/td&gt;
 &lt;td&gt;Didn&amp;rsquo;t stick&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a class="link" href="https://github.com/earendil-works/pi" target="_blank" rel="noopener"
 &gt;Pi&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Any via API or sub&lt;/td&gt;
 &lt;td&gt;Flexible&lt;/td&gt;
 &lt;td&gt;High — DIY harness&lt;/td&gt;
 &lt;td&gt;Good, setup cost real&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>