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:
- Rewrite live convention / operational docs to the Linux reality.
- 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 identitysubsection). - GitKraken — purged from
claude-config/README.md; already absent from settings. skill-wiringbuilt — the Linux symlink-sync skill is live. Matters for the sweep: CLAUDE.md's "Windows symlinks" / "Repo layout & wiring" sections can now point atskill-wiringinstead of describingrelink.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 paths —
C:\Projects\...→/var/projects/.... - Windows symlinks section (
mklink,New-Item -ItemType SymbolicLink, directory junctions, Developer Mode) — replace with the Linux model: plainln -s(covers files + dirs, no privilege), and point atskill-wiringfor the actual wiring. The Developer-Mode / junction /New-Itemcaveats all vanish. - Shell tools — Bash vs PowerShell — bash-only now; drop the PowerShell-tool guidance.
- Repo layout & wiring —
C:\Projects→/var/projects; junctions / mklink /relink.ps1/ PowerShell → Linux symlinks viaskill-wiring. - Settings sync (hand-managed) —
relink.ps1refs → Linux reality (skill-wiring does not do settings; that's bootstrap → SYSTEM.md);C:\Projectspaths. - 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 plannedSYSTEM.mdrather 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 viaskill-wiring. - Hook infrastructure section —
.ps1paths →.sh(e.g.webfetch-github-guard.ps1→.sh;bell.ps1was 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-Itemone-liner →cp; the## What's in ithook paths (webfetch-github-guard.ps1→.sh;bell.ps1→ omitted — there is no bell on Linux, so fix the line, don't just rename it); theRead(//C/Projects/**)permission example; the line-33C:\Projects\layout reference →/var/projects. (GitKraken already purged.)
Config / minor (check + repoint as needed)
yggdrasil/.meta/durable-docs.md— arelink.ps1reference (line ~31) → point atskill-wiring/relink.sh.yggdrasil/working/laravel.md— aC:/Projects/kingdom-mdpath 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
/puppetpath-encoding exampleC:\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.mdDone-log / old checkpoints; everything underarchive/.
SEPARATE / deferred (NOT part of this sweep)
new-machine-setupskill (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.mdare 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.