The noyalib Manual
noyalib is a YAML 1.2 library for Rust: pure safe code
(#![forbid(unsafe_code)]), full serde integration, a lossless CST
for byte-faithful editing, JSON Schema validation, and 406/406 on
the official YAML test suite. Six crates ship in lockstep at the
identical =0.0.X — the library plus the noya-cli binaries, the
LSP and MCP servers, the WASM bundle, and the noyalib-serde-yaml
drop-in replacement for archived serde_yaml.
This manual is the rendered form of the Markdown that lives in the
repository’s docs/
directory — every page here is a file there, and the repository copy
is canonical.
Where to start
| You want to | Read |
|---|---|
| Parse or write YAML from Rust | the User guide |
| Find the recipe for a task | the Cookbook |
Leave serde_yaml behind | the migration guides — for the one-line drop-in, see noyalib-serde-yaml |
| Edit YAML without destroying formatting | the User guide’s CST sections, then Architecture |
| Judge the library before adopting it | Choosing a YAML library and Testing and verification |
| Contribute | DEVELOPMENT.md and CONTRIBUTING.md at the repository root |
The rest of the documentation
- API reference — docs.rs/noyalib (also rendered alongside this manual)
- Getting started —
GETTING_STARTED.md - Per-crate guides — each satellite repository’s README and
docs/directory