Skip to main content
aislop detects languages and frameworks from the files and manifests in your repository, then runs every enabled engine that applies. Missing external tools are skipped instead of failing the scan; run aislop doctor when you want to see exactly which engines are available on your machine.

Support matrix

LanguageFormatLintCode qualityAI slopSecurity
TypeScriptBiomeoxlintknip, complexityFull rule setFull rule set
JavaScriptBiomeoxlintknip, complexityFull rule setFull rule set
Expo / React NativeBiomeoxlint + expo-doctorknip, complexityFull rule setnpm / pnpm audit
Pythonruff formatruffcomplexityImports, exceptions, comments, Python rulesSecrets, pip audit
Gogofmtgolangci-lintcomplexityExceptions, comments, Go rulesSecrets, govulncheck
Rustcargo fmtclippycomplexityComments, Rust rulesSecrets, cargo audit
RubyrubocoprubocopcomplexityExceptions, commentsSecrets
PHPphp-cs-fixerphpcscomplexityCommentsSecrets

Bundled and external tools

Some tools ship with aislop as package dependencies. Others are expected to be installed in the project environment.
ToolUsed forInstall source
BiomeJS/TS formattingBundled
oxlintJS/TS lintingBundled
knipJS/TS dead files, exports, depsBundled
ruffPython formatting and lintingDownloaded by installer
golangci-lintGo lintingDownloaded by installer
gofmtGo formattingExternal Go toolchain
govulncheckGo dependency auditExternal Go toolchain
cargo fmt / clippyRust formatting and lintingExternal Rust toolchain
rubocopRuby formatting and lintingExternal Ruby tool
phpcs / php-cs-fixerPHP linting and formattingExternal PHP tools
Use AISLOP_SKIP_TOOL_DOWNLOAD=1 during installation if your environment cannot download bundled binaries. Then install the external tools yourself and confirm coverage with aislop doctor.

Framework detection

aislop applies framework-aware lint context when it can prove the framework from manifests or config files.
FrameworkDetection signalEffect
Next.jsnext in package.json, or next.config.*Enables Next-aware JS/TS lint context
React / Vite / RemixFramework package in package.jsonEnables React hooks and JSX-aware lint context
Astroastro in package.json, or astro.config.*Softens browser/global false positives in Astro frontmatter and inline scripts
Expo / React Nativeexpo in package.jsonRuns expo-doctor for dependency alignment
Django / Flask / FastAPIPython manifest or requirements entriesKeeps Python checks scoped to backend source

What to do when a language is skipped

Run:
aislop doctor
The doctor report shows which tools are installed, which are missing, and which engines will run for the current repository. If a language is skipped unexpectedly, check that the repository has the expected manifest or source files and that the external tool is on PATH.
  • Rules Reference lists every rule by engine.
  • Engines explains how to enable, disable, and weight each engine.
  • Installation covers npm, Homebrew, PyPI, and bundled tooling.