- Home
- Skills
- Tdhopper
- Dotfiles2.0
- Managing Dotfiles
managing-dotfiles_skill
- Shell
3
GitHub Stars
2
Bundled Files
3 weeks ago
Catalog Refreshed
2 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstart where the catalogue uses aiagentskills.
npx veilstart add skill tdhopper/dotfiles2.0 --skill managing-dotfiles- SKILL.md4.0 KB
- yadm-command-reference.md2.1 KB
Overview
This skill manages personal dotfiles using yadm (Yet Another Dotfiles Manager). It covers pulling remote changes, resolving merge conflicts, committing and pushing updates, modifying tracked configuration files, and maintaining the yadm-managed work tree in $HOME. Use it for personal dotfiles only; work-specific dotfiles are handled separately.
How this skill works
It inspects the yadm repository and the work tree by running yadm commands such as yadm status, yadm ls-files, and yadm diff to determine tracked files and current changes. For edits, the workflow is: locate the relevant tracked file, modify it, stage with yadm add, commit with a clear message, and push with yadm push. For merges, resolve conflict markers, stage resolved files, and complete the merge with yadm commit.
When to use it
- Pull and integrate upstream dotfile changes: yadm pull
- Make changes to shell, editor, terminal, or git configs tracked by yadm
- Add new dotfiles to tracking or stop tracking files without deleting them
- Resolve merge conflicts after a pull or merge
- Run or debug pre-commit hooks before committing
- Bootstrap a new system with yadm bootstrap
Best practices
- Start by running yadm status and yadm ls-files to understand current state
- Keep commits focused and descriptive, e.g., 'Update tmux to enable mouse support'
- Run pre-commit hooks (yadm enter pre-commit run --all-files) and fix issues before committing
- Use yadm add -u to stage all modified tracked files when making bulk tweaks
- Avoid including AI or Co-Authored-By headers in commit metadata
- When stopping tracking, use yadm rm --cached <file> to preserve the local copy
Example use cases
- Enable a new editor setting: find settings.json under tracked files, edit, yadm add, commit, push
- Add a new shell function to .config/fish/functions and start tracking it with yadm add
- Resolve merge conflicts after pulling remote changes by editing conflict markers, staging, and committing
- Run the bootstrap sequence on a new machine with yadm bootstrap to install dependencies
- Remove sensitive keys from tracking using yadm rm --cached and update pre-commit to detect secrets
FAQ
Run yadm ls-files to get the authoritative list of tracked files.
What do I do if yadm pull results in conflicts?
Use yadm status to find conflicted files, edit to remove conflict markers, yadm add <file>, then yadm commit to finish the merge.
How can I test pre-commit hooks locally before committing?
Run yadm enter pre-commit run --all-files to execute configured hooks and fix any reported issues, then stage fixes and commit.