dot
Your Mac, as code.
Set it up from plain text, keep it that way, and work on your projects. One command on a clean Mac; one line per setting after that.
Fork it
It's yours.
The engine is shared; the choices are yours. Apps, preferences and tools live in config/, and everything personal in one file git ignores.
Get started →Your Mac
Your Mac, as text.
One line per setting. dot check shows what differs and never changes anything; dot apply fixes only that.
# config/dock.conf dock visibility hidden $ dot check ✓ dock visibility hidden ~ trackpad tap-to-click trueYour Mac →
Your projects
Every project, one command away.
Repos land in ~/code/owner/repo. Secrets come from 1Password when a project runs, never as files on disk.
$ dot clone vercel/next.js ~/code/vercel/next.js $ dot secret attach app-payments PAYMENTS_KEYYour projects →
Extend
A setting is one function.
Add what dot doesn't have. dot defaults diff helps find where macOS keeps a setting, without printing what's private.
dock_visibility() {
case $1 in
autohide) default com.apple.dock autohide -bool true ;;
esac
restart Dock
}Extend dot →Agents
Safe to inspect. Changes wait for you.
Agents run dot check freely; applying, cloning and anything with sudo need your OK. The docs ship as llms.txt and raw Markdown.
Agents →