Skip to content

docs: add rule documentation for 89 rules#490

Merged
fansenze merged 1 commit intomainfrom
docs/rules-md-20260302
Mar 4, 2026
Merged

docs: add rule documentation for 89 rules#490
fansenze merged 1 commit intomainfrom
docs/rules-md-20260302

Conversation

@fansenze
Copy link
Copy Markdown
Contributor

@fansenze fansenze commented Mar 2, 2026

Summary

Add markdown documentation for 89 lint rules (eslint, typescript-eslint, import plugin)

Related Links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's documentation by introducing detailed Markdown files for 85 linting rules. This effort aims to improve developer understanding and adherence to coding standards by providing clear explanations, practical examples, and direct references for rules originating from eslint-plugin-import, @typescript-eslint/eslint-plugin, and core ESLint.

Highlights

  • New Rule Documentation: Added comprehensive Markdown documentation for 85 linting rules across various categories.
  • Plugin Coverage: Included documentation for rules from eslint-plugin-import, @typescript-eslint/eslint-plugin, and core ESLint.
  • Content Detail: Each rule documentation provides detailed explanations, examples of incorrect and correct code, and links to original documentation sources.
Changelog
  • internal/plugins/import/rules/no_self_import/no_self_import.md
    • Added documentation for the import/no-self-import rule.
  • internal/plugins/import/rules/no_webpack_loader_syntax/no_webpack_loader_syntax.md
    • Added documentation for the import/no-webpack-loader-syntax rule.
  • internal/plugins/typescript/rules/adjacent_overload_signatures/adjacent_overload_signatures.md
    • Added documentation for the adjacent-overload-signatures rule.
  • internal/plugins/typescript/rules/array_type/array_type.md
    • Added documentation for the array-type rule.
  • internal/plugins/typescript/rules/await_thenable/await_thenable.md
    • Added documentation for the await-thenable rule.
  • internal/plugins/typescript/rules/ban_ts_comment/ban_ts_comment.md
    • Added documentation for the ban-ts-comment rule.
  • internal/plugins/typescript/rules/ban_types/ban_types.md
    • Added documentation for the ban-types rule.
  • internal/plugins/typescript/rules/class_literal_property_style/class_literal_property_style.md
    • Added documentation for the class-literal-property-style rule.
  • internal/plugins/typescript/rules/consistent_generic_constructors/consistent_generic_constructors.md
    • Added documentation for the consistent-generic-constructors rule.
  • internal/plugins/typescript/rules/consistent_indexed_object_style/consistent_indexed_object_style.md
    • Added documentation for the consistent-indexed-object-style rule.
  • internal/plugins/typescript/rules/consistent_return/consistent_return.md
    • Added documentation for the consistent-return rule.
  • internal/plugins/typescript/rules/consistent_type_assertions/consistent_type_assertions.md
    • Added documentation for the consistent-type-assertions rule.
  • internal/plugins/typescript/rules/consistent_type_definitions/consistent_type_definitions.md
    • Added documentation for the consistent-type-definitions rule.
  • internal/plugins/typescript/rules/consistent_type_exports/consistent_type_exports.md
    • Added documentation for the consistent-type-exports rule.
  • internal/plugins/typescript/rules/consistent_type_imports/consistent_type_imports.md
    • Added documentation for the consistent-type-imports rule.
  • internal/plugins/typescript/rules/default_param_last/default_param_last.md
    • Added documentation for the default-param-last rule.
  • internal/plugins/typescript/rules/dot_notation/dot_notation.md
    • Added documentation for the dot-notation rule.
  • internal/plugins/typescript/rules/no_array_delete/no_array_delete.md
    • Added documentation for the no-array-delete rule.
  • internal/plugins/typescript/rules/no_base_to_string/no_base_to_string.md
    • Added documentation for the no-base-to-string rule.
  • internal/plugins/typescript/rules/no_confusing_void_expression/no_confusing_void_expression.md
    • Added documentation for the no-confusing-void-expression rule.
  • internal/plugins/typescript/rules/no_duplicate_enum_values/no_duplicate_enum_values.md
    • Added documentation for the no-duplicate-enum-values rule.
  • internal/plugins/typescript/rules/no_duplicate_type_constituents/no_duplicate_type_constituents.md
    • Added documentation for the no-duplicate-type-constituents rule.
  • internal/plugins/typescript/rules/no_empty_function/no_empty_function.md
    • Added documentation for the no-empty-function rule.
  • internal/plugins/typescript/rules/no_empty_interface/no_empty_interface.md
    • Added documentation for the no-empty-interface rule.
  • internal/plugins/typescript/rules/no_explicit_any/no_explicit_any.md
    • Added documentation for the no-explicit-any rule.
  • internal/plugins/typescript/rules/no_extraneous_class/no_extraneous_class.md
    • Added documentation for the no-extraneous-class rule.
  • internal/plugins/typescript/rules/no_floating_promises/no_floating_promises.md
    • Added documentation for the no-floating-promises rule.
  • internal/plugins/typescript/rules/no_for_in_array/no_for_in_array.md
    • Added documentation for the no-for-in-array rule.
  • internal/plugins/typescript/rules/no_implied_eval/no_implied_eval.md
    • Added documentation for the no-implied-eval rule.
  • internal/plugins/typescript/rules/no_invalid_void_type/no_invalid_void_type.md
    • Added documentation for the no-invalid-void-type rule.
  • internal/plugins/typescript/rules/no_meaningless_void_operator/no_meaningless_void_operator.md
    • Added documentation for the no-meaningless-void-operator rule.
  • internal/plugins/typescript/rules/no_misused_new/no_misused_new.md
    • Added documentation for the no-misused-new rule.
  • internal/plugins/typescript/rules/no_misused_promises/no_misused_promises.md
    • Added documentation for the no-misused-promises rule.
  • internal/plugins/typescript/rules/no_misused_spread/no_misused_spread.md
    • Added documentation for the no-misused-spread rule.
  • internal/plugins/typescript/rules/no_mixed_enums/no_mixed_enums.md
    • Added documentation for the no-mixed-enums rule.
  • internal/plugins/typescript/rules/no_namespace/no_namespace.md
    • Added documentation for the no-namespace rule.
  • internal/plugins/typescript/rules/no_redundant_type_constituents/no_redundant_type_constituents.md
    • Added documentation for the no-redundant-type-constituents rule.
  • internal/plugins/typescript/rules/no_require_imports/no_require_imports.md
    • Added documentation for the no-require-imports rule.
  • internal/plugins/typescript/rules/no_this_alias/no_this_alias.md
    • Added documentation for the no-this-alias rule.
  • internal/plugins/typescript/rules/no_unnecessary_boolean_literal_compare/no_unnecessary_boolean_literal_compare.md
    • Added documentation for the no-unnecessary-boolean-literal-compare rule.
  • internal/plugins/typescript/rules/no_unnecessary_template_expression/no_unnecessary_template_expression.md
    • Added documentation for the no-unnecessary-template-expression rule.
  • internal/plugins/typescript/rules/no_unnecessary_type_arguments/no_unnecessary_type_arguments.md
    • Added documentation for the no-unnecessary-type-arguments rule.
  • internal/plugins/typescript/rules/no_unnecessary_type_assertion/no_unnecessary_type_assertion.md
    • Added documentation for the no-unnecessary-type-assertion rule.
  • internal/plugins/typescript/rules/no_unsafe_argument/no_unsafe_argument.md
    • Added documentation for the no-unsafe-argument rule.
  • internal/plugins/typescript/rules/no_unsafe_assignment/no_unsafe_assignment.md
    • Added documentation for the no-unsafe-assignment rule.
  • internal/plugins/typescript/rules/no_unsafe_call/no_unsafe_call.md
    • Added documentation for the no-unsafe-call rule.
  • internal/plugins/typescript/rules/no_unsafe_enum_comparison/no_unsafe_enum_comparison.md
    • Added documentation for the no-unsafe-enum-comparison rule.
  • internal/plugins/typescript/rules/no_unsafe_member_access/no_unsafe_member_access.md
    • Added documentation for the no-unsafe-member-access rule.
  • internal/plugins/typescript/rules/no_unsafe_return/no_unsafe_return.md
    • Added documentation for the no-unsafe-return rule.
  • internal/plugins/typescript/rules/no_unsafe_type_assertion/no_unsafe_type_assertion.md
    • Added documentation for the no-unsafe-type-assertion rule.
  • internal/plugins/typescript/rules/no_unsafe_unary_minus/no_unsafe_unary_minus.md
    • Added documentation for the no-unsafe-unary-minus rule.
  • internal/plugins/typescript/rules/no_unused_vars/no_unused_vars.md
    • Added documentation for the no-unused-vars rule.
  • internal/plugins/typescript/rules/no_useless_empty_export/no_useless_empty_export.md
    • Added documentation for the no-useless-empty-export rule.
  • internal/plugins/typescript/rules/no_var_requires/no_var_requires.md
    • Added documentation for the no-var-requires rule.
  • internal/plugins/typescript/rules/non_nullable_type_assertion_style/non_nullable_type_assertion_style.md
    • Added documentation for the non-nullable-type-assertion-style rule.
  • internal/plugins/typescript/rules/only_throw_error/only_throw_error.md
    • Added documentation for the only-throw-error rule.
  • internal/plugins/typescript/rules/prefer_as_const/prefer_as_const.md
    • Added documentation for the prefer-as-const rule.
  • internal/plugins/typescript/rules/prefer_promise_reject_errors/prefer_promise_reject_errors.md
    • Added documentation for the prefer-promise-reject-errors rule.
  • internal/plugins/typescript/rules/prefer_readonly_parameter_types/prefer_readonly_parameter_types.md
    • Added documentation for the prefer-readonly-parameter-types rule.
  • internal/plugins/typescript/rules/prefer_reduce_type_parameter/prefer_reduce_type_parameter.md
    • Added documentation for the prefer-reduce-type-parameter rule.
  • internal/plugins/typescript/rules/prefer_return_this_type/prefer_return_this_type.md
    • Added documentation for the prefer-return-this-type rule.
  • internal/plugins/typescript/rules/promise_function_async/promise_function_async.md
    • Added documentation for the promise-function-async rule.
  • internal/plugins/typescript/rules/related_getter_setter_pairs/related_getter_setter_pairs.md
    • Added documentation for the related-getter-setter-pairs rule.
  • internal/plugins/typescript/rules/require_array_sort_compare/require_array_sort_compare.md
    • Added documentation for the require-array-sort-compare rule.
  • internal/plugins/typescript/rules/require_await/require_await.md
    • Added documentation for the require-await rule.
  • internal/plugins/typescript/rules/restrict_plus_operands/restrict_plus_operands.md
    • Added documentation for the restrict-plus-operands rule.
  • internal/plugins/typescript/rules/restrict_template_expressions/restrict_template_expressions.md
    • Added documentation for the restrict-template-expressions rule.
  • internal/plugins/typescript/rules/return_await/return_await.md
    • Added documentation for the return-await rule.
  • internal/plugins/typescript/rules/switch_exhaustiveness_check/switch_exhaustiveness_check.md
    • Added documentation for the switch-exhaustiveness-check rule.
  • internal/plugins/typescript/rules/triple_slash_reference/triple_slash_reference.md
    • Added documentation for the triple-slash-reference rule.
  • internal/plugins/typescript/rules/unbound_method/unbound_method.md
    • Added documentation for the unbound-method rule.
  • internal/plugins/typescript/rules/unified_signatures/unified_signatures.md
    • Added documentation for the unified-signatures rule.
  • internal/plugins/typescript/rules/use_unknown_in_catch_callback_variable/use_unknown_in_catch_callback_variable.md
    • Added documentation for the use-unknown-in-catch-callback-variable rule.
  • internal/rules/array_callback_return/array_callback_return.md
    • Added documentation for the array-callback-return rule.
  • internal/rules/constructor_super/constructor_super.md
    • Added documentation for the constructor-super rule.
  • internal/rules/for_direction/for_direction.md
    • Added documentation for the for-direction rule.
  • internal/rules/getter_return/getter_return.md
    • Added documentation for the getter-return rule.
  • internal/rules/no_async_promise_executor/no_async_promise_executor.md
    • Added documentation for the no-async-promise-executor rule.
  • internal/rules/no_await_in_loop/no_await_in_loop.md
    • Added documentation for the no-await-in-loop rule.
  • internal/rules/no_class_assign/no_class_assign.md
    • Added documentation for the no-class-assign rule.
  • internal/rules/no_compare_neg_zero/no_compare_neg_zero.md
    • Added documentation for the no-compare-neg-zero rule.
  • internal/rules/no_cond_assign/no_cond_assign.md
    • Added documentation for the no-cond-assign rule.
  • internal/rules/no_const_assign/no_const_assign.md
    • Added documentation for the no-const-assign rule.
  • internal/rules/no_constant_binary_expression/no_constant_binary_expression.md
    • Added documentation for the no-constant-binary-expression rule.
  • internal/rules/no_constant_condition/no_constant_condition.md
    • Added documentation for the no-constant-condition rule.
  • internal/rules/no_constructor_return/no_constructor_return.md
    • Added documentation for the no-constructor-return rule.
  • internal/rules/no_debugger/no_debugger.md
    • Added documentation for the no-debugger rule.
  • internal/rules/no_sparse_arrays/no_sparse_arrays.md
    • Added documentation for the no-sparse-arrays rule.
  • internal/rules/no_template_curly_in_string/no_template_curly_in_string.md
    • Added documentation for the no-template-curly-in-string rule.
Activity
  • The author, fansenze, updated the documentation for 85 linting rules.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds markdown documentation for a large number of ESLint and typescript-eslint rules. The documentation for each rule is well-structured, providing a clear explanation, examples of incorrect and correct code, and a link to the original documentation. The new documentation is comprehensive and well-written. I have one suggestion to improve the clarity of the code examples for the no-cond-assign rule.

@fansenze fansenze force-pushed the docs/rules-md-20260302 branch 2 times, most recently from 83ccbe3 to 822fed4 Compare March 3, 2026 05:11
…t rules

Add markdown documentation files for ~100 lint rules covering:
- 17 ESLint core rules (no-debugger, no-const-assign, etc.)
- ~80 @typescript-eslint rules (no-explicit-any, no-floating-promises, etc.)
- 2 eslint-plugin-import rules (no-self-import, no-webpack-loader-syntax)

Each doc includes rule description, correct/incorrect code examples,
and link to the original upstream documentation.
@fansenze fansenze force-pushed the docs/rules-md-20260302 branch from 822fed4 to c1db84c Compare March 3, 2026 10:20
@fansenze fansenze merged commit de4a10d into main Mar 4, 2026
15 checks passed
@fansenze fansenze deleted the docs/rules-md-20260302 branch March 4, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants