Skip to content

ESLint plugin to enforce feature flag hygiene and prevent technical debt by automatically detecting expired flags.

License

Notifications You must be signed in to change notification settings

arnaud-zg/eslint-plugin-feature-flags

Repository files navigation

🚀 eslint-plugin-feature-flags

Eslint Plugin Feature Flags Logo

ESLint plugin to manage feature flags and prevent technical debt
License: MIT Built with Turbo ESM Ready TypeScript Node

Table of Contents

Overview

Feature flags help teams deploy safely, but often become technical debt when forgotten. This ESLint plugin solves that by:

  • Finding expired flags that should be removed
  • Preventing undefined flags to avoid typos and mistakes
  • Automating cleanup with configurable strategies

Common issues this plugin addresses:

  • Dead flags bloating the codebase
  • Stale flags creating ambiguity
  • Hidden logic behind flags where it doesn't belong
  • Lack of clear ownership of flags across teams

👉 See the example project for a quick demo.

Development

Quick Start

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Development mode
pnpm dev

# Run tests
pnpm test

# Check code quality
pnpm lint
pnpm format

Project Structure

This is a monorepo built with Turborepo:

eslint-plugin-feature-flags/
├── apps/
│   └── eslint-plugin/  # Main ESLint plugin package
├── packages/
│   ├── types/          # TypeScript type definitions
│   └── core/           # Shared utilities
├── examples/
│   └── test-project/   # Example implementation

Key Components

License

This project is MIT licensed - see the LICENSE file for details.

Want to Learn More?

Resources on feature flag best practices:

Acknowledgments

Special thanks to Kevin Marques for the idea that sparked this project, and to all contributors who help make it better!

Built with Turborepo ⚡️

About

ESLint plugin to enforce feature flag hygiene and prevent technical debt by automatically detecting expired flags.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published