feat: fold in the portable Claude Code, zsh and git config; add a drift check

Added (all now linked from their live locations):
- home_root/.claude/settings.json. The statusLine command now uses $HOME
  instead of a Linux-only absolute path.
- home_root/.claude/bin/ratecheck and home_root/.claude/skills/australis-design.
- home_config/zsh/claude-config-dir.zsh and home_root/.local/bin/claude-config-dir-init,
  the per-repo Claude Code login helper and its seeding script.
- home_root/.gitconfig and home_config/git/ignore.
- home_root/.zshenv, with the cargo env line guarded so boxes without rust start clean.

link-dotfiles --check reports drift without changing anything: tracked files whose
live copy is no longer a link (stow dry-run conflicts) and links into this repo
that dangle. Exits 1 on drift. Verified against a clean baseline and two planted
drifts, a detached .nanorc and a dangling link.

.mailmap maps every earlier identity to Vuong Hoang: the repo-local 'Your Name'
placeholder config (now removed), host-generated emails, and aider suffixes.

CLAUDE.md: the symlink warning now lists every linked file and points at --check.
README: documents what is and isn't tracked under .claude, the edit rule, and --check.
This commit is contained in:
vh
2026-09-24 09:07:16 -07:00
parent 77225b01d6
commit 7b16be02bf
49 changed files with 2675 additions and 4 deletions
@@ -0,0 +1,49 @@
/* Shared shell for preview cards. Cards are 700×variable, dark canvas. */
@import url("../colors_and_type.css");
* { box-sizing: border-box; }
html, body {
margin: 0;
padding: 0;
background: var(--bg-0);
width: 700px;
overflow: hidden;
}
.card {
width: 700px;
padding: 24px;
background: var(--bg-0);
color: var(--fg-1);
font-family: var(--font-sans);
}
.row { display: flex; }
.col { display: flex; flex-direction: column; }
.gap-1 { gap: 4px; } .gap-2 { gap: 8px; } .gap-3 { gap: 12px; }
.gap-4 { gap: 16px; } .gap-5 { gap: 20px; } .gap-6 { gap: 24px; }
.swatch {
border-radius: var(--radius-sm);
border: 1px solid rgba(255,255,255,0.04);
}
.swatch-label {
font-family: var(--font-mono);
font-size: 11px;
color: var(--fg-2);
letter-spacing: 0.02em;
}
.swatch-name {
font-family: var(--font-sans);
font-size: 12px;
color: var(--fg-0);
font-weight: 500;
}
.muted {
color: var(--fg-3);
font-size: 11px;
font-family: var(--font-mono);
letter-spacing: 0.04em;
text-transform: uppercase;
}