ast-grep is an open-source static analysis tool that uses abstract syntax trees (AST) to find patterns in your codebase, helping identify security vulnerabilities and enforce code quality standards.Documentation Index
Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
Use this file to discover all available pages before exploring further.
Configuration Options
You can configure ast-grep in your.coderabbit.yaml file or through CodeRabbitâs settings page under âReviews â Tools â ast-grepâ. The following options are available:
rule_dirs: List of directories containing your custom ast-grep rules (relative to repository root)util_dirs: List of directories containing utility configs to support rule management (relative to repository root)essential_rules: Enable the ast-grep essentials package (default:true)packages: List of GitHub packages to use (format:owner/repo)
Example Configuration
CodeRabbit will only run ast-grep if you have configured at least one of the following:
- Custom rule directories (
rule_dirs) - Essential rules enabled (
essential_rules: true) - Custom packages (
packages)
util_dirs can be used to support shared utility configs, but by itself it does not cause ast-grep to run.Links
- ast-grep Documentation
- Writing ast-grep Rules
- ast-grep Rule Object Properties
- ast-grep Essentials Package
Files
ast-grep will run on the following file types:- C/C++ (.c, .cpp, .h, .hpp)
- C# (.cs)
- CSS (.css)
- Elixir (.ex, .exs)
- Go (.go)
- Haskell (.hs)
- HTML (.html)
- Java (.java)
- JavaScript (.js, .jsx)
- JSON (.json)
- Kotlin (.kt)
- Lua (.lua)
- PHP (.php)
- Python (.py)
- Ruby (.rb)
- Rust (.rs)
- Scala (.scala)
- Shell (.sh, .bash)
- SQL (.sql)
- Swift (.swift)
- TypeScript (.ts, .tsx)
- YAML (.yaml, .yml)