Launching today

GPS
Memory layer for LLMs that stores repo rules + past lessons
60 followers
Memory layer for LLMs that stores repo rules + past lessons
60 followers
Your coding agent forgets everything the second a session ends. GPS fixes that. It learns your repo's rules, decisions, gotchas, and test commands, then surfaces exactly what's relevant before any edit. No more "don't log PII here" corrections twice. No more repeating yourself every run. Memory anchored to symbols and files, not dumped into a bloated CLAUDE.md. Agents track their own failures and get smarter over time. Local-first, CLI-first, built for Claude Code, Codex, Cursor, and MCP.






@hardik_singh9 Congrats on the launch Hardik, can you go into a bit more detail on the "anchors memory to the actual symbols and files" element?
@zolani_matebese Great question. Most memory systems for agents work by accumulating a flat list of notes or stuffing everything into a system prompt. The problem is that becomes noise fast, and the agent can't tell what's relevant to the current task.
GPS works differently. When you save a memory, it gets tagged to the specific files, functions, or symbols it's about. So if there's a rule like "never log user IDs in this module," that memory is anchored to that file path and the relevant functions. When an agent is about to edit that code, GPS surfaces exactly those memories and nothing else. It's context retrieval based on what the agent is actually touching, not a keyword search or a dump of everything it's ever learned.
The result is that agents get dense, relevant context right before they need it, rather than a bloated doc they mostly ignore.
GPS anchors memory to code symbols and files, which makes sense for repository-local rules. The harder case is when a rule is cross-cutting, say, a constraint that applies to any function that touches a particular data model regardless of where it lives. Does the memory layer handle that kind of relational mapping, or is the retrieval currently path/symbol-bound? Asking because most of the real-world coding standards that get violated are the cross-cutting ones, not the file-local ones.