Have you ever spent 20 minutes looking for a conversation you had with Cursor last week? The one where it helped you fix a tricky async bug—and now you're facing the same issue in a different project, but can't find that thread anywhere? This isn't a user error. It's a structural limitation in how Cursor handles session history. Cursor includes a built-in conversation history panel. You can browse
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
Post 1 covered how AgentBridge converts the SDK's AsyncStream<SDKMessage> into [AgentEvent]. This post looks at what [AgentEvent] becomes — how TimelineView renders 18 event types, handles scroll behavior, and stays smooth when the event count gets large. TimelineView is the main body of the workspace, filling all the space between the sidebar and the input box. Its view hierarchy is shallow: Time
llms.txt is a small text file on a documentation site—usually lists what the product is and links to the important Markdown pages. For coding agents, treat it as the canonical URL to open first when upstream behavior is unclear. This post is mostly setup and workflow, not theory. Location Put this there Official doc server https://example.com/llms.txt (maintained by the library/vendor) Y
This post was created with AI assistance and reviewed for accuracy before publishing. Cursor can use project rules and documentation to steer behavior. Exact file names and mechanisms evolve; check Cursor documentation for the current layout (for example rules in .cursor or legacy .cursorrules patterns). Short, enforceable bullets beat long essays: stack versions, test commands, “no new dependenci
"Write a function to fetch the list of users." — same prompt, same codebase. Yesterday: getUsers(). Today: fetchUserList(). Tomorrow: loadAllUsers(). Six months of AI-assisted coding and I kept hitting this wall. My initial reaction was "maybe I need to write better prompts." I wrote better prompts. The functions got slightly better. New inconsistencies appeared elsewhere. The problem wasn't the A