Source code

Revision control

Copy as Markdown

Other Tools

Code quality
============
Because Firefox is a complex piece of software, a lot of tools are
executed to identify issues at development phase.
In this document, we try to list these all tools.
.. toctree::
:maxdepth: 1
:glob:
static-analysis/index.rst
lint/index.rst
coding-style/index.rst
.. list-table:: C/C++
:header-rows: 1
:widths: 20 20 20 20 20
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Custom clang checker
-
-
-
* - Clang-Tidy
- Yes
- :ref:`Static analysis <Static Analysis>`
* - Clang analyzer
-
-
* - cpp virtual final
-
-
- :ref:`cpp virtual final`
-
* - clang-format
- Yes
- :ref:`Formatting C++ Code With clang-format`
.. list-table:: CSS
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Stylelint
- Yes
- :ref:`Stylelint`
.. list-table:: JavaScript
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Eslint
- Yes
- :ref:`ESLint`
* - Mozilla ESLint
-
- :ref:`Mozilla ESLint Plugin`
-
* - Prettier
- Yes
- :ref:`JavaScript Coding style`
.. list-table:: Python
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - ruff
- Yes
- :ref:`ruff`
* - black
- Yes
- :ref:`black`
.. list-table:: Rust
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Rustfmt
- Yes
- :ref:`Rustfmt`
* - Clippy
-
- :ref:`clippy`
.. list-table:: Java/Kotlin
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - Spotless
- Yes
- :ref:`Spotless`
.. list-table:: Others
:widths: 20 20 20 20 20
:header-rows: 1
* - Tools
- Has autofixes
- Meta bug
- More info
- Upstream
* - shellcheck
-
-
-
* - rstchecker
-
-
- :ref:`RST Linter`
* - Typo detection
- Yes
-
- :ref:`Codespell`
* - Fluent Lint
- No
-
- :ref:`Fluent Lint`
-
* - YAML linter
- No
-
- :ref:`yamllint`