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.
You 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 git
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer