Define
Model flags and targeting rules with typed primitives in your repository.
Release control as a function
Define feature access as code. shipd evaluates users, environments, and rollout rules without hiding the decision.
user × environment × time
f(mira, production, now)= 1Local evaluation
0 network hops
Deterministic rules
Full decision trace
Change the inputs below. The result updates from the same conditions your application evaluates.
request_8f31ccountry∈{ US, CA, GB }trueplan=protruebucket(user)<rollouttrueTypes, defaults, variants, ownership, and lifecycle stay reviewable beside the software they control.
01 export const flags = defineFlags({
02 newCheckout: flag.boolean({
03 default: false,
04 rules: [{
05 when: country.in("US", "CA", "GB"),
06 and: plan.eq("pro"),
07 rollout: 42.7,
08 serve: true,
09 }],
10 }),
11 });1 rule · 2 variantsModel flags and targeting rules with typed primitives in your repository.
See the exact environment plan in CI before a definition reaches production.
Ship a signed, versioned snapshot to every connected runtime.
Resolve each request locally from explicit inputs and deterministic rules.
Every pull request produces a readable plan across environments. Review the audience, rollout, and resulting definition together.
Feature flag best practicesplan_7a3fThe SDK resolves the snapshot locally. No extra hop on the request.
eval_f412shipd is for teams who keep flag keys typed beside the code they gate, review environment plans in pull requests, and evaluate each request locally—not for teams that need a dashboard-first platform.
The next release can be explicit.