Show HN: CodeAlmanac – Karpathy-style codebase wiki from your conversations

Posted by divitsheth 3 days ago

Counter59Comment21OpenOriginal

Hey HN! This is Divit from Almanac (YC S26). We built CodeAlmanac, a wiki for your coding agents that updates as you talk to them. It is open-source, local, and free.

Here’s a demo: https://www.youtube.com/watch?v=XNQWV3TFBWM

Your CC/Codex conversations contain a LOT of knowledge that is forgotten because it was never documented. People have their own methods of documenting their chats. We used to make Markdown files like MANUAL.md and DESIGN.md, and would prompt Claude to keep them updated. The problem is that these files quickly become outdated and messy, and there’s only so much you can put in a single file.

So we set out to build CodeAlmanac. We wanted something that was 1) maintained automatically, 2) lived inside our repository, and 3) used our existing Codex/Claude Code subscriptions.

CodeAlmanac maintains an almanac/ folder inside your repository. It contains connected Markdown pages that cover things not documented in the codebase, including decisions you have made and why the codebase is shaped this way.

The pages are indexed in SQLite and are queryable through a CLI. We add instructions to AGENTS.md or CLAUDE.md so future sessions automatically search the wiki before they start coding.

Every five hours, CodeAlmanac uses the Codex/CC SDK to spin up an agent that reads your new conversations and updates the relevant pages. We went with a time-based trigger instead of commits because we saw people commit very frequently, which would lead to high token costs.

We originally made CodeAlmanac for individual developers, but the team use case has become much more obvious to us while using it ourselves. We are a team of three, and each of us works with our own coding agents. Before this, I would make some change after a lot of thinking and then later have to call my cofounders and explain why it looked this way. There is almost a sense of relief now knowing that the decisions I made are written down somewhere their agents will actually read.

It’s live today for everyone to try. Please let me know your feedback and I’ll be here to answer any questions. Would also love to hear how you all maintain context across conversations today!

Comments

Comment by ajrouvoet 3 days ago

Although I’d like this to work, I have not seen evidence that AIs extract good reusable knowledge from sessions without strong guidance.

I do R&D work in comp sci and usually write software and reports or papers in parallel. I have been using Opus in a controlled human-in-the-loop fashion to (significantly) speed up the work. While I’m at times surprised how high-level input steers output the right way, no high level ideas emerge from the AIs output. Many attempts to abstract from the concrete are wrong.

As a consequence, most writing is poor on content and form. It writes about the wrong things and crosses abstraction levels all the time. It cannot keep implementation details and conceptual leaps apart.

I don’t know what this means for the aim of this project to maintain important info for agents. Perhaps there are enough low-hanging fruits. That said, I’m skeptical that the resulting wiki is good documentation for human contributors.

Comment by reveriedev 3 days ago

We've found Opus/Gpt are really bad at technical writing. We've found ways around this by having guidelines like https://www.openalmanac.org/ai-patterns-to-avoid.md, which have worked quite well for us.

Understanding what is relevant to be documented vs not is definitely tricky and something we've spent a lot of time on. We found being more prescriptive about what should be documented is helpful, we incorporated guidance from diataxis for it (https://diataxis.fr/)

Also the wiki is primarily for your agents and not for people. Although we're working to improve the prose quality and structure so it is well written for humans too.

Comment by ajrouvoet 3 days ago

Do you mean that specifically those models perform badly without guidance or do all models need specific instructions for technical writing?

We have observed that it is a loss for teamwork that the sparring with AI is entirely lost when only the technical conclusion is recorded. I write to recover that for my team and an AI can use it to its advantage as a side effect.

It would be cool to have good tool support for this process, but I’d bet on support, not delegation in that case.

Comment by reveriedev 3 days ago

The models perform badly without guidance but we've found the guidance doesn't need a human in the loop (at least for this task). You can distill what makes a good wiki, what information should go in etc. and the models are good enough to do it reliably. That's what took the most time (researching and studying existing wikis)

When you say support do you mean something where you can collaborate with the model to maintain the wiki?

Comment by ajrouvoet 3 days ago

Yes: the human provides the qualitative judgement and the agent provides the executive function.

Comment by tdu01 1 day ago

We built something similar for our team at work. A human has to run it and review/skim for correctness, who quickly gets overwhelmed. The purpose eventually became an AI wiki for AI to use to spawn agents more efficiently (token wise), to pull in only modules it needs and fills in the blanks from the md files. Like a knowledge graph. It has become useful for production support, design, feature dev, domain specific learnings. We also found it makes a huge difference which model you use to encode and which model you use to decode.

Comment by romanoonhn 2 days ago

Looks very interesting! I'll be trying to set that up. One thing I'm wondering is: I have multiple persistent worktrees for my repo so that I start Claude from different locations (ie folders where this worktree is instantiated). Would it be possible for almanach to reconcile it all together? I figure I could set it up into each folder and 'ln -S' the almanach folder from the base repo to each worktree. Would that work?

Comment by w4v3z 2 days ago

Nice! Curious about one thing: how do you handle a decision that gets reversed later? If the wiki page just keeps getting updated in place, does it retain any signal that an approach was tried and explicitly abandoned?

Comment by satoyoshidev 2 days ago

Transcripts tend to have secrets pasted into them during debugging, api keys, .env values and so on. Is there anything that keeps the sync agent from writing those into almanac/ pages that get committed?

Comment by pseufaux 2 days ago

Are there any plans to sandbox the agents? I suspect it would be fairly trivial on macOS using sandbox-exec. This looks very useful but I hesitate to run yolo mode agents (even with clear instructions) on my machine.

Comment by pwillia7 3 days ago

Any data on better outputs and/or token saving?

Comment by divitsheth 3 days ago

We’re working on evals now. We ran a small preliminary LoCoMo test with a 2k-token retrieval budget:

Almanac: 55.7% BM25: 51.8% Supermemory: 47.6% Mem0: 60.6%

LoCoMo is not quite our use case. It tests conversational memory, while Almanac is more for coding agents trying to find their way around a codebase.

These results show output quality at the same token budget, not token savings yet. We’re working on coding agent evals that should be more representative.

Comment by pwillia7 3 days ago

Cool thanks I will keep an eye on it!

Comment by gupsak31 3 days ago

This looks promising. Is there a version I can use to self improve my production workflows and not just the dev work?

Comment by divitsheth 3 days ago

Glad you liked it! Would love to chat more about what kind of production workflows you are looking to improve. You could grab whichever time is convenient for you: https://cal.com/team/almanac/demo

Comment by 3 days ago

Comment by colinb 3 days ago

Not in any way being negative about what you’ve done, but… Mac only. Is this just because of inbuilt knowledge about file system shape or some more important Apple exclusive tool/environmental quirk?

Comment by reveriedev 3 days ago

We’re working on Linux/Windows support right now. Mac was the easiest to setup for us since that’s the machine we code on. What OS do you use?

Comment by Nocerg 3 days ago

Not OP, but I use NixOS. I will give it a try later tonight. Do you need public contribution for this?

Comment by divitsheth 3 days ago

Would love to hear your thoughts and appreciate public contribution.

Comment by euleriancon 3 days ago

Spent some time playing on it just now on Linux. I couldn't easily get the automatic ingestion or gardening working, but everything else is working okay. For my workflows I think I actually prefer wiki updates being manual and deliberate.

Comment by zeroday404 2 days ago

wow very nice brother

Comment by DevAutomationCC 2 days ago

[dead]

Comment by zane_shu 3 days ago

[flagged]

Comment by brcmthrowaway 3 days ago

[dead]