bash-ast 0.8.20

Typed Rust AST over tree-sitter-bash. Parses bash source into a strongly-typed tree suitable for structural analysis (permission gating, linting, refactoring) rather than execution.
Documentation

Typed AST over tree-sitter-bash.

tree-sitter gives back a stringly-typed CST (node.kind() == "command"); this crate converts that into a Rust enum tree so downstream consumers (permission rules, linters, refactors) can pattern-match instead of comparing strings.

The typed surface mirrors tree-sitter-bash's node-types.json one-to-one: every named node kind has a corresponding variant. Conversion is total — an unrecognized node kind returns [ParseError::UnknownNode] rather than being silently dropped.