@xynogen/pix-astgrep

Pi extension — AST-aware structural search and symbol reads (ast-grep, opt-in)

Packages

Package details

extension

Install @xynogen/pix-astgrep from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@xynogen/pix-astgrep
Package
@xynogen/pix-astgrep
Version
0.3.0
Published
Oct 15, 2026
Downloads
608/mo · 45/wk
Author
xynogen
License
MIT
Types
extension
Size
61.1 KB
Dependencies
3 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "src/extension.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pix-astgrep

AST-aware structural code search, symbol reads, and rewrites for Pi, built on ast-grep. Match code by its syntax tree with metavariables ($A, $$$ARGS) instead of text regex, read one named symbol without loading a whole file, and rank files by identifier.

Standalone and opt-in — not bundled by pix-core, so the six tool schemas are only present when you install it. Needs the @ast-grep/napi native addon (a dependency, installed with the package).

Tools

Tool Purpose
ast_search Structural search by pattern, e.g. foo($A) or useState($$$).
ast_replace AST-aware rewrite (pattern → rewrite). Preview by default; apply:true writes.
ast_outline Syntax-only outline of a file or dir — declarations, imports, exports with line numbers.
ast_read_symbol Exact source of one named symbol (function, class, type, enum, const).
ast_read_enclosing Smallest named declaration that encloses a line — the reverse of ast_read_symbol.
symbol_search Rank files by how often they contain the query identifiers (AND-matched).

Languages

Six grammars are bundled and always work: typescript, tsx, javascript, jsx, css, html.

ast_search and ast_replace also accept a lang for other languages (python, go, rust, java, c, cpp, and more). The matching @ast-grep/lang-* grammar installs on demand into the pix cache prefix after your consent — it never touches a global path or this package's node_modules. The outline and symbol tools support ts, tsx, js, jsx, css, and html.

Install

pi install npm:@xynogen/pix-astgrep

Standalone and opt-in. @xynogen/pix-core does not bundle it. It needs the @ast-grep/napi native addon.

Full distro

This package is part of Pix. The installer sets up Pi and the full distro. See Install for the notes for each OS.

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.ps1 | iex

License

MIT