File Storage
How assets flow through upload → attach → detach → cleanup, and why no in-use file can be deleted. Written first because it was the first high-confidence-needed system. Read →
Internal technical documentation for M2 Planner — a Turborepo monorepo hosting the full platform: a REST API, a web app, a mobile app (Expo), an architect-facing calendar, an AI worker, and multiple analytics / logging services.
Use this site when you need authoritative, citation-backed explanations of how something works. Every non-trivial claim links back to the exact file and line number in the codebase.
File Storage
How assets flow through upload → attach → detach → cleanup, and why no in-use file can be deleted. Written first because it was the first high-confidence-needed system. Read →
Services (stubs)
One page per app (API, Web, Mobile, Calendar, AI Worker). Currently stubs — expand as questions arise. Browse →
Why citations matter
Documentation without path:line references rots. Every fact in this
site points to the code that proves it — if the code moves, the link
breaks and the page gets rewritten.
Scope
Internal engineering reference. Not a product manual, not user docs, not marketing. For the product pitch, see m2planner.com.
Source lives in apps/docs/src/content/docs/. Pages are MDX (Markdown + Astro
components). Sidebar is declared explicitly in
apps/docs/astro.config.mjs — add new pages there so ordering stays stable.