# What in user/ goes where, and in what form.
#
#   <kind>  <source under user/>  <destination>
#
# kind is one of:
#   link   symlink the destination at the source, so editing either edits the
#          repository. Use this for anything you want to update once and have
#          change everywhere -- and for anything a tool writes into, because a
#          skill installed on this machine should land in the checkout.
#   copy   copy once, and never touch it again if the destination exists. Use
#          this for files a machine legitimately diverges on.
#
# Lines beginning with # are comments and blank lines are ignored. ~ in a
# destination is this user's home.
#
# Nothing here is linked unless this machine said yes to the interview's
# question about personal content -- see setup/scripts/link-user. That is what
# keeps a repository somebody else can clone from also being one that installs
# Gabriel's agent instructions on their machine.

# ── Agents ───────────────────────────────────────────────────────────────────
# One file, two names. Claude Code reads CLAUDE.md and Codex reads AGENTS.md,
# and before this they were two byte-identical copies waiting to disagree.
link  agents/AGENTS.md   ~/.claude/CLAUDE.md
link  agents/AGENTS.md   ~/.codex/AGENTS.md

# Skills, at both paths that look for them. Linked as whole directories rather
# than file by file, so a skill installed by any tool lands in the checkout and
# `panama update` offers to commit it.
link  agents/skills      ~/.agents/skills
link  agents/skills      ~/.claude/skills

link  agents/rules       ~/.claude/rules

# ── SSH ──────────────────────────────────────────────────────────────────────
# Host aliases only. Keys are per-machine and are never tracked; this is the
# file that makes `ssh server` work the moment a machine is set up, and it is
# what the SSH Hosts launcher command reads.
link  ssh/config         ~/.ssh/config

# ── Espanso ──────────────────────────────────────────────────────────────────
# The personal expansion triggers. Copied rather than linked, because this is a
# file each machine may add its own triggers to. It lands before setup-identity
# runs, and that stage only seeds a file that does not exist yet, so what is
# tracked here wins over the name and email the interview would have written.
copy  espanso/identity.yml  ~/.config/espanso/match/identity.yml
