Skip to content

YS (say "wise") makes YAML fully dynamic

Add code (variables, functions, imports, transformations, interpolations, etc) to ordinary YAML. It loads as data like YAML or JSON.

Try YAMLScript now (Edit and evaluate these examples)

Full Playground

Settings

Eval to:

Help

  • Edit the YAML or YAMLScript in the left pane.
  • Edits evaluate automatically.
  • Use < and > to browse examples.
  • Examples advance every five seconds until you interact.
  • For Dynamic YAML, select YAML or JSON output.
  • Press Ctrl/Cmd + Enter to evaluate.

Install YS instantly🔗

Install the native ys binary for immediate use.

$ source <(curl -sL in-1.cc) ys
√ ys v0.3.1 installed to /tmp/in-1/bin/ys (0.23s)
$ ys --version
YS (YAMLScript) 0.3.1
$ ys --help

Installation guide

Compile YS everywhere🔗

Compile/cross-compile YS programs to standalone native binaries and shared libraries for 25+ OS/Architecture targets including WebAssembly.

$ ys app.ys -c -o app,darwin/arm64
√ Compiled to native binary: 'app' (1.4s)
$ ys -e 'say: "Hello, world!"' -c -o hi.wasm
√ Compiled to WASI Wasm: 'hi.wasm' (1.8s)

Compilation guide

Write YAMLScript with AI🔗

It works really well! The YAMLScript skills teach coding agents write and validate idiomatic YS code for your use case.

Claude Code🔗

Install the YAMLScript plugin from its marketplace:

/plugin marketplace add yaml/yamlscript
/plugin install ys-skill@yamlscript

Claude Code setup

Codex🔗

Copy the YAMLScript skill into your global or repository-local agent skills directory.

The skill packages focused instructions and a YAMLScript linter for Codex.

Codex setup

Use YS from 32 programming languages🔗

Load ordinary YAML or fully dynamic YAMLScript through the same API using the native package for your language.

More about the binding libraries