ferralk
ferralk finds files. Give it a glob such as {src,packages}/**/*.{ts,tsx}
and it walks the tree in parallel, applies .gitignore the way Git does, and
opens only the directories the pattern can reach. It re-exports
ferralk-glob, so walker patterns and standalone matchers use the same
component-aware language.
use ;
let result = new
.include?
.exclude?
.respect_git_ignore
.threads
.error_policy
.options
.collect?;
for entry in result.entries
for error in result.errors
# Ok::
Paths remain native Path values throughout traversal; use
WalkEntry::path_bytes() only when passing a path to a byte-first matcher.
Hidden-entry matching, symlink following, Git ignores, metadata, and sorting
are off until asked for, and recoverable errors are collected next to the
entries by default. Portable std::fs traversal is the default, with optional
native Linux and macOS backends for platform-specific performance work.
See the crate documentation for the full API, the usage guide for every default and switch, and the Ferralk repository for benchmarks, compatibility, and development documentation.