Why We Built It
Because Release Day Shouldn't
Depend on Remembering SVN
We publish WordPress plugins to the WordPress.org directory ourselves — GuestDock, AuthDock, and SyncDock all live there. And publishing to the directory means the same Subversion ritual every time: check out the SVN repository, copy the build into trunk, remember which files not to copy, bump the version in the header and the readme and the constant, update the Stable tag, commit, copy trunk to a tag, commit again, and then open the plugin page to see whether it worked.
None of those steps is hard. The trouble is that you do them rarely, from memory, at the end of a long piece of work — which is exactly when a Stable tag gets left behind, a readme fails the directory's parser, or a local .env file rides along into a public zip. The directory is unforgiving about all three, and the mistake ships to every site that updates.
svnPush writes the ritual down and enforces it. The steps are always the same, the checks are deterministic, the AI only drafts text you approve, and nothing is committed until you have seen exactly what will change. We made it open source because the WordPress plugin community has the same problem we did — and because a tool you trust with your SVN password should be one you can read.
Same Steps Every Time
A release is a checklist, not a memory test.
Checks Decide
Deterministic rules gate the release; nothing is left to judgement at 2am.
AI Assists
Drafts the words you'd rather not write. Optional, and never in charge.
Preview Everything
Every SVN change visible before anything is committed.
Keychain Only
Passwords and keys never touch a file or a log.
Open Source
MIT-licensed and built in the open.