<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Project Layout on theflyingcoders</title><link>https://theflyingcoders.dev/tags/project-layout/</link><description>Recent content in Project Layout on theflyingcoders</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Sat, 12 Sep 2026 09:00:00 +0100</lastBuildDate><atom:link href="https://theflyingcoders.dev/tags/project-layout/index.xml" rel="self" type="application/rss+xml"/><item><title>How I lay out a Go repo: three layers, one direction</title><link>https://theflyingcoders.dev/blog/how-i-lay-out-a-go-repo/</link><pubDate>Sat, 12 Sep 2026 09:00:00 +0100</pubDate><guid>https://theflyingcoders.dev/blog/how-i-lay-out-a-go-repo/</guid><description>Domain imports nothing and internal owns the logic. Transports hold none of it, whether that is an HTTP handler or a queue consumer, and the data layer swaps under the service without a handler noticing.</description></item></channel></rss>