add-autogate
Step-by-step guide for adding a new autogate to workerd for gradual rollout of risky changes, including enum registration, string mapping, usage pattern, and testing.
Install
Install this Claude and Codex skill with the command below. The command stays visible even when copy support is unavailable.
git clone https://github.com/cloudflare/workerd /tmp/workerd && ln -s /tmp/workerd/.opencode/skills/add-autogate ~/.claude/skills/add-autogate
From README
Adding an Autogate Autogates enable gradual rollout of risky code changes independent of binary releases. Unlike compatibility flags (which are permanent, date-based behavioral changes), autogates are temporary gates that can be toggled on/off via internal tooling during rollout, then removed once the change is stable. When to use an autogate vs a compat flag | Use an autogate when... | Use a compat flag when... | | --------------------------------------------- | ------------------------------------------ | | Rolling out a risky internal change gradually | Changing user-visible behavior permanently | | You need a kill switch during rollout | The change is tied to a compatibility date | | The gate will be removed once stable | Users need to opt in or out explicitly | Autogates and compat flags are separate mechanisms — an autogate does not become a compat flag. Step 1: Add the enum value Edit src/workerd/util/autogate.h.
More from this repo
add-compat-flag
Step-by-step guide for adding a new compatibility flag to workerd, including capnp schema, C++ usage, testing, and...
bazel-test-hygiene
Mandatory rules for running bazel tests during development.
commit-categories
Commit categorization rules for changelogs and "what's new" summaries.