Changelog
All notable changes to this project will be documented here.
The format follows Keep a Changelog. This project is unreleased: the section below describes the upcoming first release as if the repository were a single commit, so it collapses rather than accumulates. A change to unreleased behavior amends or removes the entry it affects; only net-new capability adds one.
Unreleased
Added
- Add the
install.shbootstrap: one command from a clean machine to Ansible, the collection, and thedotproCLI, with SSH key handoff andDOTPRO_APPLY=1to apply in the same run - Add the
dotproCLI: apply, plan, upgrade, doctor, logs, dotfiles, and versions workflows over plain Ansible - Add
dotpro suggest: see which roles your playbook is missing for products this machine already uses by hand, with the evidence per suggestion; each role lists the CLIs and config paths it detects by, indetect.yaml - Speed up
dotpro applyby merging every role's apt packages into one transaction and prefetching the download-heavy roles in the background;--sequentialopts back out - Add
dotpro_install_source: prefer package-manager installs collection-wide, or opt a single role or tool into latest-upstream releases - Add SHA256 checksum verification to release downloads where upstream publishes checksums (
kubectl,helm,doctl,k9s,kubeseal,yq,glab,gh) - Add per-tool version pinning (
<role>_<tool>_version, defaultlatest): pin any release-installed tool to an exact version that holds on every apply, or track the newest - Add
ansiblerole: Ansible itself (apt or uv), Mitogen, and per-hostroles_extra - Add
dotfilesrole: link, copy, or template raw dotfiles into$HOME, with backup and pruning - Add
unixrole: the OS-neutral base with the~/.profile.d/shell framework every platform role builds on - Add
ubunturole: base Ubuntu (and WSL) apt upgrades, system packages, locale, optional snap packages (ubuntu_snaps), and sysctl tuning (ubuntu_sysctl) - Add
macosrole: base macOS setup with Homebrew as the package manager - Add
wslrole: configure Windows Subsystem for Linux withwsluutilities and sensible defaults - Add
windowsrole: manage Windows itself from inside WSL through the interop bridge, including opt-in Defender exclusions and power-plan tweaks - Add
bashrole: the bash login-file hygiene plus the shared alias, script, and version generators other roles import - Add
zshrole: the zsh counterpart tobash, applied automatically when the host's login shell is zsh - Add
nerdfontsrole: install Nerd Fonts system-wide (FiraCode by default), on WSL also into the Windows per-user font store - Add
starshiprole: install the Starship prompt and render a configurable prompt config - Add
gitrole: Git config, aliases, theworktreeCLI, and repository cloning - Add
projectsrole: a jump alias per curated project plusproject,projects, andprojectinfocommands rendered from theprojectsmap, with per-shell context switching - Add
githubrole: theghCLI with PR/issue/run aliases and per-account context isolation - Add
gitlabrole: theglabCLI with MR/issue/pipeline aliases and per-account context isolation - Add
pythonrole: install Python 3 and pip and configure shell aliases - Add
dockerrole: install Docker and Docker Compose, and manage Docker Desktop settings on WSL and macOS - Add
kubernetesrole: install kubectl, kubeseal, k9s, and Helm (with helm-diff and configurable extra plugins viakubernetes_helm_plugins) and 25+ shell aliases and functions - Add
opentofurole: install OpenTofu (tofu) and configure shell aliases, with tab completion over workspace names - Add
terraformrole: install Terraform from HashiCorp's own package sources, with shell aliases and tab completion over workspace names - Add
awsrole: install the AWS CLI and AWSume for profile switching - Add
digitaloceanrole: installdoctland configure shell aliases and functions - Add
googlecloudrole: install the Google Cloud CLI (gcloud) and configure shell aliases and functions - Add
googleworkspacerole: thegwsCLI with mailbox aliases and per-account context isolation; hosts below glibc 2.39 skip the install with a note - Add
sentryrole: installsentry-cli(checksum-verified from the Sentry release registry) with project/issue/release aliases, bash completion, and per-account context isolation - Add
atlassianrole: installaclifor Jira and Confluence from Atlassian's own package sources, with Jira/Confluence aliases and per-account context isolation - Add
agentsrole: render AGENTS.md, TOOLING.md, PROJECTS.md, SKILLS.md, and the worklog - Add
clauderole: install the Claude Code CLI and manage its settings and MCP servers (claude_code_mcps), with per-account context isolation - Add terminal attention notifications:
~/scripts/notifypings a backgrounded tab (bell, OSC 9, Windows toast on WSL) when a command fails or a Claude Code session needs input - Add the
projectsvariable, a machine-level project inventory:git_repositoriesdefaults to it and theagentsrole renders PROJECTS.md from it - Add
bitwardenrole: install the Bitwarden CLI (bw) and configure shell aliases - Add
sshrole: install Keychain for persistent SSH key management across shells - Add the starter examples (
single,multiple,many) and the documentation site