Loading...
FlagShark reads your code, not your flag vendor's API. So it works the same whether your flags live in LaunchDarkly, Unleash, a homegrown helper, or all three. Detection runs inside your GitHub Actions. Cleanup arrives as a PR you review in 30 seconds.
Detection runs on every PR, with no tokens. The GitHub App reads your code with the standard contents: read permission and comments inline. Cleanup PRs ship from the App itself.
Sync your LaunchDarkly project to catch flags archived in LD but still living in code. Each stale evaluation becomes a cleanup PR, which trims the SDK call sites you are still billed for.
Detection is AST-based, so adding a provider means adding a grammar pattern, not a vendor integration. That covers the major SDKs out of the box, plus any custom flag helper you define in .flagshark.yaml.
Full SDK coverage, status sync
Gate and dynamic-config checks
Treatment evaluations
getValue calls across languages
has_feature and flag lookups
isEnabled across the client SDKs
isFeatureEnabled and payloads
Vendor-neutral evaluation API
Your own helper, defined in .flagshark.yaml
We could quote you a headline number. Instead: every dead flag is a branch your team reasons around, a test that still runs, a line a new hire trusts by mistake. Removing one is small. Removing hundreds, on a schedule, is not. Put your own headcount and flag count into the calculator and see what cleanup is costing you today.
8 lines of YAML in .github/workflows/ and FlagShark starts watching every PR. No vendor lock-in, no flag-API tokens, no sales call.
No credit card · 30s install · works with any flag SDK