Two weeks ago I was debugging a module I had written myself.
Sat staring at it for twenty minutes. everything was unfamiliar. The structure made no...
For further actions, you may consider blocking this person and/or reporting abuse
codebase memory is one of those things where the value compounds over time - slow to appreciate at first, then you really notice it when you switch contexts or come back to something after a few weeks. curious what the storage backend looks like and whether it handles monorepos with multiple services cleanly or if you have to segment it manually
It actually uses your codebase root as the storage backend , Local first approach - where the documentations gets updated each time you make a change and remains locally ( without being shared to a 3rd party Org ) , the docs would get contained in a "./devmem" dir ( dir in the project root )
as of now , i have tested with monorepos with MVC pattern codebases and its able to draw boundaries between different modules , crawling the codebase , identifying the files , writing docs.
Personal Note : "Its a weekend project. I dont get much time aside my full-time swe job , its still in its baby stage , would make it more robust and promising in the future "
local-first is the right call here - the moment your codebase memory lives in a third-party silo you've got a privacy problem and a vendor dependency. auto-updating on each change is interesting though, does it diff or full-rebuild? would imagine large codebases could get noisy fast
Interesting, I wonder if this could be integrated?
your agent can think. it can't remember.
Hi. I have similar workflow tool called REAP. Click my profile and see my recent posts. The key thing is, generate document at once is easy. But managing the knowledge in ai session context always fresh and maintain synchronized with codebase is the real problem to solve. You might need iterative workflow to kept the document to synchornize with code base. I recommend you to search “reap.cc”
Nice concept , reap is something i will call more matured than the current state of devmem and also serves a bit of different purpose other than auto-documenting & changelog capture that becomes a unified memory both for humans as well as Agents.
Thanks, I’m working on it!
That "stranger in your own codebase" problem hit home. I've definitely had moments where I'm reading my own code from 3 months ago like "who wrote this garbage" and then checking git blame... oh. me.
The commit-time approach makes a lot of sense. Documentation as a post-commit hook is the only way it actually gets written consistently. I've tried convention-based doc tools before and they all become shelfware within weeks.
One question — how does this handle the incremental capture when you have commits that span multiple modules but are logically one change? Like refactoring a shared type that ripples through 5 different directories. Does each module get its own isolated doc patch, or is there some way to link them conceptually?
Also, have you thought about adding a git hook that just auto-runs
devmem captureafter every commit? Removes one more manual step. Most devs would probably forget to run it otherwise (myself included).Spot on , each module gets their dedicated Document ( markdown file ) that gets auto-updated even on a minute change ( that is based on the git diff ) .
great idea of adding the devmem capture git hook , have raised the issue - once i get time , i would start working on it.
its also conceptually linked by the changelog hashid ~ git hash id for easy traceability and figuring out what & when the changes were made.
Personal Note : "Its a weekend project. I dont get much time aside my full-time swe job , its still in its baby stage , would make it more robust and promising in the future "
This is actually a pretty cool idea… giving a codebase some kind of “memory” feels like a small step toward something much bigger.
Tools like this make you think about how development might evolve in ways we’re just starting to see.
Curious to see where this goes.
Really cool concept — giving a codebase persistent memory solves one of the biggest friction points in developer onboarding and context-switching. The idea of AI understanding not just what code does but why decisions were made is powerful.
We're exploring a similar philosophy with AnveVoice — instead of AI that just reads/understands websites, we built voice AI that takes real DOM actions (clicks buttons, fills forms, navigates pages). The "memory" angle resonates because our agent needs to understand the full page context to act correctly. Built in Go too? Nice choice for CLI tooling. What's your approach to handling stale context when code changes significantly?
Hey , great initiative in the domain you are building, of context engineering ! its a really booming domain fs in 26 , currently by default the stale context is being discared and is only remembered in the changelog history in form of short summaries , if we compress the stale context and still store it , and retrieve only when necessary with the help of page index ( vectordb less RAG ) then it can be a solution , talking vaguely here but will soon think of a solution for this.
Thanks 🙌🏻
This is such a clever idea! Context switching and forgetting why certain decisions were made is one of the biggest productivity killers for developers. Having a dedicated CLI to act as a 'memory bank' right inside the terminal is brilliant. Thanks for building and sharing this!
"Developers have a context window too" -- this is such a perfect way to frame it. I've had the exact same experience: reviewing AI-generated code I merged a week ago and feeling like I'm reading someone else's project. Definitely checking out DevMem.
This is promising.
Glad you liked :D
Its open for contributions and your love in form of Stars :D
This looks extremely useful, but the Anthropic API Key only requirement is a blocker, will you be adding the ability to bring your own API Key?
yeah , multiple AI clients are in the future roadmap , added to issue - will implement them gradually , btw its open for contributions , anyone can contribute to it meanigfully :D
Cool project! The 'scratch your own itch' approach to building tools is the best kind of open source. What's been the most unexpected use case so far?
Hi, how does this function differently than
Then doing
hey , i am unaware about this tool. i would test , compare and elucidate