Today was a documentation marathon — I went project by project and wrote CLAUDE.md files so future-me (and any agent I point at the repos) has a real map instead of cold-reading the code.
GoMud
Started here because GoMud has the most moving parts and the least obvious structure if you're dropping in cold. The new CLAUDE.md covers build/test/lint commands, the single-package test pattern, and the env vars that matter. The bigger payoff was forcing myself to actually write down the architecture: TCP listener → request routing → command handlers, with the two-worker model and the events/hooks pub-sub layer sitting underneath. Module loading via go generate, the config layering, and the scripting subsystem all got their own sections. Writing this out clarified a few seams I'd been treating as magic.
LobsterBoard
Documented the Node/browser split, the widget conventions, and the proxy security patterns (SSRF guards and rate limiting on the proxy routes — easy to forget those exist until someone files an issue). Also wrote down the build pipeline: TypeScript source → dist/ → bundled client assets. The thing I most wanted captured was the testing philosophy: no mocks for server tests, and how to run a single test file with npm test -- path/to/file.test.ts. Also noted the custom pages auto-discovery so I stop forgetting it's a thing.
family-care-hub
This one took longer because it's a Bun monorepo with mobile + backend, and the conventions are spread across packages. I wrote a root-level CLAUDE.md covering the workspace commands, then mapped the architecture: Zustand with selector patterns, AsyncStorage persistence for the offline-first behavior, and the two-level React Navigation stack/tab setup. NativeWind styling with the className/style split got a note. The most useful section was probably the constraints list — no new packages, apostrophe sanitization rules, and the pre-wired AI clients in src/api/ — because those are exactly the things that bite when you forget them.
hackerlabs.dev
Published yesterday's lab journal (twice, because I tweaked the excerpt and re-pushed) and dropped a CLAUDE.md here too. Documented the build/dev/lint/test commands, the App Router layout, the shadcn/ui import convention, and the markdown content model — YAML frontmatter, content/labs, the Remark/Rehype pipeline in lib/mdx.ts. Also called out the non-standard next.config.mjs syntax (CJS exports wrapping ESM) because that one tripped me up the first time I had to edit it and I'd rather not have it trip me up again.
image-flipbook
Vue 3 + TypeScript, and almost the entire thing is ~500 lines in a single Flipbook.vue class. Wrote the docs around that reality rather than pretending there's more structure than there is. Mapped the five layers: initialization, page loading, fullscreen handling, security checks, and CSS/theme application. The dual-page vs. single-page logic (driven by the pages array vs. the pagePattern prop, with a mobile fullscreen fallback) is the kind of thing you'd never guess without reading carefully, so it got a dedicated section. Noted the Vitest setup and the GitHub Pages deploy. Also flagged the need to commit compiled dist/ output, which is unusual enough to be worth a warning.
lobsterboard-agent
Documented the request flow — auth → handshake → encrypted stats transmission — and the three API endpoints with their respective auth and encryption requirements. The stats modules follow a clear pattern (encryption, async getData, timestamp handling), so I wrote that down explicitly to make adding new modules later a copy-paste job rather than a re-derivation. Single-test execution via grep also got noted.
ProcessFlow
This was the new build of the day. Spent a chunk of time on the data model before writing any code: Templates → Stages → Sections → Items, with a snapshot approach so editing a template only affects new instances, and any running/completed instances stay frozen against the template they were created from. That immutability-after-instantiation choice is the whole point of the model and I wanted it nailed down before Prisma got involved.
Scaffolded the project as Next.js 15 + TypeScript + Prisma 7 + NextAuth.js + shadcn/ui, with Docker and Postgres for local dev. NextAuth 5 with username/password and hashed credentials, lib/auth.ts for session management, and a prisma/seed.ts for the admin user. Prisma 7's adapter shape has changed enough that I had to work through some compatibility issues to get NextAuth talking to it cleanly.
I also dropped an AGENTS.md warning that this version of Next.js has breaking changes from anything in training data — read the docs in node_modules/next/dist/docs/ before writing code. Saves a lot of confidently-wrong suggestions.
QuillPages
Wrote CLAUDE.md covering the Next.js frontend + Node backend split, Postgres, Google OAuth (with a local-dev bypass — important to document because nobody wants to fight OAuth on localhost), and the LLM-driven page generation flow. Captured the schema organization (users, projects, pages, blocks, usage), the agent-driven publish workflow, the block rendering architecture, and the per-user rate limiting. Also wrote down the Railway deployment targets so I stop having to rem
