yml

yml handles a compact YAML subset for configuration files: nested mappings, scalar values and simple lists can be read, searched and changed through dotted paths.

DataVersion 1.1.6Stable
lil-terminal

Overview

yml provides a compact file-first workflow for common YAML configuration: inspect dotted paths, search, update or remove one value, validate the supported subset, and keep the full source available with dump.

Indentation becomes a dotted path

The parser is deliberately strict: tabs and block-list rows such as - item are not supported. Validate unfamiliar YAML with -c; complex YAML is better edited with edit or code.

Syntax

lil-terminal
yml <file> [key|options] · yml dump <file>

Reference

yml <file>

show YAML data

yml <file> <key>

show one exact path or value

yml dump <file>

show normalized source text

-f <text|mask> [-k|-v]

find matching keys, paths or values

-w <key> : <value>

write a value directly to the file

-w <key> < <file>

write a value read from another file

-d <key>

delete a value or path

-c

validate the file

Read, find and change a setting

Start with yml config/app.yml to see the current settings; add database.host to read one value. -f searches paths and values, while -k searches only key paths and -v only values. Ordinary text matches without case sensitivity; * and ? make a whole-field mask. Check syntax with -c and view the reconstructed file with dump.

Use -w <key> : <value> to change one value immediately, or -w <key> < <file> to read it from another file. -d <key> deletes a path. An unquoted true, false or number may be interpreted as a typed value; use care with strings that look like numbers. Make a copy before writing. $ refers to the most recently opened file in Core; a filename alone may invoke its registered handler.

Limits and safe editing

This is a deliberately limited YAML parser: indented maps and JSON-style inline lists work, but - item block lists, tabs, anchors, aliases, tags and multiline blocks do not. Duplicate keys are rejected. Editing rewrites the entire document and discards comments and original spacing; use edit or code for advanced YAML. Minimum can only display the whole file.

Interactive sandbox preview

Run the prepared examples directly on the page. Their results are prebuilt and shown in the browser; no terminal command is executed on the server.

Open the file and reuse it with $

Install and manage

Install the current compatible version. Choose Base for the complete feature set or Minimum for the reduced package; use upgrade to update a module that is already installed.

Base and Minimum are two packages of the same current module release, not separate command versions.

Base package

Install the complete package with local command reference and every published mode.

install yml
Minimum package

Install the reduced package. Local reference is omitted; help <cmd> -i opens the current server reference.

install yml -m
Exact public version

Install exactly this published version.

install yml -v 1.1.6
Check or update

Ask upgrade to check compatibility and replace the installed block only when needed.

upgrade yml
Remove module

Remove the extension block while leaving the core and unrelated modules intact.

install yml -u

Examples

Examples are copyable command lines, not actions executed by this website. Review paths, permissions and destructive flags before running them on a real project.

Open the file and reuse it with $
cd \sandbox\config | yml app.yml
application.name    lil-shop
application.debug   true
database.host       localhost
database.port       3306
database.options.0  utf8mb4
database.options.1  strict
Show YAML data
yml config/app.yml
application.name    lil-shop
application.debug   true
database.host       localhost
database.port       3306
database.options.0  utf8mb4
database.options.1  strict
Show one exact path or value
yml config/app.yml database.host
localhost
Show one exact path or value
yml config/app.yml database.options.1
strict
Find matching keys, paths or values
yml config/app.yml -f "database.*" -k
database.host       localhost
database.port       3306
database.options.0  utf8mb4
database.options.1  strict
Find matching keys, paths or values
yml config/app.yml -f "strict" -v
database.options.1  strict
Find matching keys, paths or values
yml config/app.yml -f "debug"
application.debug  true
Write a value directly to the file
yml config/app.yml -w application.debug : false
application.debug  false
Write a value read from another file
yml config/app.yml -w application.name < config/plain-value.txt
application.name  demo-site
Handle a missing file
yml config/app.yml -d database.options.0
application.name    lil-shop
application.debug   true
database.host       localhost
database.port       3306
database.options.0  strict
Validate the file
yml config/app.yml -c
Valid YAML
Show normalized source text
yml dump config/app.yml
application:
  name: lil-shop
  debug: true
database:
  host: localhost
  port: 3306
  options: ["utf8mb4","strict"]
Show one exact path or value
yml config/app.yml unknown.key
Path not found
Validate the file
yml config/invalid.yml -c
YAML block lists are not supported; use inline JSON-style lists
Show YAML data
yml config/missing.yml
File not found
Write a value directly to the file
yml config/app.yml -w database.port
Value required after : or 

File used in this example: sandbox/config/app.yml

The example uses a file or directory from the protected /sandbox/ documentation workspace.

application:
  name: lil-shop
  debug: true
database:
  host: localhost
  port: 3306
  options: ["utf8mb4", "strict"]

Related documentation

Current public release

v1.1.62026-11-01

Production refinement

Current stable release of yml. yml handles a compact YAML subset for configuration files: nested mappings, scalar values and simple lists can be read, searched and changed through dotted paths.