Skip to content

ulams apply

Generated from front/cli (ulams schema)

Apply YAML or JSON manifests (Course, User, Group, Page, Setting, Access) idempotently.

Each document has apiVersion ulams.dev/v1, kind, metadata.key and spec. Courses may nest lessons and topics (richtext or oembed). Existing objects are found by title, email, name or group+key and only changed fields are written, so a second run performs no writes. –dry-run prints the plan; –exit-code exits 13 when it contains changes; –prune also removes lessons, topics and access entries missing from the manifest (needs –yes).

Kind: write (idempotent). Stability: stable. MCP tool: apply (not exposed). Scopes: courses:write.

Flag Type Required Description
--file string yes Manifest file, or - for stdin.
--exit-code boolean With –dry-run: exit 13 when there are changes.
--prune boolean Delete children missing from the manifest (destructive).
Terminal window
# Preview a course manifest
ulams apply --file course.yaml --dry-run --json
# Apply it
ulams apply --file course.yaml --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "Manifest file, or - for stdin."
},
"exitCode": {
"description": "With --dry-run: exit 13 when there are changes.",
"type": "boolean"
},
"prune": {
"description": "Delete children missing from the manifest (destructive).",
"type": "boolean"
}
},
"required": [
"file"
]
}