Upgrade a plugin to a new framework alpha with Codex CLI
- Posted
- by Simon Willison
- Last checked
- Method:
- How we verify
Evidence: Screenshots or logsThe source shows screenshots, a transcript or the agent's output.
Outcome
A one-line `codex exec` loop read the Datasette 1.0a20 upgrade docs, fixed the failing tests, and got the datasette-checkbox plugin passing again.
Agent
Prompt Original prompt
Exact prompt as published in the source.
Run the command tadd and look at the errors and then read ~/dev/datasette/docs/upgrade-1.0a20.md and apply fixes and run the tests again and get them to pass
Try this in:
Sends the Original prompt shown above. ChatGPT and Grok open with it filled in, and ChatGPT may send it straight away. Gemini opens empty, so we copy the prompt for you to paste. Every button also copies it.
Opens in a new tab. We don't see what you send.
These links are only a shortcut. We're not affiliated with OpenAI, Google or xAI, and your results may not match the source.
Optional stronger version
Our rewrite with extra checks. The poster didn't test it.
Goal: Upgrade this plugin to the new Datasette alpha so all tests pass. Inputs (fill in or confirm): - The plugin repo path - Upgrade guide path (~/dev/datasette/docs/upgrade-1.0a20.md) - Test command (tadd) - Python version and how tests are run in CI Rules: - Run the tests first and save the full error list. - Read the upgrade guide and map each error to a guide section before editing. - Make the smallest change that fixes each error; don't refactor unrelated code. - Re-run tests after each group of fixes. - Keep a short changelog entry describing the compatibility change. - Read the whole upgrade guide first and list the changes that apply to this plugin. - Fix one failing test at a time and rerun the suite after each change. - Don't change test expectations just to make them pass; explain any test you think is wrong. - Bump the Datasette dependency pin and note it in the changelog. Checkpoint: Don't commit, bump versions or publish without asking. If you get stuck: If an error isn't covered by the guide after two attempts, stop and show it to me. If a login, CAPTCHA or two-step code appears, stop and ask me to handle it; never guess or store passwords. Verify before you finish: Final full test run must be green; list any warnings that remain. Output: A summary of errors → fixes with file names, and the final test output. Done when: the test suite passes on the new alpha with a minimal diff.
Source
https://simonwillison.net/2025/Nov/6/upgrading-datasette-plugins/
Related cases
- Migrate two websites from WordPress to Wagtail with Claude CodeRecreated promptEvidence: Described by poster
Over a weekend Claude Code migrated two sites from WordPress to Wagtail (PHP to Python), including server setup, data transfer, testing and fixes, and redesigned a homepage; the poster reports nothing broke and traffic and tools stayed in place.
Claude Code · Coding · Source date:
- Migrate a 50-screen app from Firebase to Supabase with Claude CodeRecreated promptEvidence: Described by poster
Going feature by feature, the poster used Claude Code to generate database schemas, write queries and fix daily errors; they report migrating about 85% of a 45–50 screen Flutter app from Firebase to Supabase in 10–20 days.
Poster says:~85% migrated in 10–20 days
Claude Code · Coding · Source date:
- Automate defect remediation across C/C++ codebases with Codex CLIRecreated promptEvidence: Company case study
According to OpenAI's case study, Cisco's Codex CLI defect-repair workflow raised defect resolution throughput 10–15x, and Codex build optimization saved more than 1,500 engineering hours a month.
According to OpenAI:10–15x defect resolution throughput
OpenAI Codex CLI · Coding · Source date: