Static Analysis
- SemGrep - Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.
Linters
- Ruff - Python linter
- Spellchecker CLI - Run this on your markdown docs :)
Type Checkers
- MyPy - optional static type checker for Python
Dependency Analysis
- Freshli - Display historical metrics about a project's dependencies (Supports Java/Maven)
Refactoring
Modern IDEs such as the JetBrains suite and Visual Studio (especially with extensions) have excellent refactoring support for languages including Java and C#. Here, we are focusing on tools that can be invoked outside of the editor.
- OpenRewrite - Large-scale automated source code refactoring, focused on Java
- jscodeshift - js/ts codemod
- Putout - JavaScript Linter, pluggable and configurable code transformer based on Babel
- Pyupgrade - A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language.