managing-dotfiles

Managing Personal Dotfiles with Yadm

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "managing-dotfiles" with this command: npx skills add tdhopper/dotfiles2.0/tdhopper-dotfiles2-0-managing-dotfiles

Managing Personal Dotfiles with Yadm

This skill manages personal dotfiles using yadm (Yet Another Dotfiles Manager).

Note: For work-specific dotfiles (Spotify GHE), use the managing-work-dotfiles skill with yadm-work commands.

Repository Info

  • Remote: Your dotfiles git repository

  • Work tree: $HOME

  • Yadm repo: ~/.local/share/yadm/repo.git

Getting Current State

Always start by checking the current state:

yadm status # Show modified/staged files yadm ls-files # List all tracked files yadm diff # Show unstaged changes

Managed Files Reference

Run yadm ls-files to get the authoritative list. Common categories:

Category Files

Shell .config/fish/ (config.fish, aliases, env, functions, keybindings, plugins)

Editor .vimrc , Library/Application Support/Code/User/ (settings.json, keybindings.json)

Terminal .tmux.conf , .config/ghostty/config , .config/starship.toml

Git .gitconfig , .gitignore , .gitmodules

Claude .claude/skills/ (commit, creating-pull-requests, managing-dotfiles)

Yadm .config/yadm/ (bootstrap, hooks, README, install-hooks.sh)

Other .config/bat/config , .config/ruff/pyproject.toml , .duti , .hushlogin , Caddyfile

Core Operations

Pull from Remote

yadm pull

If merge conflicts occur:

  • Run yadm status to see conflicted files

  • Edit files to resolve conflicts (remove conflict markers)

  • Stage resolved files: yadm add <file>

  • Complete the merge: yadm commit

Commit and Push Changes

yadm add <file> # Stage specific file yadm add -u # Stage all modified tracked files yadm commit -m "message" # Commit with message yadm push # Push to remote

Commit conventions (from commit skill):

  • No AI/Claude attribution

  • No Co-Authored-By headers

Modify Configuration Files

When asked to modify a config (e.g., "update tmux to do X"):

  • Find the relevant file: yadm ls-files | grep -i tmux

  • Read and understand the current config

  • Make the requested changes

  • Stage, commit, and push: yadm add <modified-file> yadm commit -m "Update <config> to <what was changed>" yadm push

Adding/Removing Files

Add a new file to tracking

yadm add <new-file> yadm commit -m "Add <file> to dotfiles" yadm push

Stop tracking a file (without deleting it)

yadm rm --cached <file> yadm commit -m "Stop tracking <file>" yadm push

Pre-commit Hooks

Pre-commit is configured via ~/.pre-commit-config.yaml . Hooks check for:

  • Private keys and secrets

  • Large files (>500KB)

  • Trailing whitespace

  • Merge conflicts

Run manually:

yadm enter pre-commit run --all-files

If a commit fails due to pre-commit fixes, stage the fixes and retry.

Self-Management

This skill is itself tracked by yadm at ~/.claude/skills/managing-dotfiles/ .

When updating this skill:

  • Make changes to the skill files

  • Commit with yadm: yadm add ~/.claude/skills/managing-dotfiles/ yadm commit -m "Update managing-dotfiles skill" yadm push

When files are added/removed from yadm tracking, update the "Managed Files Reference" section above if the categories change significantly.

Useful Commands

See yadm-command-reference.md for a quick reference of common yadm commands.

Bootstrap (New System Setup)

On a new system after cloning:

yadm bootstrap

This runs ~/.config/yadm/bootstrap which installs Homebrew, uv, vim-plug, and other dependencies.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

creating-pull-requests

No summary provided by upstream source.

Repository SourceNeeds Review
General

commit

No summary provided by upstream source.

Repository SourceNeeds Review
General

stop-slop

No summary provided by upstream source.

Repository SourceNeeds Review