55 lines
3.3 KiB
Plaintext
55 lines
3.3 KiB
Plaintext
# 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.
|
|
# linkdir symlink each child of the source into the destination, which is
|
|
# created as a real directory. Use this where the destination holds
|
|
# more than this one source -- ~/.claude/skills also carries Panama's
|
|
# own shipped skills -- so it cannot be a symlink to any single place.
|
|
# 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 so that a skill installed by
|
|
# any tool lands in the checkout and `panama update` offers to commit it.
|
|
#
|
|
# ~/.agents/skills is this directory and nothing else, so it stays one link.
|
|
# ~/.claude/skills also holds the skills Panama itself ships, put there by the
|
|
# link-skills stage, so it is a real directory with one link per skill -- and
|
|
# this stage runs after that one, so a personal skill wins a name collision.
|
|
link agents/skills ~/.agents/skills
|
|
linkdir 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
|