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 includes Claude Code plugins for easy installation and management of AI agents and slash commands.
# Add the marketplace
claude /plugin marketplace add laurigates/claude-plugins
# Install and enable all plugins via justfile
just plugins-install
just plugins-enableOr install individually:
claude /plugin install git-plugin@lgates-claude-pluginsjust plugins-install # Install all plugins from marketplace
just plugins-enable # Enable all installed plugins
just plugins-update # Update all plugins to latest
just plugins-reinstall # Full cycle: uninstall β install β enable
just plugins-list # Show installed plugins and statusπ Full guide: See CLAUDE.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.
Plugins are managed externally in laurigates/claude-plugins. See the Claude Code Plugins section above for installation.
The .claude directory is managed via exact_dot_claude/ with chezmoi's exact-match semantics (orphaned files auto-removed). Run chezmoi apply -v ~/.claude after editing skills or commands.
Full guide: See CLAUDE.md
Auto-discovered skills provide contextual guidance:
- chezmoi-expert - Dotfiles management, templates, cross-platform configs
- neovim-configuration - Lua config, plugin management, LSP setup
- obsidian-bases - Obsidian Bases database feature for YAML-based views
Skills activate automatically based on your work context. See CLAUDE.md for details.
- Components and Workflow Tools - Detailed breakdown of tools and components
- Platform Specific Notes
- Container Testing
- Debugging Guide
- Verifying Environment Setup