# Bundled `ast-grep` binaries The skill ships a self-contained `ast-grep` binary per platform so it works with **no install step and offline**. `SKILL.md` (Step 0) detects `-` and runs the matching binary; if it can't (rare arch, or macOS Gatekeeper / Windows SmartScreen blocking an unsigned binary) it falls back to a PATH `ast-grep`, then to LLM-heuristic detection. ## Layout ``` bin/ ├── linux-x64/ast-grep ├── linux-arm64/ast-grep ├── darwin-x64/ast-grep ├── darwin-arm64/ast-grep └── win32-x64/ast-grep.exe ``` ## Populating / updating the binaries (packaging step) These are not source; they are fetched at package time from the official releases (MIT-licensed): https://github.com/ast-grep/ast-grep/releases For each platform, download the release archive, extract the `ast-grep` binary into the matching `bin/-/` directory, and record its SHA-256 in `checksums.txt`. Pin a single upstream version across all platforms (see `VERSION`). > Size note: the `ast-grep` binary is ~50 MB per platform (~250 MB total). The binaries > are **committed via Git LFS** (`.gitattributes`), so a clone is fully self-contained and > offline. After cloning, ensure `git lfs` is installed and run `git lfs pull` if the files > are still pointers. As a fallback (no lfs), `SKILL.md` Step 0 fetches the pinned release > (`VERSION`) and verifies it against `checksums.txt`. ## Verification `SKILL.md` may verify a binary against `checksums.txt` before first use. Never run a binary whose checksum does not match.