De-Windows Doc Sweep — worklist & context

Status: Open — the live task for the next fresh session. Records this session's full context so a post-/clear Claude can pick up cold. Not a design/plan (Brad's call: simple enough to just do, no brainstorm/planning) — this is an execution worklist. Pairs with the 2026-06-18→19 "de-Windows the docs" bookmark (the why/scope); this doc is the what/where. Gap-checked by a read-only subagent (2026-06-19) — its findings (the README's .ps1 hook paths + the omitted bell, durable-docs.md's relink.ps1 ref, laravel.md's path example) are folded in.

Principle

The always-on Linux host (/var/projects) is home for good — no Windows future. So this is not a path swap; the whole Windows premise comes out. Two rules:

  1. Rewrite live convention / operational docs to the Linux reality.
  2. Leave historical records intact — they document the Windows era / the migration accurately; rewriting them would falsify the record.

Approach

claude-personal/CLAUDE.md is the core preferences file — do it as a section-by-section collaborative walk (Brad's preference), not a hasty pass. The rest are straightforward repoints.

Already done (this session + earlier)

  • Line endings — CLAUDE.md line-endings sections rewritten to the LF-everywhere Linux policy; both repos' .gitattributes* text=auto eol=lf; verified all-LF (git ls-files --eol).
  • Git identity — switched to Brad Turner <bradturner43@gmail.com>; note added to CLAUDE.md (new ### Git identity subsection).
  • GitKraken — purged from claude-config/README.md; already absent from settings.
  • skill-wiring built — the Linux symlink-sync skill is live. Matters for the sweep: CLAUDE.md's "Windows symlinks" / "Repo layout & wiring" sections can now point at skill-wiring instead of describing relink.ps1.

LIVE targets — rewrite

claude-personal/CLAUDE.md (the big one — collaborative walk)

  • "All machines are Windows for now" (top framing line) — flip to the single always-on Linux host reality.
  • Machine Setup → Standard pathsC:\Projects\.../var/projects/....
  • Windows symlinks section (mklink, New-Item -ItemType SymbolicLink, directory junctions, Developer Mode) — replace with the Linux model: plain ln -s (covers files + dirs, no privilege), and point at skill-wiring for the actual wiring. The Developer-Mode / junction / New-Item caveats all vanish.
  • Shell tools — Bash vs PowerShell — bash-only now; drop the PowerShell-tool guidance.
  • Repo layout & wiringC:\Projects/var/projects; junctions / mklink / relink.ps1 / PowerShell → Linux symlinks via skill-wiring.
  • Settings sync (hand-managed)relink.ps1 refs → Linux reality (skill-wiring does not do settings; that's bootstrap → SYSTEM.md); C:\Projects paths.
  • Already Linux (leave): the Git line-endings section + the new Git identity subsection.
  • Note: wiring/bootstrap content overlaps two deferred efforts — point wiring at skill-wiring, and note that fresh-host bootstrap (clone / identity / settings / plugins) lives in the planned SYSTEM.md rather than re-documenting it here.

yggdrasil/working/current-plan.md (live durable sections only)

  • "State of Yggdrasil → Location and structure" — "Repo lives at C:\Projects\yggdrasil\" → /var/projects/yggdrasil.
  • The "Links" section — junctions / mklink / C:\Projects / relink.ps1 → Linux symlinks via skill-wiring.
  • Hook infrastructure section.ps1 paths → .sh (e.g. webfetch-github-guard.ps1.sh; bell.ps1 was omitted on Linux).
  • LEAVE: the Done-log, old dated checkpoints, and session-lessons referencing Windows — historical narration, accurate as-is.

claude-personal/claude-config/README.md

  • PowerShell Copy-Item one-liner → cp; the ## What's in it hook paths (webfetch-github-guard.ps1.sh; bell.ps1 → omitted — there is no bell on Linux, so fix the line, don't just rename it); the Read(//C/Projects/**) permission example; the line-33 C:\Projects\ layout reference → /var/projects. (GitKraken already purged.)

Config / minor (check + repoint as needed)

  • yggdrasil/.meta/durable-docs.md — a relink.ps1 reference (line ~31) → point at skill-wiring / relink.sh.
  • yggdrasil/working/laravel.md — a C:/Projects/kingdom-md path example (line ~7) → /var/projects/kingdom.md.
  • claude-personal/.gitignore, claude-personal/.gitattributes, yggdrasil/.gitattributes, yggdrasil/backburner.md — check + repoint stray refs.
  • Active bookmarks with Windows path examples (e.g. the /puppet path-encoding example C:\Projects\XI-RE-VibeTesting) — optional light touch; low priority.

HISTORICAL — leave intact (do NOT rewrite)

  • yggdrasil/working/seafile-retirement-design.md, seafile-retirement-plan.md — completed effort.
  • yggdrasil/working/relocate-claude.ps1, self-check-claude.ps1 — one-shot Windows migration scripts that already ran.
  • yggdrasil/working/host-relocation-design.md — describes the Windows→Linux migration; its Windows refs are the "before."
  • current-plan.md Done-log / old checkpoints; everything under archive/.

SEPARATE / deferred (NOT part of this sweep)

  • new-machine-setup skill (SKILL.md + relink.ps1) — dissolves in the SYSTEM.md effort (migration record + bootstrap), not here. Leave dormant.

Inventory snapshot (this session's grep, for reference)

Per-file Windows-ism counts (live docs, excl. .git/.worktrees/archive), 2026-06-19:

  • claude-personal: CLAUDE.md 22; new-machine-setup/SKILL.md 22 (deferred); relink.ps1 9 (deferred); claude-config/README.md 3; .gitignore 1; .gitattributes 1.
  • yggdrasil: current-plan.md 31 (mostly historical); seafile-retirement-plan.md 84 (historical); seafile-retirement-design.md 71 (historical); relocate-claude.ps1 20 (historical); host-relocation-design.md 15 (historical); self-check-claude.ps1 9 (historical); bookmarks.md 8; laravel.md 1; backburner.md 1; .meta/durable-docs.md 1; .gitattributes 1.
  • yggdrasil AGENTS.md + README.md are already clean (0 hits).

Cross-refs

  • skill-wiring (claude-personal/skills/skill-wiring) — the wiring sections point here.
  • SYSTEM.md bookmark (2026-06-19) — bootstrap content goes there, not into the sweep.
  • Permission-posture audit bookmark (2026-06-19) — separate effort.