Imported from jonpulsifer/infra (
dotfiles/AGENTS.md). Install upstream withnpx skills add jonpulsifer/infra --skill dotfiles. Copyright stays with the author.
AGENTS.md
Guidance for AI coding agents working in this directory.
Repository overview
mise-managed dotfiles (mise bootstrap): zsh (pure + plugins — home-manager on NixOS, http: backend on macOS, see mise-global-config.toml),
PowerShell 7 on Windows (windows/), tmux, vim, git, Homebrew / Nix (home-manager) / WinGet / Mise tooling, SSH, GPG, Ghostty, and agent skill deployment.
Development tools
- Homebrew (macOS): Core shell tools (
eza,fzf,neovim,bat,ripgrep,fd,git-delta,jq,gh,btop,sd), Casks & fonts, plus zsh plugins via the misehttp:backend. - Nix (Linux/NixOS): OS system state, system closure, and home-manager-managed shell tooling + zsh plugins for the
jawnuser (nix/home/jawn.nix). - Mise: Polyglot runtimes (
bun,node), K8s/Cloud tools (kubectl,helm,k9s), AI agents, macOS zsh plugins, task orchestration (mise bootstrap), and profile switching (MISE_ENV=work). On Windows it also carries the shell tooling Homebrew and home-manager provide elsewhere, behind anos = ["windows"]filter. - WinGet (Windows): applications and OS settings as a DSC v3 configuration (
windows/configuration.winget), applied withwinget configure.
Build & validation
mise run check # from the repo root: shfmt, shellcheck, PSScriptAnalyzer
mise run dotfiles:check # resolve every link source without deploying
Architecture
- Bootstrap:
mise bootstrapauto-detects OS (uname -s) and routes tobootstrap:macosorbootstrap:linux, runningscripts/deploy-dotfiles.shfor atomic symlinking. On Windows mise takes the task'srun_windowsbranch tobootstrap:windows, which runswindows/deploy-dotfiles.ps1. - The WSL boundary: Windows and the distro each keep their own clone, and nothing symlinks between them. Do not "simplify" this to one clone —
$PROFILEmust resolve before the WSL VM is awake, and Windows bootstraps first so that it can install WSL. See Install a Windows desktop. - Profiles:
MISE_ENV=workloadsmise.work.tomlidentity overrides and activates.config/git/config.workvia Git[includeIf]. - Skills: source under
skills/; deployed directly to~/.agents/skills,~/.claude/skills, and~/.gemini/config/skills.
Git workflow
Commits signed (SSH) with Conventional Commits. Do not commit directly to main — use PRs (gh pr create).