Skip to content

ADR-0006: Intranet as a lean static portal (Astro, local-first)

Guide

ADR-0006: Intranet as a lean static portal (Astro, local-first)

  • Status: Superseded by ADR-0008 · Date: 2026-05-30

Context

The Principal wants an intranet — “everything in one place; a coded system for agents but a working live front end for me”: a personal dashboard, a document browser, and a Slack/Teams-style agent chatter feed. This is the first real product slice (docs/erp-plan.md), and the 360 review warns to keep it lean and actually used rather than over-built.

Decision

Build the intranet as a static portal under intranet/ with Astro 6 + Tailwind v4, repo-first: a build-time sync (scripts/sync-content.mjs) reads the repo (docs ordered by docs/canon.md, the ORG.md roster/chart, the latest briefing/report) and renders it; markdown-it (html:false) keeps placeholders literal; Mermaid is bundled so diagrams render offline. Agent chatter is seeded (src/data/chatter.json). The archive remains the system of record — the portal browses it, it does not duplicate it.

This pass: local preview only (no deploy); screenshots shared with the Principal. Access: none this pass.

Consequences

Superseded: The deployment decision was refined in ADR-0008 (deploy intranet to Vercel). The static portal architecture decision in this ADR remains valid.

  • Fastest path to something usable; trivially upgradeable to Next.js/Vercel + Supabase when dynamic data and deployment are warranted.
  • Deferred (superseded by a future ADR when done): deploy to Vercel, a single-user login (temporary password gate → Supabase/SSO), a live store for chatter, and Knowledge + Access-Requests surfaces (plan Part C).
  • Finance/AI-usage appear as plan-phase stubs until the ledgers exist.
  • Product code under intranet/ is not archived as a document.