mirror of
https://github.com/skoelle/moonweb-site.git
synced 2026-09-17 17:00:25 +00:00
5.1 KiB
Executable File
5.1 KiB
Executable File
moonweb.org — Implementation Plan
Companion to SPEC.md. Defines order of work. All five sites (hub, infra, smarthome, code, retro) launch simultaneously — no staged rollout by domain. cv (stefankoelle.de) stays external (Cloudflare Free-Tier limits to 5 Pages projects per repository).
Phase 0 — Repo & tooling setup
- Create the
moonweb-sitemonorepo (private until first launch, then can stay private since Pages deploys the built output, not the source). - Initialize Eleventy project structure per
SPEC.md §10. - Set up
shared/layout-base.njk(header + card-grid) and onetheme-*.cssper accent color (hub, infra, smarthome, code, retro). - Verify local dev server works per site (
npm run dev:<site>) before any content work starts.
Phase 1 — Content migration & authoring (per domain)
Work order within this phase is flexible since all domains launch together; suggested sequence based on how self-contained each domain's content is:
- code — simplest case, no detail pages, no sensitive-data filtering needed.
- Add
.moonweb.ymlto each GitHub repo (seeSPEC.md §8). - Build the aggregator script, run it once, generate
code/_data/repos.json. - Build the overview page grouped by subcategory (Automation & Sync, Dev-Tools, Web Apps, Firmware/Hardware, Misc).
- Add
- smarthome — overview first, detail pages only where content already exists.
- Draft the overview: how the smart home is structured (mirrors what's on
home.moonweb.org: buttons/control, sensors, calendar, weather, media). - For each existing topic with enough material (HomematicIP/MQTT, Tasmota, LED-Matrix reference only, no migration, M5Stack/WT32SC01 dashboards, WetterAPI, AirPlay, OctoPi, TubeArchivist), decide case by case: enough content → detail page; too thin → mention in overview only, no placeholder.
- Translate source material to English during authoring (one-time AI pass per document, per
SPEC.md §7).
- Draft the overview: how the smart home is structured (mirrors what's on
- infra — overview only, redaction pass required.
- Draft a shallow, structured overview: Proxmox/pve2, Synology, VLANs, Fritz!Box mesh, SSO, Docker hosting model, plus the "how I work" section (OpenClaw/OpenCode setup, dev workflow).
- Apply the redaction rule from
SPEC.md §6while translating — strip IPs, keys, credentials, internal hostnames from every source document before it becomes public content. - Skip detail pages unless a topic can be described without any sensitive detail.
- retro — minimal effort, rudimentary only.
- One overview page listing what hardware exists.
- Add "work in progress" notices for anything that isn't ready — better an honest short page than none.
- hub — build last within this phase since it links to all the others.
- One-line description + link per destination (infra, smarthome, code, retro, and external links to stefankoelle.de, www.moonweb.org, 28k8.moonweb.org, home.moonweb.org).
Phase 2 — CI/CD
- Write
.github/workflows/build-deploy.yml: builds all five sites in one job (or matrix), then deploys each output folder to its corresponding Cloudflare Pages project viawrangler pages deploy. - Create five Cloudflare Pages projects (hub, infra, smarthome, code, retro), each bound to its target custom domain (DNS already on Cloudflare, no extra setup needed). Note: Cloudflare Free-Tier limits to 5 Pages projects per repository — cv (stefankoelle.de) stays external.
- Do one full dry run per site locally before the first real deploy.
Phase 3 — Launch
- Deploy all five sites simultaneously.
- Point the respective custom domains at their Pages projects.
- Apex domain
moonweb.orgkeeps redirecting towww.moonweb.orgfor now (no change in this launch). - Smoke-test cross-linking: hub → each site, site-switcher on infra/smarthome/code/retro, smarthome → external ledmatrix link, code cards → GitHub links.
Phase 4 — Explicitly deferred (not part of this build)
- Migrating
/ledmatrix/and any other stefankoelle.de sub-pages into smarthome. - Deciding on 28k8.moonweb.org's future (stay separate vs. eventual monorepo inclusion).
- Building any Perplexity-backchannel mechanism for reusing published site content in this project.
- Redirecting the apex domain from
www.moonweb.orgtohub.moonweb.org. - Any analytics, "last updated" timestamps, or scheduled/automated content generation beyond the one-time GitHub aggregator run.
- Porting stefankoelle.de into the monorepo — stays external (Cloudflare Free-Tier limits to 5 Pages projects).
Definition of done for this build
- All five sites live on Cloudflare Pages under their intended domains.
- code.moonweb.org reflects the current GitHub repos via the
.moonweb.ymlaggregator, grouped by subcategory. - smarthome.moonweb.org gives an accurate picture of what's running on home.moonweb.org today, with detail pages only where content already existed.
- infra.moonweb.org describes the stack shallowly with zero sensitive data leaked.
- retro.moonweb.org exists with an honest, minimal overview (WIP notices allowed).
- hub.moonweb.org correctly links everything, including the untouched external sites (stefankoelle.de, www.moonweb.org, 28k8.moonweb.org).