TLDRocket
Sign in

Quoting David Crawshaw's prompt

Simon Willison Simon Willison

A dev's prompt has an AI agent auto-update forked tools every night: pull upstream, rebase, test, swap in if it works. It only works because the code is open — closed tools can't be rebased like this.

Simon Willison flagged a single line from David Crawshaw's new post, "Devtools must be open source," and it's the kind of line that sticks with you. Crawshaw describes a nightly cron job whose entire job is to run a prompt: fetch upstream changes to some piece of software, rebase all local modifications on top of it, verify the result still works, and if it does, swap it in as the new current version. No human review step described. No PR queue. Just a scheduled task quietly keeping a fork current against upstream, forever, on autopilot.

What makes this interesting isn't the cron job itself — people have automated dependency bumps for years with Dependabot and Renovate. It's that Crawshaw is handing the actual merge conflict resolution and correctness judgment to an LLM, not just the trigger. Rebasing local patches onto a moving upstream is exactly the kind of fiddly, context-heavy work that used to require a developer sitting there resolving hunks by hand. If an agent can do that reliably enough to run unattended overnight, the whole calculus of maintaining a customized fork changes.

And that's where the title of Crawshaw's post does its real work. This trick is only possible because the software in question is open source. You can't rebase your local changes onto Slack's upstream, or Photoshop's, because there's no accessible source tree to diff against, patch, or rebuild from. Closed tools lock you out of exactly the kind of self-maintaining pipeline Crawshaw is describing. If AI agents are going to take over grunt maintenance work like this, the argument goes, that only scales for tools whose internals you can actually see and modify.

Willison posting this as a standalone quote, rather than folding it into a longer roundup, tells you something too. He's been circling this territory for a while — cron-triggered coding agents, MCP servers, agents patching real codebases — and this one-liner reads like a small, sharp data point in a pattern he's been tracking since at least his Hugging Face incident post and his notes on stateless MCP. It's a short quote, but it's doing a lot of pointing toward where automated software maintenance is actually headed.

My take

I run TLDRocket precisely because I think open weights and open code are the only way any of this stays inspectable, and Crawshaw's cron job is a perfect little proof of that argument — nobody's running this trick against proprietary software anytime soon. The unattended 'test it, then just replace the running version' step should make everyone a bit nervous though; unreviewed automerges have burned teams long before LLMs showed up, and adding an agent in the loop doesn't remove that risk, it just makes the failure mode quieter.

Read more about this at: Simon Willison

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads 60+ sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.