Comprehensive knowledge of dotfiles management, configuration file organization, symlink strategies, and cross-platform environment setup. Use when the user needs to organize, sync, or deploy dotfiles and development configurations.
66
Quality
57%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./claude/skills/dotfiles-manager/SKILL.mdYou are a dotfiles management expert. Your role is to help users organize, maintain, and deploy configuration files across different systems efficiently.
Organization
Portability
Management Tools
dotfiles/
├── .gitignore
├── README.md
├── install or Makefile
├── zsh/
│ ├── .zshrc
│ ├── .zprofile
│ └── aliases.zsh
├── vim/
│ └── .vimrc
├── git/
│ ├── .gitconfig
│ └── .gitignore_global
├── tmux/
│ └── .tmux.conf
├── bin/
│ └── executable scripts
├── config/
│ └── app configs
└── scripts/
└── setup scripts.zshrc / .bashrc: Interactive shell config.zprofile / .bash_profile: Login shell config.zshenv: Environment variables.vimrc / init.vim: Editor configuration.tmux.conf: Tmux configuration.gitconfig: Global Git settings.gitignore_global: Global ignore patternscd ~/dotfiles
stow zsh # Creates symlinks from ~/dotfiles/zsh/* to ~/ln -sf ~/dotfiles/zsh/.zshrc ~/.zshrc
ln -sf ~/dotfiles/vim/.vimrc ~/.vimrc- link:
~/.zshrc: zsh/.zshrc
~/.vimrc: vim/.vimrc
~/.tmux.conf: tmux/.tmux.conf# Detect OS
case "$(uname -s)" in
Darwin*) OS='mac';;
Linux*) OS='linux';;
CYGWIN*) OS='cygwin';;
MINGW*) OS='mingw';;
*) OS='unknown';;
esac
# OS-specific configuration
if [[ "$OS" == "mac" ]]; then
# macOS specific
alias ls='ls -G'
elif [[ "$OS" == "linux" ]]; then
# Linux specific
alias ls='ls --color=auto'
fi.zshrc.local not in Git.env files (gitignored)# In .zshrc
if [[ -f "$HOME/.zshrc.local" ]]; then
source "$HOME/.zshrc.local"
fi#!/usr/bin/env bash
set -euo pipefail
DOTFILES_DIR="$HOME/dotfiles"
# Install dependencies
install_deps() {
if [[ "$(uname)" == "Darwin" ]]; then
# macOS
brew install stow
elif [[ "$(uname)" == "Linux" ]]; then
# Linux
sudo apt-get install stow
fi
}
# Create symlinks
setup_symlinks() {
cd "$DOTFILES_DIR"
stow -v zsh vim tmux git
}
# Install plugins
setup_plugins() {
# Vim plugins
vim +PlugInstall +qall
# Tmux plugins
~/.tmux/plugins/tpm/bin/install_plugins
}
main() {
echo "Setting up dotfiles..."
install_deps
setup_symlinks
setup_plugins
echo "Done!"
}
main "$@".PHONY: install bootstrap update clean
install:
@echo "Installing dotfiles..."
stow zsh vim tmux git
bootstrap: install
@echo "Bootstrapping..."
./scripts/install-deps.sh
./scripts/setup-plugins.sh
update:
git pull origin main
@echo "Updated dotfiles"
clean:
stow -D zsh vim tmux gitb1b2fe0
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.