{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/steipete-me/2025-08-25-my-current-ai-dev-workflow/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "![](https://steipete.me/assets/img/2025/optimal-ai-development-workflow/hero.png)\n\n**TL;DR: Ghostty + Claude Code + minimal tooling = maximum productivity. [Less is more](https://x.com/steipete/status/1952439355340943534).**\n\nIt’s time for an [update on my workflow](https://x.com/steipete/status/1960114479028486429), which keeps evolving.\n\nAfter [going all-in on VS Code](https://x.com/steipete/status/1955781673670340796), I went fully back to [Ghostty](https://ghostty.org/) for my main setup, with [VS Code on the side](https://x.com/steipete/status/1954691261279146029/photo/1) to look up code and Cursor/GPT-5 for reviews (sometimes also the CLI). I tried [Zed](https://zed.dev/), just can’t deal with a terminal that looks [like](https://x.com/steipete/status/1955690682477134124/photo/1) [this](https://x.com/steipete/status/1959259921439969326).\n\nStill extremely happy with my [Dell UltraSharp U4025QW](https://www.dell.com/en-us/shop/dell-ultrasharp-40-curved-thunderbolt-hub-monitor-u4025qw/apd/210-bmdp/monitors-monitor-accessories) - 3840x1620 makes 4 Claude instances + Chrome all visible without moving windows.\n\nVS Code’s terminal is too unstable, had plenty freezes when pasting in large amounts of text. Nothing beats Ghostty.\n\n## Tools and Their Reality\n\nGemini can be great, but its edit tools are [too](https://x.com/steipete/status/1942113964231442876) [messy](https://x.com/steipete/status/1955941943218713006/photo/1), so using it less and less. GPT-5 for reviewing plans works even better than Gemini.\n\nYes, all of these work on main. I tried the whole [worktree setup](https://x.com/steipete/status/1956340397900177686), just slows me down. If you pick areas of work carefully you can work on multiple areas without much cross-pollination.\n\nClaude often makes a mess but it’s equally great in refactoring and cleaning up. Important to do both to not create too much technical debt.\n\n## Planning and Context Management\n\nHaving the initial topic in the [statusline + session ID](https://x.com/steipete/status/1958903434322526214) ([gist](https://gist.github.com/steipete/8396e512171d31e934f0013e5651691e)) in case I need to switch accounts or restart a session is super helpful.\n\nUsing plan mode and iterating is key. Smaller tasks I do right away, bigger I write in a file and let GPT-5 review.\n\nOften I manage with small prompts, sometimes I brainstorm and it’s amazing how much sense agents can make out of my [incoherent thoughts](https://x.com/steipete/status/1958233967548850235).\n\nWhen I’m not refactoring I usually run 1-2 agents; for cleanup/tests/UI work ~4 seems to be the sweet spot. All depends on the blast radius of the work.\n\n## The Hard Parts\n\nThe hardest part is [distributed system design](https://x.com/steipete/status/1958573142726640116/photo/1), picking the right dependencies, platforms and a forward-thinking database schema.\n\nI’ve been building an incredible amount of custom infra, [admin pages](https://x.com/steipete/status/1958956225800151465), CLIs to help both me and the agents and that work did speed me up so much. Would have never done that with the old ways.\n\n## Testing Strategy\n\nBigger changes always get tests. Automated ones usually aren’t great, but the model almost always finds issues when you ask it to write tests IN THE SAME CONTEXT. Context is precious, don’t waste it.\n\n## Less is More\n\nEven [removed my last MCP](https://x.com/steipete/status/1958679613489524952), since Claude sometimes would go off spinning up Playwright unasked when it could simply read the code - which is faster and pollutes the context less.\n\nPick services that have CLIs: vercel, psql, gh, axiom. Agents can use them, one line in CLAUDE.md is enough “logs: axiom or vercel cli”. “Database: psql + one example how to load env correctly so the loop is faster”\n\n## Results and Comparisons\n\nGot an insane amount done with this setup. Other CLIs/models still don’t come close. [Codex can’t search](https://x.com/steipete/status/1954593439347032167) (asking “google best practices” is usually better than context). Cursor/GPT-5 takes FOREVER and doesn’t share its thinking, so it’s hard to steer. GPT-5 also is much more literal in how you have to prompt it - it’s a great model but not the best agent, you have to be more precise and specific.\n\nStill don’t see how this could be moved to background agents. I steer the models a lot as I notice them drifting off - that’s much harder if they run in the background.\n\nThe new rate limits will go into effect August 28 and that’ll definitely suck. Guess I’ll just pay up. No perfect alternative for now.\n",
  "authors": [],
  "captured_at": "2026-09-27T19:29:15.293681927+00:00",
  "category": "programming",
  "content_html": "<p><picture class=\"article-picture article-picture-fallback\" style=\"--image-ratio:16 / 9\"><img src=\"https://steipete.me/assets/img/2025/optimal-ai-development-workflow/hero.png\" alt=\"\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\" referrerpolicy=\"no-referrer\" class=\"progressive-image\"></picture></p>\n<p><strong>TL;DR: Ghostty + Claude Code + minimal tooling = maximum productivity. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1952439355340943534\">Less is more</a>.</strong></p>\n<p>It’s time for an <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1960114479028486429\">update on my workflow</a>, which keeps evolving.</p>\n<p>After <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1955781673670340796\">going all-in on VS Code</a>, I went fully back to <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://ghostty.org/\">Ghostty</a> for my main setup, with <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1954691261279146029/photo/1\">VS Code on the side</a> to look up code and Cursor/GPT-5 for reviews (sometimes also the CLI). I tried <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://zed.dev/\">Zed</a>, just can’t deal with a terminal that looks <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1955690682477134124/photo/1\">like</a> <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1959259921439969326\">this</a>.</p>\n<p>Still extremely happy with my <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.dell.com/en-us/shop/dell-ultrasharp-40-curved-thunderbolt-hub-monitor-u4025qw/apd/210-bmdp/monitors-monitor-accessories\">Dell UltraSharp U4025QW</a> - 3840x1620 makes 4 Claude instances + Chrome all visible without moving windows.</p>\n<p>VS Code’s terminal is too unstable, had plenty freezes when pasting in large amounts of text. Nothing beats Ghostty.</p>\n<h2>Tools and Their Reality</h2>\n<p>Gemini can be great, but its edit tools are <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1942113964231442876\">too</a> <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1955941943218713006/photo/1\">messy</a>, so using it less and less. GPT-5 for reviewing plans works even better than Gemini.</p>\n<p>Yes, all of these work on main. I tried the whole <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1956340397900177686\">worktree setup</a>, just slows me down. If you pick areas of work carefully you can work on multiple areas without much cross-pollination.</p>\n<p>Claude often makes a mess but it’s equally great in refactoring and cleaning up. Important to do both to not create too much technical debt.</p>\n<h2>Planning and Context Management</h2>\n<p>Having the initial topic in the <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1958903434322526214\">statusline + session ID</a> (<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://gist.github.com/steipete/8396e512171d31e934f0013e5651691e\">gist</a>) in case I need to switch accounts or restart a session is super helpful.</p>\n<p>Using plan mode and iterating is key. Smaller tasks I do right away, bigger I write in a file and let GPT-5 review.</p>\n<p>Often I manage with small prompts, sometimes I brainstorm and it’s amazing how much sense agents can make out of my <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1958233967548850235\">incoherent thoughts</a>.</p>\n<p>When I’m not refactoring I usually run 1-2 agents; for cleanup/tests/UI work ~4 seems to be the sweet spot. All depends on the blast radius of the work.</p>\n<h2>The Hard Parts</h2>\n<p>The hardest part is <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1958573142726640116/photo/1\">distributed system design</a>, picking the right dependencies, platforms and a forward-thinking database schema.</p>\n<p>I’ve been building an incredible amount of custom infra, <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1958956225800151465\">admin pages</a>, CLIs to help both me and the agents and that work did speed me up so much. Would have never done that with the old ways.</p>\n<h2>Testing Strategy</h2>\n<p>Bigger changes always get tests. Automated ones usually aren’t great, but the model almost always finds issues when you ask it to write tests IN THE SAME CONTEXT. Context is precious, don’t waste it.</p>\n<h2>Less is More</h2>\n<p>Even <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1958679613489524952\">removed my last MCP</a>, since Claude sometimes would go off spinning up Playwright unasked when it could simply read the code - which is faster and pollutes the context less.</p>\n<p>Pick services that have CLIs: vercel, psql, gh, axiom. Agents can use them, one line in CLAUDE.md is enough “logs: axiom or vercel cli”. “Database: psql + one example how to load env correctly so the loop is faster”</p>\n<h2>Results and Comparisons</h2>\n<p>Got an insane amount done with this setup. Other CLIs/models still don’t come close. <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://x.com/steipete/status/1954593439347032167\">Codex can’t search</a> (asking “google best practices” is usually better than context). Cursor/GPT-5 takes FOREVER and doesn’t share its thinking, so it’s hard to steer. GPT-5 also is much more literal in how you have to prompt it - it’s a great model but not the best agent, you have to be more precise and specific.</p>\n<p>Still don’t see how this could be moved to background agents. I steer the models a lot as I notice them drifting off - that’s much harder if they run in the background.</p>\n<p>The new rate limits will go into effect August 28 and that’ll definitely suck. Guess I’ll just pay up. No perfect alternative for now.</p>\n",
  "content_markdown": "![](https://steipete.me/assets/img/2025/optimal-ai-development-workflow/hero.png)\n\n**TL;DR: Ghostty + Claude Code + minimal tooling = maximum productivity. [Less is more](https://x.com/steipete/status/1952439355340943534).**\n\nIt’s time for an [update on my workflow](https://x.com/steipete/status/1960114479028486429), which keeps evolving.\n\nAfter [going all-in on VS Code](https://x.com/steipete/status/1955781673670340796), I went fully back to [Ghostty](https://ghostty.org/) for my main setup, with [VS Code on the side](https://x.com/steipete/status/1954691261279146029/photo/1) to look up code and Cursor/GPT-5 for reviews (sometimes also the CLI). I tried [Zed](https://zed.dev/), just can’t deal with a terminal that looks [like](https://x.com/steipete/status/1955690682477134124/photo/1) [this](https://x.com/steipete/status/1959259921439969326).\n\nStill extremely happy with my [Dell UltraSharp U4025QW](https://www.dell.com/en-us/shop/dell-ultrasharp-40-curved-thunderbolt-hub-monitor-u4025qw/apd/210-bmdp/monitors-monitor-accessories) - 3840x1620 makes 4 Claude instances + Chrome all visible without moving windows.\n\nVS Code’s terminal is too unstable, had plenty freezes when pasting in large amounts of text. Nothing beats Ghostty.\n\n## Tools and Their Reality\n\nGemini can be great, but its edit tools are [too](https://x.com/steipete/status/1942113964231442876) [messy](https://x.com/steipete/status/1955941943218713006/photo/1), so using it less and less. GPT-5 for reviewing plans works even better than Gemini.\n\nYes, all of these work on main. I tried the whole [worktree setup](https://x.com/steipete/status/1956340397900177686), just slows me down. If you pick areas of work carefully you can work on multiple areas without much cross-pollination.\n\nClaude often makes a mess but it’s equally great in refactoring and cleaning up. Important to do both to not create too much technical debt.\n\n## Planning and Context Management\n\nHaving the initial topic in the [statusline + session ID](https://x.com/steipete/status/1958903434322526214) ([gist](https://gist.github.com/steipete/8396e512171d31e934f0013e5651691e)) in case I need to switch accounts or restart a session is super helpful.\n\nUsing plan mode and iterating is key. Smaller tasks I do right away, bigger I write in a file and let GPT-5 review.\n\nOften I manage with small prompts, sometimes I brainstorm and it’s amazing how much sense agents can make out of my [incoherent thoughts](https://x.com/steipete/status/1958233967548850235).\n\nWhen I’m not refactoring I usually run 1-2 agents; for cleanup/tests/UI work ~4 seems to be the sweet spot. All depends on the blast radius of the work.\n\n## The Hard Parts\n\nThe hardest part is [distributed system design](https://x.com/steipete/status/1958573142726640116/photo/1), picking the right dependencies, platforms and a forward-thinking database schema.\n\nI’ve been building an incredible amount of custom infra, [admin pages](https://x.com/steipete/status/1958956225800151465), CLIs to help both me and the agents and that work did speed me up so much. Would have never done that with the old ways.\n\n## Testing Strategy\n\nBigger changes always get tests. Automated ones usually aren’t great, but the model almost always finds issues when you ask it to write tests IN THE SAME CONTEXT. Context is precious, don’t waste it.\n\n## Less is More\n\nEven [removed my last MCP](https://x.com/steipete/status/1958679613489524952), since Claude sometimes would go off spinning up Playwright unasked when it could simply read the code - which is faster and pollutes the context less.\n\nPick services that have CLIs: vercel, psql, gh, axiom. Agents can use them, one line in CLAUDE.md is enough “logs: axiom or vercel cli”. “Database: psql + one example how to load env correctly so the loop is faster”\n\n## Results and Comparisons\n\nGot an insane amount done with this setup. Other CLIs/models still don’t come close. [Codex can’t search](https://x.com/steipete/status/1954593439347032167) (asking “google best practices” is usually better than context). Cursor/GPT-5 takes FOREVER and doesn’t share its thinking, so it’s hard to steer. GPT-5 also is much more literal in how you have to prompt it - it’s a great model but not the best agent, you have to be more precise and specific.\n\nStill don’t see how this could be moved to background agents. I steer the models a lot as I notice them drifting off - that’s much harder if they run in the background.\n\nThe new rate limits will go into effect August 28 and that’ll definitely suck. Guess I’ll just pay up. No perfect alternative for now.\n",
  "dateCreated": "2026-09-27T19:29:15.293681927+00:00",
  "date_created": "2025-08-25T09:00:00+00:00",
  "date_modified": "2025-08-25T09:00:00+00:00",
  "date_published": "2025-08-25T09:00:00+00:00",
  "description": "Went fully back to Ghostty, VS Code on the side, and Claude Code as my main driver. Here's what actually works after months of experimentation.",
  "external_url": "https://steipete.me/posts/2025/optimal-ai-development-workflow/",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/steipete-me/2025/08/2025-08-25-my-current-ai-dev-workflow.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/steipete-me/2025/08/2025-08-25-my-current-ai-dev-workflow.md"
  },
  "id": "urn:aggr:item:fc92941cfd9fc9d9286ab65049f44140a17b017f",
  "isBasedOn": {
    "@id": "https://steipete.me/posts/2025/optimal-ai-development-workflow/"
  },
  "mainEntity": {
    "@id": "https://steipete.me/posts/2025/optimal-ai-development-workflow/",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/steipete-me/2025-08-25-my-current-ai-dev-workflow/#webpage"
    },
    "dateModified": "2025-08-25T09:00:00+00:00",
    "datePublished": "2025-08-25T09:00:00+00:00",
    "headline": "My Current AI Dev Workflow",
    "timeRequired": "PT3M",
    "url": "https://steipete.me/posts/2025/optimal-ai-development-workflow/",
    "wordCount": 604
  },
  "name": "Archived snapshot: My Current AI Dev Workflow",
  "preview": null,
  "reading_minutes": 3,
  "replicated_at": null,
  "source": "steipete-me",
  "source_name": "Peter Steinberger",
  "summary": "Went fully back to Ghostty, VS Code on the side, and Claude Code as my main driver. Here's what actually works after months of experimentation.",
  "tags": [],
  "temporalCoverage": "2026-09-27T19:29:15.293681927+00:00",
  "title": "My Current AI Dev Workflow",
  "url": "https://aggr.aymericbeaumet.com/items/steipete-me/2025-08-25-my-current-ai-dev-workflow/",
  "word_count": 604
}