Skip to main content

dotfiles

Active

Cross-platform dotfiles managed by Chezmoi with Homebrew/apt and per-language version managers. One-command bootstrap for macOS and Linux with Neovim, Tmux, Zsh, and AI agent skills.

Shell 2Updated Apr 22, 2026
agent-skillsaichezmoidevelopment-environmentdotfilesghosttyhomebrewlinuxmacosneovimnvimshowcasetmuxzsh

dotfiles

Cross-platform dev environment powered by Chezmoi + Homebrew. One command to a fully configured machine.

Quick Start · Report Bug · Agent Skill

License

Features

  • Homebrew + apt as source of truth for CLIs (git, gh, kubectl, terraform, …)
  • Per-language version managers: fnm (Node), uv (Python), rustup (Rust)
  • Pinned upstream installers for tools that need it: gcloud, aws-cli, Snowflake Cortex
  • Zsh with Oh My Zsh + Powerlevel10k and pre-generated completions
  • Tmux with Ctrl+a prefix, vim keys, Catppuccin cyberdream theme
  • Ghostty terminal with cyberdream theme and MonaspiceNe Nerd Font
  • Neovim (HEAD) with LSP for all included languages
  • AI agents (Claude Code, Gemini, Codex, Copilot) auto-installed via chezmoi
  • 34 portable agent skills in dot_agents/skills/ + 7 subagents in dot_agents/agents/
  • Chezmoi automation scripts that trigger on apply
  • Docker cleanup launchd agent running daily at 3 AM

Quick Start

One-liner (installs Homebrew + chezmoi, then runs chezmoi init --apply):

curl -fsSL https://raw.githubusercontent.com/urmzd/dotfiles/main/install.sh | bash

Or step by step:

# 1. Install Homebrew (macOS) or your distro's package manager (Linux)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. Install chezmoi and apply this repo in one shot
sh -c "$(curl -fsLS https://get.chezmoi.io)" -- init --apply urmzd

chezmoi apply installs Brewfile/apt packages, sets up gcloud/aws/cortex from upstream, and installs the AI CLIs. Open a new terminal afterwards.

Usage

Day-to-day

chezmoi diff          # Preview pending dotfile changes
chezmoi apply         # Apply dotfile changes to $HOME
chezmoi add <file>    # Start tracking a new file
chezmoi edit <file>   # Edit source, then apply

Maintenance

dotfiles update          # brew upgrade && chezmoi apply
dotfiles status          # Show installed AI tool versions
dotfiles update-ai       # Re-install AI CLIs at pinned versions
dotfiles cleanup         # Prune build artifacts and caches

What’s installed

CLI essentials (Homebrew on macOS, apt/dnf/pacman on Linux): git, gh, fzf, ripgrep, jq, yq, just, tmux, direnv, chezmoi, tree-sitter, uv, tealdeer, terraform, kubectl, helm, k9s, colima, docker, fnm, deno, go, lua, …see Brewfile.

Version managers (per-language, best-in-class): fnm (Node), uv (Python), rustup (Rust).

Upstream-pinned installers (security/auth fixes ship faster than distro repos):

AI tools (installed via run_once_after_install-ai-clis.sh.tmpl, sentinel-gated): Claude Code, Codex, Gemini CLI, GitHub Copilot. Update with dotfiles update-ai.

Adding a new tool

  1. Homebrew: add to Brewfile. Linux: add to the apt/dnf/pacman list in run_once_before_install-packages-v2.sh.tmpl.
  2. For tools needing version pinning: write a run_onchange_after_install-<name>.sh.tmpl mirroring the cortex / cloud-clis pattern.
  3. Run chezmoi apply. Completions regenerate if the package exposes zsh site-functions.

Adding a new dotfile

  1. Create or edit the file in your home directory
  2. Run chezmoi add <file> to start tracking it
  3. Use dot_ prefix naming, private_ for sensitive files, .tmpl for templates
  4. Platform-specific blocks use {{ if eq .chezmoi.os "darwin" }}...{{ end }}

Configuration

Chezmoi automation

These scripts run automatically on chezmoi apply:

ScriptTypeTrigger
install-packages-v2run_once (before)First apply (installs Homebrew + bootstrap Linux packages)
brewfile-installrun_onchange (before)Brewfile changes
install-cloud-clisrun_onchange (after)Script changes (re-pin gcloud/aws version)
install-cortexrun_onchange (after)Script changes (gated on install_cortex flag)
generate-completionsrun_onchange (after)zshrc, Brewfile, or cloud-clis script changes
install-ai-clisrun_once (after)First apply (sentinel-gated; clear via dotfiles update-ai)
install-skillsrun_once (after)First apply only (bootstraps agentspec, syncs skills to ~/.agents/skills/)
install-stackrun_once (after)First apply only (installs sr, teasr, oag CLIs)
configure-terminalrun_once (after)First apply only
load-docker-cleanuprun_once (after)First apply only

AI tools

AI coding agents are installed by chezmoi apply (sentinel-gated, no shell-startup cost). Check versions with:

dotfiles status

Claude Code config lives in dot_claude/. Includes settings, custom statusline, and project-scoped skills.

Agent Skills

This repo’s conventions are available as portable agent skills in dot_agents/skills/, following the Agent Skills Specification.

Related standards: AGENTS.md · llms.txt

Managing skills

All skills are installed automatically via chezmoi apply. The install-skills script uses agentspec to install both local skills from dot_agents/skills/ and third-party skills globally to all agents:

SourceSkills
This repo (dot_agents/skills/)All local skills
vercel-labs/skillsAll
vercel/ai-elementsAll
vercel/streamdownAll
google-gemini/gemini-skillsAll
better-auth/skillsbetter-auth-best-practices
vercel/aiai-sdk
fastapi/fastapifastapi

To manage skills and agents manually:

agentspec manage list                          # List managed resources with tool linkage
agentspec manage add <source>                  # Add from local path, GitHub (owner/repo), or name
agentspec manage link <name> <tool>            # Link resource to a tool (claude-code, codex, etc.)
agentspec manage remove <name>                 # Remove a managed resource
agentspec manage create [name]                 # Scaffold a new resource
agentspec manage validate [path]               # Validate SKILL.md or agent definition
agentspec status                               # Show managed vs unmanaged inventory
agentspec sync --fast                          # Discover, adopt, link, and verify all resources

All skills

Coding standards

SkillPurpose
assess-qualityCode quality assessment (readability, consistency, intentional design)
build-cliCLI conventions (JSON piping, stdout/stderr, structured logging)
check-projectValidate project structure against scaffold conventions
choose-stackCanonical tech stack reference by purpose
cli-standardsCLI patterns and conventions reference
review-designPragmatic programming principles
test-codeTesting philosophy and per-language conventions
write-codeCoding standards and practices

Scaffolding & setup

SkillPurpose
scaffold-goScaffold Go projects
scaffold-nodeScaffold Node/TypeScript projects
scaffold-projectProject structure (.envrc, Cargo workspace, etc.)
scaffold-pythonScaffold Python projects
scaffold-rustScaffold Rust projects
scaffold-terraformScaffold Terraform projects
setup-ciCI/CD pipeline conventions
setup-devenvPer-language toolchain + direnv guidance
sync-releaseEnd-to-end release pipeline (sr.yaml, CI, multi-platform builds)
repo-initFull repo bootstrap (create, license, scaffold, push)

Workflow automation

SkillPurpose
shipCommit, push, and watch CI until pass/fail
prCreate PRs with auto-generated summary from commits
diagnose-ciFind failing pipelines, pull logs, identify root cause
fix-and-retryDiagnose CI failure, apply fix, commit, push, re-run
statusCheck active repos for recent activity and local state
release-auditAudit releases, tags, and assets for health
sync-ecosystemSync project ecosystem (deps, configs, cross-repo consistency)
update-repo-metaUpdate GitHub repo topics, description, homepage

AI & documentation

SkillPurpose
configure-aiAI-assisted workflow patterns
create-llms-txtGenerate LLM-friendly project summary files
create-oss-skillCreate portable agent skills
extend-oss-skills-to-claudeExtend skills with Claude Code-specific features
audit-securitySecurity auditing and threat detection
style-brandBranding, themes, teasr demo capture, asset conventions
sync-docsAudit and synchronize project documentation
write-readmeREADME structure and section order

Subagents

Delegation targets in dot_agents/agents/ that adopt a specific reasoning mode:

AgentPurpose
architectInterface-first systems design with verbose, principle-driven reasoning
curatorPrescriptive perfectionist for consistency, polish, and visual hierarchy
debuggerTerse, empirical root-cause analysis
ideatorExpansive, generative creative exploration
strategistImperative orchestration across multiple systems and repos
technical-documentation-architectStructured technical documentation and architecture docs
writerConcise, outcome-focused technical documentation

License

Apache-2.0