Feedback new subdomain links home
When I add a new public hostname / subdomain on a forge-controlled apex (most often justinsforge.com, occasionally justinkrystal.com), I must, in the same task, add a tile linking to it from the apex's landing page. Don't ship a subdomain that doesn't exist on the home page.
Why: Justin navigates from the home pages, not by typing URLs. A subdomain that's not in the index might as well not exist. Asked for it explicitly on 2026-05-02 after I added several subdomains over a session without updating the landing.
How to apply:
After any cf-add call (or equivalent ingress add), update the matching landing index BEFORE marking the task done:
| Apex | Landing file | Notes |
|---|---|---|
justinsforge.com |
/home/justinwieb/forge/sites/justinsforge.com/landing/index.html |
served by nginx on Console:8100. Existing sections: Brain, Operations, Home, Automation, Studio, Dashboards, Capture, Surfaces, Family hub, Brands. |
justinkrystal.com |
(verify path, family-side, may or may not have a curated index) |
For a new subdomain on justinsforge.com:
- Pick the right section (re-use existing Studio / Dashboards / Operations / etc., create a new section only if no existing section fits).
- Add a
.tileentry with: matching emoji icon, name, one-line desc. - If the subdomain is a frequent destination, also add it to the top
.quickbarpill row. - If the subdomain only exists for low-traffic admin (e.g., a single-project preview, an internal API), it's fine to skip the home tile and rely on a parent hub instead. Two known exceptions today:
- Per-project Hyperframes URLs (
<name>-hf.justinsforge.com) live inside the hub athyperframes.justinsforge.com, not on home. - The inbox webhook (
inbox.justinsforge.com) is POST-only, kept as text reference in Capture.
The tile pattern (copy-paste):
<a class="tile" href="https://NAME.justinsforge.com">
<span class="icon">&#NNNNN;</span>
<span class="name">Display Name</span>
<span class="desc">One sentence about what it does.</span>
</a>
Skip the rule when: - The new subdomain is intentionally headless (POST webhook, internal API). Document why in the Capture section instead of adding a tile. - The new subdomain is a per-instance child of a parent hub (Hyperframes per-project URLs, Remotion per-project URLs, etc.). Parent hub gets the tile, children don't.
Audit command: to find drift between Cloudflare ingress and the landing page:
diff <(for t in "AdGuard" "media-server" "VR Alliance"; do
/home/justinwieb/forge/scripts/forge_cloudflare_cf.py ingress "$t" 2>&1 | awk '/justinsforge\.com/ {print $1}'
done | sort -u) \
<(grep -oE 'https://[a-z0-9-]+\.justinsforge\.com' /home/justinwieb/forge/sites/justinsforge.com/landing/index.html | sed 's|https://||' | sort -u)
[Claude Code]