Build powerful Custom Lint rules for any dart & flutter package

Zero configuration, zero set up, simply start building!

Go to Docs
showcase
< > lib/my_package_name.dart X
# pubspec.yaml
PluginBase createPlugin() => _ExampleLinter();
class _ExampleLinter extends PluginBase {
  @override
  List<LintRule> getLintRules(CustomLintConfigs configs) => [
        MyCustomLintCode(),
      ];
}
class MyCustomLintCode extends DartLintRule {
  MyCustomLintCode() : super(code: _code);
  static const _code = LintCode(
    name: 'my_custom_lint_code',
    problemMessage: 'This is the description of our custom lint',
  );
  @override
  void run(
    CustomLintResolver resolver,
    ErrorReporter reporter,
    CustomLintContext context,
  ) {
    context.registry.addVariableDeclaration((node) {
      reporter.reportErrorForNode(code, node);
    });
  }
}

Plugin library

Riverpod Lints

a developper tool for users of Riverpod, designed to help stop common issue and simplify repetetive tasks.

Use this package

Supernova Lints

Provides custom lint rules broadly used in supernova.io.

Use this package

Equatable Lints

This is a set of rules to make classes using Equatable more maintainable.

Use this package

Hardcoded Strings

Linter which notifies if the user is using hardcoded strings or invalid Ditto keys

Use this package