# Vendored Tree-sitter This directory is intentionally tracked and wired through the workspace `[patch.crates-io]` entry for `tree-sitter`. ## Why This Exists Mercury Toolbox uses Tree-sitter for code-reading tools, and the local vendor copy keeps the Rust binding and native C source available for reproducible Windows builds while the workspace pins the exact dependency surface. ## Maintainer Rules - Do not edit generated or upstream Tree-sitter source by hand unless the patch is intentionally local and documented in this file. - Keep `Cargo.toml.orig` beside the active `Cargo.toml` when updating so the local changes are reviewable. - After re-vendoring, verify that the root `Cargo.toml` still points `[patch.crates-io].tree-sitter` at `vendor/tree-sitter`. - Run the smallest code-reading gate that covers the change first, then run the broader Jade gate before claiming the repository is clean. ## Update Sketch 1. Replace this directory with the desired upstream `tree-sitter` crate contents. 2. Preserve or refresh `Cargo.toml.orig`. 3. Reapply any local manifest adjustment needed by the workspace. 4. Run `cargo check --all-targets --all-features` or a narrower code-reading package check while iterating. 5. Run `pwsh -NoProfile -File .\scripts\check-jade.ps1` for final repository proof.