The background check
dotfix installs a LaunchAgent that runs at login and once an hour. It fetches your repository, compares it against the machine, and writes a single status line — it never installs or removes anything on its own.
The status line
Section titled “The status line”A shell fragment prints that line in new terminals when something differs, and prints nothing at all when everything is in sync. It is a file read, not a process, so it costs nothing per tab.
Checking on it
Section titled “Checking on it”dotfix doctorThe two failures worth naming are both silent otherwise:
A LaunchAgent does not inherit your interactive PATH. It runs with a minimal environment, so a dotfix that works in your terminal can be invisible to the agent. dotfix records the PATH it was installed with; doctor checks it still resolves.
It may not reach your SSH key. An agent has no terminal to unlock a passphrase-protected key. doctor checks that your SSH configuration persists keys in the Keychain (AddKeysToAgent and UseKeychain), and the setup screen can generate a passphrase-less deploy key scoped to the one repository when that is what it takes.
Reinstalling it
Section titled “Reinstalling it”dotfix doctor --install-agentUseful after moving the dotfix binary, or if setup finished without it — which happens when the command-line tool was not installed at the time.