Find stale feature flags, nested flag complexity, SDK misuse, missing defaults, lifecycle violations, and flag architecture issues — before they take down production.
Teams add flags for every release, then never remove them. Six months later, your codebase has 47 flags, nobody knows which are safe to remove, and one accidental toggle takes down checkout. FeatureLint scans your entire codebase for flag hygiene issues, stale references, and lifecycle violations so your flags stay manageable.
90 checks across 6 categories, covering every aspect of feature flag hygiene and lifecycle management.
Detects feature flags older than 90 days, TODO flags never removed, commented-out flag checks, dead flag references in config files, and orphaned flags with no matching evaluation in code.
Finds deeply nested flag conditions, flag combinations without documentation, boolean flag chains, excessive flag branching, overlapping flag logic, and conditions that create untestable code paths.
Catches missing default values, flags without fallback behavior, no kill switch capability, flags controlling critical paths without circuit breakers, and unsafe flag-dependent error handling.
Detects evaluating flags in loops, flag evaluation in hot paths without caching, wrong SDK init patterns, multiple SDK instances, synchronous calls where async is needed, and leaked flag contexts.
Catches flags without removal date annotations, flags without an owner, missing flag documentation, no sunset plan, flags past their planned removal date, and undefined lifecycle stages.
Finds business logic coupled to flag names, flags used for permanent configuration, flag spaghetti patterns, flags controlling database schemas, cross-service flag dependencies, and flag naming violations.
Purpose-built for feature flag hygiene. Nothing else comes close.
| Capability | FeatureLint | LaunchDarkly Lint | Manual Audit | grep for flags | SonarQube |
|---|---|---|---|---|---|
| Stale flag detection | ✓ 15 checks | Partial | Ad hoc | ✗ | ✗ |
| Nested complexity analysis | ✓ Automated | ✗ | Manual | ✗ | Basic |
| SDK misuse detection | ✓ 15 checks | Basic | ✗ | ✗ | ✗ |
| Lifecycle tracking | ✓ Full | Partial | Spreadsheet | ✗ | ✗ |
| Architecture patterns | ✓ 15 checks | ✗ | Ad hoc | ✗ | ✗ |
| Vendor-agnostic | ✓ | ✗ LD only | ✓ | ✓ | ✓ |
| Runs locally / offline | ✓ | ✗ | ✓ | ✓ | ✗ |
| Zero dependencies | ✓ | ✗ | N/A | ✓ | ✗ |
| Scoring & grading | ✓ | ✗ | ✗ | ✗ | ✓ |
| Setup time | 30 seconds | 15 minutes | Hours | Immediate | 30+ minutes |
Choose the plan that matches your feature flag management needs.
| Feature | Free | Pro | Team |
|---|---|---|---|
| Detection patterns | 30 | 60 | 90 (all) |
| Stale Flags (SF) checks | ✓ | ✓ | ✓ |
| Flag Complexity (FC) checks | ✓ | ✓ | ✓ |
| Flag Safety (FS) checks | ✗ | ✓ | ✓ |
| SDK Misuse (SM) checks | ✗ | ✓ | ✓ |
| Flag Lifecycle (FL) checks | ✗ | ✗ | ✓ |
| Flag Architecture (FA) checks | ✗ | ✗ | ✓ |
| Terminal report | ✓ | ✓ | ✓ |
| JSON report | ✗ | ✓ | ✓ |
| HTML report | ✗ | ✓ | ✓ |
| Category filtering | ✗ | ✓ | ✓ |
| Verbose output | ✗ | ✗ | ✓ |
| CI/CD integration | ✗ | ✗ | ✓ |
| Custom rules | ✗ | ✗ | ✓ |
| Support | Community | Priority |
Start scanning for free. Upgrade when your flag debt demands it.
No spam. One email per week max. Unsubscribe anytime.
Install FeatureLint in 30 seconds. Find every stale flag, missing default, and lifecycle violation before one accidental toggle takes down production.