The Real Python Podcast· Folge 314

Codemoo: Demonstrating How Coding Agents Work

Freitag, 9. Oktober 2026 · 1 h 07

MP3

Shownotes

<p>How do you assemble the core pieces of a coding agent? How are developers defining projects through conversation and introspection? This week on the show, Geir Arne Hjelle returns to talk about his recent project to demonstrate how coding agents work under the hood.</p>
<p>Geir Arne was my first guest on this program and has returned often over the years. He’s been exploring how coding agents work and has built a demonstration tool to explain them.</p>
<p>We also discuss how he is using LLM tools in his work. We talk about moving beyond Spec-Driven Development to using tools that help you build architecture documents through thorough questioning sessions. </p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="realpython.com/courses/modern-python-linting-r… Python Linting With Ruff</a></p>
<p>Ruff is a blazing-fast, modern Python linter with a simple interface that can replace Pylint, isort, and Black—and it’s rapidly becoming popular.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:01:52 – Codemoo - Demonstrating how coding agents work under the hood</li>
<li>00:06:39 – Exploring Spec-Driven Development</li>
<li>00:09:38 – Breaking into the levels of a harness</li>
<li>00:17:08 – Tool calling</li>
<li>00:24:20 – Being a newbie again</li>
<li>00:29:00 – Designing the progression</li>
<li>00:35:29 – Video Course Spotlight</li>
<li>00:37:01 – What was difficult about the process?</li>
<li>00:41:09 – What tools are you using currently?</li>
<li>00:44:10 – Moving from OpenSpec toward grill-me</li>
<li>00:50:43 – Deciding on which LLM</li>
<li>00:53:49 – garuff: Opinionated Python linter rules for coding agents</li>
<li>00:58:00 – Offsetting atrophy with code challenges</li>
<li>01:01:56 – What are you excited about in the world of Python?</li>
<li>01:04:01 – What do you want to learn next?</li>
<li>01:05:55 – How can people follow your work online?</li>
<li>01:06:23 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="github.com/gahjelle/codemoo">codemoo: Demonstration of how coding agents work under the hood - GitHub</a></li>
<li><a href="pypi.org/project/codemoo/">codemoo - PyPI</a></li>
<li><a href="github.com/gahjelle/configaroo">config…: Bouncy configuration handling</a></li>
<li><a href="github.com/gahjelle/koalaty">koalaty: Evaluate and compare models in agent harnesses</a></li>
<li><a href="realpython.com/podcasts/rpp/277/">Epis… #277: Moving Towards Spec-Driven Development</a></li>
<li><a href="github.com/Fission-AI/OpenSpec">OpenSpec: Spec-driven development (SDD) for AI coding assistants.</a></li>
<li><a href="app.codecrafters.io/courses/claude-code/overvi… your own Claude Code - CodeCrafters</a></li>
<li><a href="github.com/luongnv89/claude-howto">cla…: A visual, example-driven guide to Claude Code</a></li>
<li><a href="aihero.dev/">Matt Pocock: Become a Real AI Hero</a></li>
<li><a href="aihero.dev/skills-grill-me">The /grill-me Skill</a></li>
<li><a href="github.com/mattpocock/skills">mattpoco…: Skills for Real Engineers. Straight from my .agents directory.</a></li>
<li><a href="github.com/gahjelle/garuff">garuff: Personal and opinionated Python linter rules aimed at coding agents</a></li>
<li><a href="pypi.org/project/garuff/">garuff - PyPI</a></li>
<li><a href="adventofcode.com/">Advent of Code 2025</a></li>
<li><a href="realpython.com/python-advent-of-code/">… of Code: Solving Your Puzzles With Python – Real Python</a></li>
<li><a href="everybody.codes/events">Everybody Codes</a></li>
<li><a href="codeberg.org/dailyprog/dailyprog.club">…: A daily programming puzzle app. - Codeberg.org</a></li>
<li><a href="flipflop.slome.org/">FlipFlop</a>…;
<li><a href="realpython.com/python315-lazy-imports/"&g… 3.15 Preview: Lazy Imports – Real Python</a></li>
<li><a href="perchs.dk/en/product/milky-oolong/">Mi… Oolong - A.C. Perch’s Tehandel</a></li>
<li><a href="en.wikipedia.org/wiki/Gongfu_tea">Gongfu tea - Wikipedia</a></li>
<li><a href="meileaf.com/article/how-to-brew-tea-properly/&… to Brew Tea Properly</a></li>
<li><a href="github.com/gahjelle?tab=repositories">… (Geir Arne Hjelle) / Repositories</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="realpython.com/courses/modern-python-linting-r… Python Linting With Ruff</a></li>
<li><a href="realpython.com/courses/tips-using-ai-coding-ed… for Using the AI Coding Editor Cursor</a></li>
<li><a href="realpython.com/courses/using-claude-api-python… the Claude API in Python</a></li>
</ul> <p><a rel="payment" href="realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>

0:00 / 0:00