When you build a PowerShell project from multiple files, the natural structure is clear: enums first, then classes, then functions. Each group has its own place, and as long as dependencies only flow in one direction, that structure works perfectly. But sometimes a function depends on a class, and that class calls the function. There is no longer a clean boundary between the two groups — they need
I have a confession: I'm a productivity app addict. Notion, Todoist, Things, TickTick, Bear, Obsidian — I've tried them all. And every single one failed me in the same way. Not because they were bad apps. But because they let me add unlimited tasks. So I'd wake up Monday morning, open my to-do app, and see 47 items staring back at me. By 9am I was already paralyzed. Decision fatigue is real. When
The drift problem nobody told you about If you have used Claude Code, Cursor, Aider, or any other AI coding agent across more than two projects, you have felt this: You start project A. You copy the .agents/ folder (or CLAUDE.md, or .cursorrules) from your last project. You tweak two things. Done. You start project B six weeks later. You copy from project A. You tweak three things this time. Now
Cross-posted from the Stigmem blog. Today we're releasing stigmem v1.0: A stable, open-source specification and reference implementation for a federated knowledge fabric for AI agents. Stigmem = Stigmergy + Memory. Stigmergy (Greek stigma — mark; ergon — work) is the coordination mechanism you see in ant colonies and termite mounds: agents don't communicate directly with each other. Instead, they
More rules should mean better output. That's the intuition. I spent weeks building a comprehensive CLAUDE.md — 200 lines covering naming conventions, security rules, error handling, architectural patterns, import ordering, type safety requirements, and more. I was proud of it. I'd thought through every scenario. Then I scored the output. 79.0 / 100. My carefully crafted documentation was actively
In the gold rush of Artificial Intelligence, developers often obsess over model parameters, token limits, and inference speeds. But in the Apple ecosystem, a groundbreaking AI model is only as good as the interface that houses it. If your app delivers world-changing insights but hides them behind a keyboard or makes them invisible to VoiceOver users, it isn't a "smart" app—it’s a broken one. Build
The previous three posts covered how events flow from the SDK to the UI, how the timeline renders, and how tool cards visualize. This final post looks at SwiftWork's infrastructure — how data is stored, how state is restored, how Markdown is rendered, how code is highlighted, and how API keys are managed. These components are independent, but all essential to making the app usable. SwiftWork uses
The previous two posts covered how events flow from the SDK to the UI. This post focuses on visualizing one specific type of event: tool calls. Tool invocations are the most frequent operations in an Agent application. A typical task might call tools twenty or thirty times—reading files, writing files, executing commands, searching code. If every tool call renders as the same gray block, it's hard