A tiny push-to-deploy system for agent builders and vibe coders running one thing on one cloud host.
You build the agent on your laptop. It runs on a droplet. You want git push to be the whole deploy — no CI runner, no ngrok, no pip install, no DevOps afternoon. This repo is the ~100 lines of Python and one systemd unit that does exactly that.
Framework and skill authored by Jacobi Lange — @cobi_bean on X, @cobibean on GitHub.
A public, generalized version of the sync pipeline I built for a personal Hermes agent running on a DigitalOcean droplet. Every gotcha in SKILL.md actually happened during that deploy.
The flow is dead simple:
- You
git pushfrom your laptop. - GitHub fires a webhook at your droplet.
- The droplet fast-forwards the repo.
- Your agent reads the new files on its next turn.
No build step. No platform. No lock-in. Just a webhook, a git pull, and HMAC to keep randos out.
Open SKILL.md for the full runbook.
- Agent builders running a Hermes / Claude Code / custom agent on a VPS
- Vibe coders who want the laptop-to-cloud loop to feel like one repo
- Solo devs running a bot, scheduler, or scraper on a single host
- Anyone tired of
ssh host 'cd repo && git pull'after every change
- A build system — if your deploy needs compile/bundle/migrate steps, add a post-pull hook or use CI
- A multi-host deployer — this is one-host by design
- TLS out of the box — payloads are plain HTTP. HMAC protects integrity, not confidentiality. Put it behind Caddy if you need more.
# User-level (available in every project)
git clone https://github.com/cobibean/agent-local-cloud-sync.git ~/.claude/skills/agent-local-cloud-sync
# Or project-level (available only in this repo)
git clone https://github.com/cobibean/agent-local-cloud-sync.git .claude/skills/agent-local-cloud-syncThen in Claude Code, just ask: "use the agent-local-cloud-sync skill to wire up push-to-deploy on my droplet" — Claude will pick it up automatically via the frontmatter.
You can also use SKILL.md directly as a runbook in any other tool (or just read it and run the commands yourself — it's plain Markdown).
- Copy
github_webhook.py+github-webhook.serviceto your host. - Generate an HMAC secret on the host.
- Enable the user-systemd service.
- Register the webhook with GitHub via
gh api. git pushand watch the host sync.
Full commands in SKILL.md, including rotation, uninstall, and IP-change recovery.
Most "deploy on push" tutorials reach for a full CI/CD platform or a 300MB webhook framework. For one agent tracking one repo on one droplet, that's overkill.
The real problem is 100 lines of Python. The rest is knowing which gotchas to avoid — which is what the skill documents.
If you're an agent builder, your workspace repo is your runtime config. SOUL, AGENTS/CLAUDE, skills — all plain Markdown, all versioned. The faster the edit → runtime loop closes, the less you context-switch. This closes it to "git push and wait three seconds."
SKILL.md— the full runbook, security model, day-2 ops, and the gotchas that cost me hoursgithub_webhook.py— the listener (Python 3 stdlib, no deps)github-webhook.service— the user-systemd unitREADME.md— this overviewLICENSE— MIT
MIT.