<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Asset Forge dev blog</title>
  <link>https://reasons.design/asset-forge-devblog/</link>
  <description>A dev blog about building Asset Forge, a game-asset studio: the research, the costs, the agent team, and the bugs, in reading order.</description>
  <language>en</language>
  <lastBuildDate>Sun, 11 Oct 2026 12:00:00 +0000</lastBuildDate>
  <atom:link href="https://reasons.design/asset-forge-devblog/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>Making merges faster</title>
    <link>https://reasons.design/asset-forge-devblog/making-merges-faster/</link>
    <guid isPermaLink="true">https://reasons.design/asset-forge-devblog/making-merges-faster/</guid>
    <pubDate>Sun, 11 Oct 2026 12:00:00 +0000</pubDate>
    <description>Every merge ran every UI check, so a card that changed one screen still waited about an hour. Picking only the checks a change can affect fixed that for small cards. Most cards still touch shared files, and moving tests to my second PC freed a lock more than it saved time.</description>
  </item>
  <item>
    <title>Building with a team of AI agents</title>
    <link>https://reasons.design/asset-forge-devblog/building-with-a-team-of-ai-agents/</link>
    <guid isPermaLink="true">https://reasons.design/asset-forge-devblog/building-with-a-team-of-ai-agents/</guid>
    <pubDate>Sun, 11 Oct 2026 12:00:00 +0000</pubDate>
    <description>I write cards and Claude agents do the work, one card per run, each in its own git worktree, with a single merge script as the only way into main. Over 131 cards and 274 runs, more than half the cards needed a second run.</description>
  </item>
  <item>
    <title>Never a surprise bill</title>
    <link>https://reasons.design/asset-forge-devblog/never-a-surprise-bill/</link>
    <guid isPermaLink="true">https://reasons.design/asset-forge-devblog/never-a-surprise-bill/</guid>
    <pubDate>Sun, 11 Oct 2026 12:00:00 +0000</pubDate>
    <description>Nothing paid runs in Asset Forge without a price on the button and a yes from me. This is how that rule grew, from a $5 cap on day one to job-id spend tracking, and the two money cards still unfinished on 11 October.</description>
  </item>
  <item>
    <title>Studying the competition</title>
    <link>https://reasons.design/asset-forge-devblog/studying-the-competition/</link>
    <guid isPermaLink="true">https://reasons.design/asset-forge-devblog/studying-the-competition/</guid>
    <pubDate>Sun, 11 Oct 2026 12:00:00 +0000</pubDate>
    <description>Before I wrote much code I read everything Sorceress publishes, mapped its logged-in tools without spending a credit, then ran capped paid tests. It took 1,046 credits, plus one API key I had to scrub from git history.</description>
  </item>
  <item>
    <title>Why I built my own asset studio</title>
    <link>https://reasons.design/asset-forge-devblog/why-i-built-my-own-asset-studio/</link>
    <guid isPermaLink="true">https://reasons.design/asset-forge-devblog/why-i-built-my-own-asset-studio/</guid>
    <pubDate>Sun, 11 Oct 2026 12:00:00 +0000</pubDate>
    <description>On 2 October I started a Godot game, wrote down the 97 pieces of art it needed, and paused it the same afternoon to build a tool for making them. Ten days and 66 versions later, the game is still paused.</description>
  </item>
</channel>
</rss>
