Recursive AI
LibraryRust available

oneyaml

One YAML 1.2 engine. Typed reads, and edits that keep your comments.

Languages

What it does

Change one value. Everything else stays exactly as you wrote it.

config.yamlBefore
# Web service
server:
  host: 0.0.0.0
  port: 8080   # public
tags: [web]
set server.port, add a tagAfter
# Web service
server:
  host: 0.0.0.0
  port: 9090   # public
tags: [web, api]

One parser, one meaning

Typed reads and the lossless document share one parser and one resolver, so they never disagree about what a file means.

Edits that keep your file

An untouched document writes back byte for byte. An edit changes only what you touch, and every comment stays with its entry.

Correct YAML 1.2 by default

yes is a string and 0777 is a decimal. Every YAML 1.1 behavior is a named setting, off by default.

Safe on any input

No panics, resource limits on every read, and errors that come with a code, a snippet and a suggested fix.

Specification

Same behavior in every language

Each oneyaml is written from scratch for its own language, with an API that feels native there. What they share is behavior: the same reading of every file, the same edits, the same errors. One conformance kit checks every library.

The specification