<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sunday Swift</title><description>Swift tutorials, tips, and tricks</description><link>https://sundayswift.com/</link><item><title>Symposium: Agents That Start Themselves</title><link>https://sundayswift.com/posts/building-symposium/</link><guid isPermaLink="true">https://sundayswift.com/posts/building-symposium/</guid><description>What happens when you take the human out of the agent loop. Building an autonomous issue-to-PR pipeline in Rust with MCP, fail-open design, and filesystem IPC.</description><pubDate>Fri, 20 Mar 2026 21:00:00 GMT</pubDate></item><item><title>Preparing Your iOS Codebase for AI Agents</title><link>https://sundayswift.com/posts/preparing-ios-codebase-for-ai-agents/</link><guid isPermaLink="true">https://sundayswift.com/posts/preparing-ios-codebase-for-ai-agents/</guid><description>What I learned setting up a large-scale iOS codebase so that AI coding agents can work in it effectively, from hierarchical documentation to executable skills.</description><pubDate>Thu, 19 Mar 2026 21:00:00 GMT</pubDate></item><item><title>How Our Agents Test Their Own iOS Changes</title><link>https://sundayswift.com/posts/how-our-agents-test-their-own-ios-changes/</link><guid isPermaLink="true">https://sundayswift.com/posts/how-our-agents-test-their-own-ios-changes/</guid><description>How we built a skill that lets AI coding agents verify their own iOS changes on a real simulator, with video recording and accessibility auditing.</description><pubDate>Thu, 19 Mar 2026 19:00:00 GMT</pubDate></item><item><title>Give Your Agents a Makefile</title><link>https://sundayswift.com/posts/cli-friendly-ios-tooling/</link><guid isPermaLink="true">https://sundayswift.com/posts/cli-friendly-ios-tooling/</guid><description>Why wrapping your iOS build commands in a Makefile is the highest-leverage change you can make for AI coding agents.</description><pubDate>Thu, 19 Mar 2026 15:00:00 GMT</pubDate></item><item><title>Building a Mini Linker for SwiftUI Previews</title><link>https://sundayswift.com/posts/xcode-previews-v2/</link><guid isPermaLink="true">https://sundayswift.com/posts/xcode-previews-v2/</guid><description>How I rewrote Claude-XcodePreviews in Swift and accidentally built a declaration-level dependency resolver.</description><pubDate>Wed, 04 Mar 2026 17:00:00 GMT</pubDate></item><item><title>Building Canopy: A Native GitHub Inbox and a Testbed for Lists</title><link>https://sundayswift.com/posts/building-canopy/</link><guid isPermaLink="true">https://sundayswift.com/posts/building-canopy/</guid><description>How building a native macOS GitHub notification client exposed surprising gaps in GitHub&apos;s public API and stress-tested Lists in a real app.</description><pubDate>Tue, 24 Feb 2026 22:00:00 GMT</pubDate></item><item><title>Git Worktrees for iOS: A Practical Setup Guide</title><link>https://sundayswift.com/posts/ios-worktrees/</link><guid isPermaLink="true">https://sundayswift.com/posts/ios-worktrees/</guid><description>How to set up an iOS project for git worktrees, including DerivedData isolation, SPM caching, simulator conflicts, and project file merge strategies.</description><pubDate>Mon, 16 Feb 2026 17:00:00 GMT</pubDate></item><item><title>Building Lists: A High-Performance Diffable Data Source Framework</title><link>https://sundayswift.com/posts/building-a-high-performance-list-framework/</link><guid isPermaLink="true">https://sundayswift.com/posts/building-a-high-performance-list-framework/</guid><description>A deep dive into the design, performance, and trade-offs behind Lists, a pure-Swift replacement for UICollectionViewDiffableDataSource.</description><pubDate>Sat, 14 Feb 2026 17:00:00 GMT</pubDate></item><item><title>Building a Multi-Agent Code Reviewer</title><link>https://sundayswift.com/posts/building-a-multi-agent-code-reviewer/</link><guid isPermaLink="true">https://sundayswift.com/posts/building-a-multi-agent-code-reviewer/</guid><description>What I learned building claude-deep-review, a code review skill that decomposes review into 15 specialized agents running in parallel.</description><pubDate>Fri, 13 Feb 2026 23:00:00 GMT</pubDate></item><item><title>Orchestrating AI Agents with Claudio: Lessons from Parallelizing Claude Code</title><link>https://sundayswift.com/posts/orchestrating-ai-agents-with-claudio/</link><guid isPermaLink="true">https://sundayswift.com/posts/orchestrating-ai-agents-with-claudio/</guid><description>What I learned building Claudio, a tool that runs multiple AI coding agents simultaneously using git worktrees</description><pubDate>Fri, 13 Feb 2026 21:00:00 GMT</pubDate></item><item><title>Shipping a CLI on FoundationModels</title><link>https://sundayswift.com/posts/building-with-apple-on-device-models/</link><guid isPermaLink="true">https://sundayswift.com/posts/building-with-apple-on-device-models/</guid><description>What it&apos;s actually like to build a real tool on Apple&apos;s on-device FoundationModels framework — the 4,096 token ceiling, blind token budgeting, and everything in between</description><pubDate>Fri, 13 Feb 2026 19:00:00 GMT</pubDate></item><item><title>Teaching AI to See SwiftUI Previews</title><link>https://sundayswift.com/posts/teaching-ai-to-see-xcode-previews/</link><guid isPermaLink="true">https://sundayswift.com/posts/teaching-ai-to-see-xcode-previews/</guid><description>What I learned building a CLI toolset that captures SwiftUI previews programmatically, giving AI coding assistants a visual feedback loop.</description><pubDate>Fri, 13 Feb 2026 17:00:00 GMT</pubDate></item><item><title>Using SwiftUI `View`s in `UIView`s</title><link>https://sundayswift.com/posts/swiftui-views-in-uiview/</link><guid isPermaLink="true">https://sundayswift.com/posts/swiftui-views-in-uiview/</guid><description>Directly add a SwiftUI View to your UIView without a UIHostingController</description><pubDate>Mon, 15 Apr 2024 22:00:00 GMT</pubDate></item><item><title>Generating SwiftUI Previews for UIKit</title><link>https://sundayswift.com/posts/easy-uikit-previews/</link><guid isPermaLink="true">https://sundayswift.com/posts/easy-uikit-previews/</guid><description>How to quickly generate a preview for your UIKit View</description><pubDate>Mon, 01 May 2023 12:00:00 GMT</pubDate></item><item><title>Cross-Platform Size-Aware SwiftUI</title><link>https://sundayswift.com/posts/cross-platform-size-aware-swiftui/</link><guid isPermaLink="true">https://sundayswift.com/posts/cross-platform-size-aware-swiftui/</guid><description>How to quickly extend cross-platform SwiftUI for macOS size classes</description><pubDate>Fri, 07 Apr 2023 15:30:00 GMT</pubDate></item><item><title>Generating `Hashable` and `Equatable` for functions</title><link>https://sundayswift.com/posts/generated-protocols/</link><guid isPermaLink="true">https://sundayswift.com/posts/generated-protocols/</guid><description>Often, we pass functions as stored arguments to an object. In this quick tip, we explore how we can still maintain `Hashable` and `Equatable` when we do so, without having to write it ourselves.</description><pubDate>Tue, 04 Apr 2023 03:30:00 GMT</pubDate></item><item><title>View Modifiers</title><link>https://sundayswift.com/posts/view-modifiers/</link><guid isPermaLink="true">https://sundayswift.com/posts/view-modifiers/</guid><description>How view modifiers work, tips &amp; tricks for declaring our own, and nipping subtle bugs in the bud.</description><pubDate>Tue, 04 Apr 2023 03:00:00 GMT</pubDate></item><item><title>Data Flow Property Wrappers</title><link>https://sundayswift.com/posts/data-flow/</link><guid isPermaLink="true">https://sundayswift.com/posts/data-flow/</guid><description>With so many property wrappers for data flow and data binding in SwiftUI, it&apos;s easy to get confused about which one to use. Here, we&apos;ll learn about the differences between State, StateObject, Binding, and ObservedObject. We&apos;ll look at when to use each one, and the differences between them.</description><pubDate>Tue, 28 Mar 2023 03:00:00 GMT</pubDate></item><item><title>Stacks on Stacks</title><link>https://sundayswift.com/posts/stacks-intro/</link><guid isPermaLink="true">https://sundayswift.com/posts/stacks-intro/</guid><description>An introduction to some of the most powerful tools in SwiftUI, stack views</description><pubDate>Tue, 21 Mar 2023 03:00:00 GMT</pubDate></item><item><title>An Intro to SwiftUI</title><link>https://sundayswift.com/posts/intro-to-swiftui/</link><guid isPermaLink="true">https://sundayswift.com/posts/intro-to-swiftui/</guid><description>What is SwiftUI, why should I use it, and what&apos;s the most basic building block?</description><pubDate>Mon, 20 Mar 2023 03:15:00 GMT</pubDate></item><item><title>Just Use A Button</title><link>https://sundayswift.com/posts/just-use-a-button/</link><guid isPermaLink="true">https://sundayswift.com/posts/just-use-a-button/</guid><description>Get highlight styles for SwiftUI views in List, without using a NavigationLink</description><pubDate>Sun, 19 Mar 2023 22:00:00 GMT</pubDate></item><item><title>Using Cross Import Overlays to Improve Your Libraries</title><link>https://sundayswift.com/posts/cross-import-overlays/</link><guid isPermaLink="true">https://sundayswift.com/posts/cross-import-overlays/</guid><description>How to use cross import overlays in your project, today</description><pubDate>Sun, 19 Mar 2023 12:00:00 GMT</pubDate></item><item><title>Build views, not cells</title><link>https://sundayswift.com/posts/ui-views/</link><guid isPermaLink="true">https://sundayswift.com/posts/ui-views/</guid><description>Why I build `UIView`s, not `UITableViewCell`s.</description><pubDate>Sat, 18 Mar 2023 12:00:00 GMT</pubDate></item><item><title>Integrating SwiftUI in Leaf Nodes of your iOS Application</title><link>https://sundayswift.com/posts/swiftui-leaf/</link><guid isPermaLink="true">https://sundayswift.com/posts/swiftui-leaf/</guid><description>Integrating SwiftUI at the Leaf Nodes</description><pubDate>Fri, 17 Mar 2023 12:00:00 GMT</pubDate></item></channel></rss>