ast-grep/ast-grep
⚡A CLI tool for code structural search, lint and rewriting. Written in Rust observed · 2026-08-28
Health v2 · maintenance only
95/100
- Activity 99
- Release rhythm 87
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 9.5
- age_days: 1524
- days_rel: 10
- days_push: 9
- n_releases_24m: 63
Adoption not part of the score
15652 stars · 437 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
ast-grep is a fast Rust-based CLI tool for structural search, linting, and rewriting of code using AST patterns instead of plain text matching. It supports 20+ languages via tree-sitter, offers interactive codemods, custom lint rules, and a Node.js API for programmatic use.
Use cases
- find all calls to a function across a codebase by syntax pattern
- rewrite deprecated API calls to new ones at scale
- write custom lint rules using AST patterns
- run interactive codemods over thousands of files
- search code structurally instead of with regex
- enforce code patterns in CI as a linter
When to choose
- you need syntax-aware search or replace across many languages
- regex grep is too imprecise for code refactoring
- you want custom lint rules without writing a full linter plugin
- you need fast, parallel large-scale codemods
When to avoid
- you only need simple text search where regex suffices
- your language has no tree-sitter grammar and you cannot write one
- you need full compiler-grade semantic analysis like type-aware refactoring
Facets
cli-tool · maturity active
search-engine linter parser developer-tools cli developer-tools parsers version-control windows cli rust python ast tree-sitter structural-search codemod code-rewriting static-analysis refactoring command-line linux macos nodejs
3 sources
- readme: https://github.com/ast-grep/ast-grep · fetched 2026-08-28 · 063ee2604e6f
- homepage: https://ast-grep.github.io/ · fetched 2026-08-29 · 01cf7f87d3c8
- registry_crates: https://crates.io/api/v1/crates/ast-grep · fetched 2026-08-29 · 15bda2a1c239
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| ast-grep/ast-grep | main | 95 |
For agents
markdown · JSON · MCP: product_card(name="ast-grep/ast-grep")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem