diff --git a/CLAUDE.md b/CLAUDE.md index 0eb3c927b0e141a8a1d84b0afc832740c6ff7639..5e260faf4d9c4569ad8a7e144dc055669ffee13e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,6 +16,22 @@ Submodules' `.git` directories are absorbed into `.git/modules//` of the superproject. Each clone's worktree contains a `.git` *file* (gitlink), not a directory — do not be confused by this. A pre-built inventory lives at `.claude/INDEX.md` — per-service GraphQL types, SQL tables, Python blueprints, Go packages, plus a cross-repo type map. Regenerated automatically by `sourcehut-refresh`; the `sourcehut-lookup` skill reads it first to skip a lot of grepping. +## Skills backed up here + +`skills/` holds two globally-installed skills (`sourcehut-ci`, `sourcehut-custom-service`). +`just install` rsyncs them into `~/.claude/skills/` and substitutes two root placeholders, so +citations inside skill files use these prefixes and **never** absolute paths: + +- `mirror::/::` → `__SRHT_MIRROR__`, this repo — upstream's published source. +- `family::/::` → `__SRHT_FAMILY__`, the parent directory holding the + instance's own repos (`sourcehut-*`, `sr-ht-ecore`, `sr-ht-core`, `sr-ht-api`). + +Cite symbols, never line numbers — they rot on the next refresh. + +Note that `sourcehut-custom-service` documents the **Go family that actually runs on this +instance**, not upstream's Python+Go shape; read its `references/` before answering "how do I +build a service", because upstream's answer differs on chrome, auth and federation. + ## Production deviations (phoebe-lab) The user runs a patched SourceHut in production under `~/data/home/phoebe-lab/srht/`. Fixes not yet upstreamed are mirrored here in `patches/` for reference — they are **not applied** to the clones in this workspace. When answering questions about behavior that might diverge from upstream, check `patches/README.md` first. Currently tracked: