Skip to main content
Newv0.14.1: C# + C/C++ support.Read the changelog →
DocsLanguages

Languages.

aislop runs every engine it can for each language. Tools not installed are skipped silently — run npx aislop doctor to see what you're missing.

Support matrix

Scroll horizontally to compare all engines.

LanguageFormatLintQualityAI slopSecurity
TypeScriptBiomeoxlintknip + complexityfullnpm/pnpm audit + regex
JavaScriptBiomeoxlintknip + complexityfullnpm/pnpm audit + regex
Pythonruffruffcomplexityfullpip-audit + regex
Gogofmtgolangci-lintcomplexityfullgovulncheck + regex
Rustcargo fmtclippycomplexityfullcargo-audit + regex
Rubyrubocoprubocopcomplexityfullregex
PHPphp-cs-fixerphpcscomplexityfullregex
Expo / React NativeBiomeoxlint + expo-doctorknip + complexityfullnpm/pnpm audit
C#dotnet formatRoslynator / InspectCodecomplexityfulldotnet package audit + regex
C/C++clang-formatcppcheck + clang-tidycomplexityfullregex

Optional C# and C/C++ tools

Built-in text, complexity, and AI-slop checks run without extra tools. Install the language toolchains for project-aware formatting, linting, and dependency checks.

# macOS
brew install cppcheck llvm
brew install --cask dotnet-sdk

C# project evaluation is opt-in. Enable it only for repositories you trust:

lint:
  csharp:
    projectEvaluation: true

Framework detection

aislop detects the framework automatically and applies sensible defaults. What it recognizes:

  • Next.js — via next in package.json or next.config.*. Adds Next-specific lint rules.
  • React / Vite / Remix — via package.json. Enables react-hooks + jsx-a11y rules.
  • Astro — via astro in package.json or astro.config.*. Disables no-undef (frontmatter globals) and no-unused-expressions (third-party inline-script IIFEs).
  • Expo / React Native — via expo. Runs expo-doctor for dependency alignment.
  • Django / Flask / FastAPI — via requirements.txt or pyproject.toml.

Missing a language?

Open an issue on GitHub. The engine layer is pluggable — adding a language is mostly wiring up existing tooling.