Recipe — docHub (per-app)
The per-app Recipe Book for docHub, the canonical documentation substrate for the FVS ecosystem.
Per FWV v6 §11, this is the first fractal level (per-app). Per-module Recipe Books (level 2) live at
mavis/<module>/recipe-book/once each docHub module is formalized.
What docHub is
docHub is a documentation substrate + sovereign workspace. It serves three audiences from one source of truth:
| Face | URL | Audience | Auth |
|---|---|---|---|
| user | /user/* | End users, FVS apps | public |
| dev | /dev/* | Operator + AI agents | Cloudflare Access |
| mavis | /mavis/* | Operator + Helper + lane Mavises | Cloudflare Access |
It is both a workspace (operator browses it directly at fv-dochub.pages.dev) AND a substrate (FVS apps embed chips and modules from it via web components).
What docHub the App uses
Chips adopted from docHub substrate
| Chip | Source | Used by | Reusable to FVS? |
|---|---|---|---|
<anchor-bar> | user/assets/anchor-bar.js | docHub SPA sidebar, prompt viewer breadcrumb | Yes |
<doc-hub> | user/assets/embed.js | FVS app integration | Yes |
| Tabler-style SVG icons | inline in user/assets/anchor-bar.js | nav items, section headers | Yes (copy) |
| GFM markdown renderer | build-site.mjs (build-time) | per-doc HTML rendering | No (build-time only) |
Modules adopted from docHub substrate
Per D-066, docHub App has 5 aspirational modules (clusters) — when built, each will be a level-3 module with its own Recipe Book:
| Module | Cluster of features | Status |
|---|---|---|
prompt-archive | Browse, search, filter, sort, view detail, link to source, export | ✅ Q1 shipped as raw folder; needs recipe book + module-register entry |
decision-log | View list, view detail, mark superseded, link related decisions, group by topic, view trace atlas | 📁 raw folder exists at mavis/decisions/; needs formal module promotion |
lane-coordination | Spawn Mavis session, ping lane, watch lane, report state, archive lane | 📁 raw folder at mavis/lanes/; needs formal module promotion |
plan-tracker | List plans, view phase, mark phase done, link reports, track blockers | 📁 raw folder at mavis/plans/; needs formal module promotion |
report-feed | List reports, view report, link decisions, link plans, filter by lane | 📁 raw folder at mavis/reports/; needs formal module promotion |
Substrate relationships
docHub the App adopts from FreshCards substrate:
cards.geometry.base.001(card padding 4/8/12/16/24, radius 6/8/12, border 1px)cards.semantic.role.001-006(focus/action/navigation/status/filter/info)cards.lifecycle.*(dormant/active/expanded/peeked/filtered/grouped)- CardChipSystem (sub-nav multi-active, sub-chips single-active)
docHub the App does NOT adopt from Vibe Hub substrate (Q2 will add when available).
What docHub the App extends
docHub the App extends the FreshVibe Way v8 doctrine:
- §10 modules-as-clusters (applies to module classification, see D-066)
- §11 recipe-book fractal (this doc is the per-app instance)
- §23 two-view-substrate (docHub is both workspace + substrate)
- §30 hard cap 200L/.tsx (not directly applicable — docHub is markdown + JS, not TSX — but the spirit applies: build-site.mjs, anchor-bar.js, embed.js all under 12KB)
How to adopt docHub the App in your FVS app
You have two options:
Option 1: Lift individual chips (most common)
<script type="module" src="https://fv-dochub.pages.dev/assets/anchor-bar.js"></script>
<anchor-bar id="nav"></anchor-bar>
<script>
document.getElementById('nav').data = { sections: [...] };
</script>
Option 2: Adopt the docHub <doc-hub> web component
<script type="module" src="https://fv-dochub.pages.dev/embed.js"></script>
<doc-hub project="my-app" theme="auto"></doc-hub>
Option 3: Adopt a docHub module wholesale (TBD — Q2+)
When each docHub module gets a proper module-register.json entry, FVS apps can adopt the module whole (with its Recipe Book).
Three-flag model (D-060)
| Face | deployable | embeddable | redistributable |
|---|---|---|---|
| user | ✅ | ✅ | ✅ |
| dev | ✅ | ❌ | ❌ |
| mavis | ✅ | ❌ | ❌ |
deployable: ships to Cloudflare Pagesembeddable: FVS apps pull chips/modules from this face via web componentsredistributable: can be exported to other systems
Brand and URL (D-064)
| Layer | Value |
|---|---|
| Brand | fv-dochub |
| Cloudflare project | fv-dochub |
| Subdomain | fv-dochub.pages.dev |
| Repo internal name | freshvibe-dochub (temporary, per operator 2026-06-23 15:38) |
| Browser tab title | fv-dochub |
| Sidebar logo text | docHub |
| Sidebar tagline | hidden (was making header taller than topbar; see D-066 era) |
Decision log
Cross-referenced decision docs that shape docHub the App:
- D-060 — substrate shape (three-flag model)
- D-061 — FreshCards canonical location
- D-062 — Phase 4 (FWV v8 contamination) shipped
- D-063 — Prompt archive migrated into docHub
- D-064 — Clean Cloudflare URLs (fv-dochub.pages.dev, fv-vibehub.pages.dev)
- D-065 — anchor-bar extracted as reusable chip
- D-066 — anchor-bar is a chip (not a module); docHub App's 5 aspirational modules
Full record: mavis/decisions/
Open items (recipe book delta)
- ⚠️ The 5 modules (prompt-archive, decision-log, lane-coordination, plan-tracker, report-feed) are folders, not formal modules yet. To promote each: write
module-register.json,recipe.md,lineage.json,codex.mdin their respective folders. - ⚠️ Vibe Hub substrate adoption (Q2) will add module-level Recipe Books for gallery entries.
- 🔄 Cloudflare Access on
/dev/*and/mavis/*(operator task, ~5 min). - 🔄 Mobile-first polish — sidebar hamburger toggle is functional but the SPA shell's mobile breakpoint could be tightened.