Your flags live in the repo.
Reviewed like code.
Start from what you already have
Export the project you have
Commit it, and prove nothing moved
Change it in a pull request, apply it on merge
Autocompletion and inline errors, in your editor
No state bucket. No provider. No HCL.
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
Works with your CI, whatever it is
There is no plugin to install and no marketplace app to authorise. The integration point is a binary and three exit codes, so anything that can run a command and hold a secret is already supported. All four recipes below do the same thing: plan on a pull request, apply on merge.
--format markdown
is there so the plan reads as a review comment. The diff shows up where the
reviewer already is.
plan
exits 2 for pending changes, which is a signal and not a failure. Pass
--exit-zero
when a step's success matters more than the signal.
Drift is reported. Never silently reverted.
Why a state file cannot answer this
Two ways forward, both explicit
There is no third option where it happens without you.
A managed flag still toggles in an emergency
The repo owns the fields it mentions
The rollout is enforced from the file
The kill switch stays an operator's to flip
Adopt one flag at a time
One file
One file per flag
Recommended"Who turned this on?" answers with a person and a commit
The pull request review is the approval
--prune
can only reach what the repo owns
One secret, two scopes
You never write a rule id
Per-environment fields
enabled
value
rollout_percentage
included_keys
excluded_keys
rules
variations
Rule operators
eq
neq
contains
starts_with
ends_with
in
not_in
gt
lt
gte
lte
regex
in_segment
not_in_segment
Also in the document
A suspended account can still run plan
because reading what would change costs nothing. Only
apply
is blocked.
Why not just use the dashboard?
These are the six things a dashboard structurally cannot do.
Ship the flag with the code
Review before, not after
Change eight flags at once
Actually revert
Replicate a whole project
A second pair of eyes
You do not have to choose
flags:
new-checkout:
environments:
production:
rollout_percentage: 25 # the repo owns this, reviewed in a PR
rules: [...] # and this
# `enabled` is not mentioned, so it stays
# an operator's to flip, no PR required
Put your flags under review.
The file format, the CLI, the ownership model and drift are documented in full under CLI / TUI in the docs.