This repository contains my personal dotfiles, managed using chezmoi. It sets up my development environment, including configurations for Zsh, Neovim, Git, and various development tools. Tool versions are managed using mise-en-place.
- Install chezmoi: Follow the instructions on the chezmoi installation guide.
- Initialize chezmoi with this repository:
chezmoi init https://github.com/laurigates/dotfiles.git
- Review the changes: Check which files chezmoi plans to create or modify.
chezmoi diff
- Apply the changes:
chezmoi apply -v
This setup uses mise-en-place (formerly rtx) to manage development tool versions (like Node.js, Python, Go, etc.).
- Tool versions are defined in the
.config/mise/config.tomlfile (managed by chezmoi). - After cloning or updating the dotfiles, run
mise installin your shell to install the specified tool versions. miseautomatically activates the correct tool versions when you enter a directory containing amise.tomlor.tool-versionsfile.
This repository now includes Claude Code plugins for easy installation and management of AI agents and slash commands!
# Add this repository as a plugin marketplace
/plugin marketplace add laurigates/dotfiles
# Install the dotfiles toolkit plugin
/plugin install dotfiles-toolkitWhat you get: 30+ specialized agents and 20+ slash commands for development, infrastructure, documentation, and more.
📖 Full guide: See PLUGINS.md for complete documentation.
AI tools and MCP (Model Context Protocol) servers are configured through the .chezmoidata.toml file and automatically installed via the update-ai-tools.sh script.
MCP servers for Claude Code are dynamically configured from .chezmoidata.toml. To manage servers:
- Enable/disable servers: Set
enabled = true/falsein the[mcp_servers]section - Add new servers: Create a new
[mcp_servers.name]section with required fields - Configure options:
scope,command,args, and optionaltransport
Example configuration:
[mcp_servers.my-server]
enabled = true
scope = "user"
command = "npx"
args = ["-y", "my-mcp-package"]
transport = "stdio" # optionalAdding/updating servers (safe during active Claude sessions):
./update-ai-tools.sh # or: chezmoi apply update-ai-tools.shCleaning up disabled servers (WARNING: disrupts active Claude sessions):
./cleanup-mcp-servers.sh # Run only when no Claude sessions are activeNote:
update-ai-tools.shonly adds new servers without removing existing ones, making it safe to run during active Claude sessions. Usecleanup-mcp-servers.shonly when you need to remove disabled servers and no Claude Code sessions are running.
The repository provides three Claude Code plugins via a local marketplace for instant development feedback:
# Plugins auto-load from: ~/.local/share/chezmoi/plugins/
# Check available plugins:
/plugin listAvailable plugins:
- dotfiles-core: Essential development workflows (git, code review, testing, docs, CI/CD)
- dotfiles-experimental: Testing new automation features (devloop, modernization) - can disable if unstable
- dotfiles-fvh: Work-specific Podio integrations - disable for personal projects
Enable/Disable in settings:
"enabledPlugins": {
"dotfiles-core@dotfiles": true,
"dotfiles-experimental@dotfiles": true, // Set to false to disable
"dotfiles-fvh@dotfiles": false // Disabled for personal use
}Development workflow:
# Edit plugin/skill files directly in source directory
vim ~/.local/share/chezmoi/.claude/skills/python-development/SKILL.md
vim ~/.local/share/chezmoi/plugins/dotfiles-core/commands/git/git:commit.md
# Apply changes to ~/.claude after editing
chezmoi apply -v ~/.claude # Or use alias: ca-claudeWhy exact_dot_claude/ instead of symlink?
The .claude directory uses chezmoi's exact_ prefix for atomic updates and auto-cleanup of orphaned files. This prevents race conditions with running Claude processes and ensures predictable state. Run chezmoi apply -v ~/.claude after editing skills or commands.
Full guide: See PLUGINS.md and CLAUDE.md
32 auto-discovered skills provide contextual guidance:
- Core Tools: chezmoi-expert, shell-expert, fd-file-finding, rg-code-search, jq-json-processing, yq-yaml-processing, ast-grep-search, vectorcode-search
- Version Control: git-branch-pr-workflow, git-commit-workflow, git-security-checks, git-repo-detection, release-please-protection
- GitHub Actions: claude-code-github-workflows, github-actions-mcp-config, github-actions-auth-security, github-actions-inspection
- Languages: python-development, rust-development, nodejs-development, cpp-development, neovim-configuration
- Infrastructure: container-development, kubernetes-operations, infrastructure-terraform, embedded-systems
- Agent/Memory: agent-coordination-patterns, agent-file-coordination, multi-agent-workflows, graphiti-episode-storage, graphiti-learning-workflows, graphiti-memory-retrieval
Skills activate automatically based on your work context. See CLAUDE.md for the skills catalog.
For a detailed breakdown of the tools and components managed by these dotfiles (like chezmoi, mise, Zsh plugins, Neovim setup, etc.), see:
For more specific guides, see the following documents: