CLI
Flag Marshal
DeprecatedDeprecated feature-flag analysis CLI. Version 0.2.0 is the final release; documentation is retained for reference.
Feature flags get created constantly and removed almost never. Flag Marshal scans a local repository for flags that are stale, missing from code or configuration, or referenced through keys it cannot resolve, and reports each finding with the evidence behind it and a confidence level.
It reads JavaScript, TypeScript, Java, and Kotlin, understands LaunchDarkly, OpenFeature, Unleash, Togglz, and Spring conditionals, and never guesses: a computed key is reported as unresolved, not assigned a value. It is open source under the MIT license.
Capabilities retained for reference
Evidence, not guesses
A call counts as a flag only when the file imports the provider and the receiver is bound to it.
Four languages, five providers
JavaScript, TypeScript, Java, Kotlin. LaunchDarkly, OpenFeature, Unleash, Togglz, Spring @ConditionalOnProperty.
Safe to try, strict when you want
scan always exits 0. check enforces owners, expiry, age, and a flag budget against a committed baseline or a pull request's base, so CI only fails on new debt.
Fits your pipeline
Annotations on GitHub pull requests and GitLab merge requests, human, JSON, Markdown, and SARIF output, and a trend view over the baseline's history.
Previews the cleanup
preview shows the diff that turns one flag permanently on or off in TypeScript and JavaScript, refuses anything it cannot rewrite exactly, and writes nothing.
Local only
No hosted backend, account, telemetry, or source upload.
Privacy
Analysis runs on your machine. Flag Marshal has no hosted backend, account, telemetry, or source upload. Flag keys can reveal unreleased features, so replace them with placeholders before posting anything publicly.
See the site privacy page for how this website itself handles data.