Automic VaultAutomic Vault

brew

Install ast-grep with Homebrew, apk, MacPorts, Nix, pacman, scoop, winget, zypper

Code searching, linting, rewriting. Version 0.44.1 via Homebrew; verified 2026-07-04.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ast-grep

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install ast-grep

MacPorts ports tree · devel/ast-grep/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add ast-grep

Alpine Linux edge package indexes · ast-grep · source: dl-cdn.alpinelinux.org

Nixverified · 92%
nix profile install nixpkgs#ast-grep

nixpkgs package indexes · pkgs/by-name/as/ast-grep/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S ast-grep

Arch Linux sync databases · ast-grep · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install ast-grep

openSUSE Tumbleweed package metadata · ast-grep · source: download.opensuse.org

Windows

Scoopverified · 92%
scoop install main/ast-grep

Scoop official bucket manifest trees · bucket/ast-grep.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id ast-grep.ast-grep -e

Windows Package Manager source index · ast-grep.ast-grep · source: cdn.winget.microsoft.com

overview

Package summary

Code searching, linting, rewriting

Commands and aliases

  • ast-grep
  • sg

history

Project history and usage

ast-grep is a Rust command-line tool for structural code search, linting, and rewriting. It combines a grep-like user experience with tree-sitter-backed abstract syntax tree matching, so patterns are written as code snippets rather than as only text regular expressions.

Project history

The ast-grep repository was created in 2022 and the official docs carry a 2022-present copyright. The README presents the tool as ast-grep or sg, with a core algorithm that searches and rewrites code using tree-sitter-produced ASTs.

The project expanded beyond one-off search into project configuration, YAML lint rules, transformations, rewriters, custom languages, language injections, editor integrations, JavaScript and Python APIs, and a browser playground. The official sgconfig documentation positions sgconfig.yml as the root configuration file for multi-rule scans, similar in role to tsconfig.json or ESLint configuration.

Adoption history

ast-grep was packaged early across developer ecosystems rather than through a single language channel. The official README lists npm, pip, cargo, cargo-binstall, Homebrew, Scoop, mise, MacPorts, Nix shell, and source builds, while the supplied package facts add Alpine, Arch, winget, zypper, and Nix availability.

The tool gained attention because it serves several audiences with one binary: maintainers doing codemods for breaking changes, teams enforcing project-specific static rules, and security researchers writing structural queries faster than full compiler plugins.

How it is used

The simplest usage is a command such as ast-grep --pattern ... --rewrite ... --lang ts. Larger projects add sgconfig.yml at the project root, define ruleDirs, and run scan; ast-grep discovers sgconfig.yml by walking up from the working directory, and can also use a home-directory sgconfig.yml for global configuration.

Why package nerds care

ast-grep is significant because it occupies the middle ground between grep, semgrep-style structural search, ESLint-style linting, and codemod frameworks. Package maintainers care because it ships as a native Rust CLI but is distributed through npm, pip, cargo, Homebrew, and OS package managers, which makes binary packaging, completions, and config discovery part of the user experience.

Timeline

  • 2022: ast-grep/ast-grep repository created on GitHub.
  • 2022-present: Official docs copyright period begins.
  • 2020s: README documents installation via npm, pip, cargo, Homebrew, Scoop, mise, MacPorts, Nix shell, and source builds.
  • 2026: GitHub metadata showed active development and a large star/fork footprint for a developer-tool CLI.

Related projects

  • tree-sitter supplies the parsing foundation for ast-grep's AST matching.
  • ESLint and tsconfig.json are referenced by the docs as familiar configuration analogies.
  • semgrep, codemod tools, ripgrep/grep, and language-specific linters occupy adjacent search, rewrite, and policy-enforcement space, though the official sources emphasize ast-grep's code-pattern syntax and tree-sitter core.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for ast-grep. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
./sgconfig.yml~/sgconfig.yml

executables

Installed executables

CommandKindExposureNote
ast-grepcliglobal executable
sgcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.44.1
manager updated2026-07-04
local dataok
upstreamcurrent
latest detected0.44.1

https://github.com/ast-grep/ast-grep

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:ast-grep
Version0.44.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/ast-grep
Homepagehttps://ast-grep.github.io/
Repositoryhttps://github.com/ast-grep/ast-grep
Upstream docshttps://ast-grep.github.io/
LicenseMIT
Source archivehttps://github.com/ast-grep/ast-grep/archive/refs/tags/0.44.1.tar.gz
Last updated2026-07-04T14:40:32Z
Pulseupdated
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameast-grep
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

ast-grep

nix profile install nixpkgs#ast-grep
  • normalized package name match
  • Matched by: Ast Grep
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/as/ast-grep/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

ast-grep 0.28.1-r0

A CLI tool for code structural search, lint and rewriting

https://github.com/ast-grep/ast-grep

sudo apk add ast-grep
  • License: MIT
  • Architecture: x86_64
  • Source Package: ast-grep
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ast Grep
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ast-grep from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

ast-grep-bash-completion 0.28.1-r0

Bash completions for ast-grep

https://github.com/ast-grep/ast-grep

sudo apk add ast-grep-bash-completion
  • License: MIT
  • Architecture: x86_64
  • Source Package: ast-grep
  • normalized package name match
  • Matched by: Ast Grep
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ast-grep-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

ast-grep-fish-completion 0.28.1-r0

Fish completions for ast-grep

https://github.com/ast-grep/ast-grep

sudo apk add ast-grep-fish-completion
  • License: MIT
  • Architecture: x86_64
  • Source Package: ast-grep
  • normalized package name match
  • Matched by: Ast Grep
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ast-grep-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

ast-grep-zsh-completion 0.28.1-r0

Zsh completions for ast-grep

https://github.com/ast-grep/ast-grep

sudo apk add ast-grep-zsh-completion
  • License: MIT
  • Architecture: x86_64
  • Source Package: ast-grep
  • normalized package name match
  • Matched by: Ast Grep
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ast-grep-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
pacman95%

ast-grep 0.43.0-1

CLI tool for code structural search, lint and rewriting

https://ast-grep.github.io/

sudo pacman -S ast-grep
  • License: MIT
  • Architecture: x86_64
  • 2 dependencies
  • normalized package name match
  • Matched by: Ast Grep
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: ast-grep from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

ast-grep 0.43.0-1.1

A CLI tool for code structural search, lint and rewriting

https://ast-grep.github.io/

sudo zypper install ast-grep
  • License: MIT
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: ast-grep
  • 3 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Ast Grep
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: ast-grep from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

ast-grep

sudo port install ast-grep
  • normalized package name match
  • Matched by: Ast Grep
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/ast-grep/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/ast-grep

scoop install main/ast-grep
  • normalized package name match
  • Matched by: Ast Grep
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/ast-grep.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

ast-grep.ast-grep

winget install --id ast-grep.ast-grep -e
  • normalized package name match
  • Matched by: Ast Grep
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: ast-grep.ast-grep from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment