OVERVIEW.md

siao.ai — project docs index

What this is: the siao.ai domain family — the personal homepage, the applications on its subdomains, and the self-hosted infrastructure behind them. Several codebases, one umbrella of notes.

Current shape, if you are picking this up cold: siao.ai is a static page on Cloudflare Pages, and so is blog.siao.ai. Everything else runs on one self-hosted box — Forgejo (hidden backend, never public), SiaoHub (the UI at git.siao.ai), AnswerHub (apps.siao.ai/answerhub), and Logto at accounts.siao.ai, which is the single identity provider for all of them. No application has credentials of its own any more.

Note the split that matters when deploying: the two Cloudflare Pages sites publish themselves from a git push; the self-hosted three do not, and git.siao.ai in particular neither deploys from main nor rebuilds its own image — see HANDOFF.md.

Read HANDOFF.md first — these journals are long and several of their older status lines describe a world that later chapters replaced.

Status is not in this file. The entries below say what each document covers. Whether the thing it describes is written, committed, deployed or reachable lives in HANDOFF.md and nowhere else — a "not built" note in an index is written once and believed long after it stops being true, which had already happened to two entries here by 2026-08-10.

Files in this directory:

This directory is gitignored, same as SPEC.md and .scratch/ — planning and working notes live here and in the owner's self-hosted git, not in the public repo's history.

Directory layout

All of this now lives under one umbrella folder, ~/siao-ai/, as sibling polyrepos (standard practice for projects with different deploy targets — not a monorepo, not submodules):

~/siao-ai/
  ClaudeDocs/       <- this directory — top-level, not inside any one repo
  ClaudeDesign/     <- settled visual decisions, one file per identity
  siao-ai/          <- the siao.ai homepage repo (shihte/siao.ai on GitHub)
  git-siao-ai/      <- infra config repo (git.siao.ai/siao/infra, self-hosted)
  apps-siao-ai/     <- apps.siao.ai repo — nav homepage + AnswerHub
  siaohub/          <- git.siao.ai's UI (deployed on the self-hosted box)
  blog-siao-ai/     <- blog.siao.ai (shihte/blog-siao-ai on GitHub, private)

ClaudeDocs/ moved here from inside siao-ai/ because it covers all three repos, not just the homepage — it was always gitignored inside siao-ai/, so the move didn't touch that repo's git history at all.