What is Vooya FS?
Vooya FS is the next phase of Rush-FS: a Node.js filesystem library whose implementation is written primarily in Rust and exposed through stable Node-API.
The purpose is to let Node.js applications adopt Rust ecosystem capabilities through napi-rs and stable Node-API, with minimal changes to application code. Within the declared compatibility surface, familiar signatures, options, results and errors let callers usually change an import. Native algorithms and libraries, batching, fused work and bounded parallelism must earn their place with measured end-to-end performance benefits, including boundary conversion costs.
Development follows three requirements:
- Behavior is checked against Node 22/24. Public-entry tests cover the declared contract; extensions and exceptions are explicit.
- Features ship with tests and documentation. Implementation, regression coverage, API contracts and user guidance stay in the same change.
- Native performance claims require evidence. Compare prior/proposed release builds with Node on equivalent workloads; retain raw samples and report small cases, regressions and memory tradeoffs. Node execution routes support compatibility and carry no Rust acceleration claim.
See the compatibility policy and current performance evidence for supported boundaries. The repository’s CONTRIBUTING.md, CONTRIBUTING-CN.md, AGENTS.md and PR template apply these requirements to contributors and coding agents.
Node-compatible surface and Vooya extensions
Operations such as readFile, writeFile, readdir, glob, cp, and rm keep
familiar Node-style promise and synchronous APIs. Options including bounded
concurrency are explicitly marked as Vooya FS extensions.
scan goes further: it deliberately combines traversal, include/exclude matching,
hidden and ignore filtering, and metadata collection so those intermediate results
never need to bounce through JavaScript.
Native Node-API, not browser WASM
The production filesystem engine is a native addon because it needs direct host filesystem semantics, OS threads, and platform-specific permission, ownership, symlink, and timestamp behavior. Node-API gives the JavaScript surface ABI stability across supported Node versions.
WebAssembly is central to the browser-facing Vooya project, but it is not automatically faster for Node filesystem work. A future WASI build may make sense as an explicit, portability-oriented package with a smaller declared capability set. It will not be a silent fallback until that capability set has its own conformance suite.