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@laurigates-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.
MCP (Model Context Protocol) servers are managed per-project via each project's .mcp.json. A curated registry of available servers lives in .chezmoidata.toml under [mcp_servers], disabled by default to avoid bloating context in every repository.
The [mcp_servers] registry in .chezmoidata.toml records each server's metadata:
- 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 = false
scope = "project"
command = "npx"
args = ["-y", "my-mcp-package"]
transport = "stdio" # optionalInstalling servers into a project: run the /configure:mcp command for interactive, project-scoped selection β it writes the chosen servers to that project's .mcp.json.
Removing servers (WARNING: disrupts active Claude sessions):
./cleanup-mcp-servers.sh # Run only when no Claude sessions are activeNote:
cleanup-mcp-servers.shremoves MCP servers from user and project scope, so run it only when no Claude Code sessions are active. Afterwards, reinstall per-project with/configure:mcp.
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