Capabilities
This page answers one question: “What can I do with DataSheetLang today?”
For exact YAML shapes, field lists, and command flags, use the linked reference pages.
Core idea
Section titled “Core idea”You write a spec describing create / update / delete operations. The CLI validates and applies those operations to your XML DataSheet in a repeatable, reviewable way.
Supported entities
Section titled “Supported entities”| Entity | Create | Update | Delete | Where it applies |
|---|---|---|---|---|
| Items | ✅ | ✅ | ✅ | ItemTemplate.xml |
| Equipment | ✅ | ✅ | ✅ | EquipmentTemplate.xml |
| ItemStrings | ✅ | ✅ | ✅ | StrSheet_Item.xml |
See: Entities
Supported operations
Section titled “Supported operations”- Create: add new entries by
id - Update: modify an existing entry by
id(only the fields you declare) - Delete: remove entries by
id
See: Syntax
Productivity features
Section titled “Productivity features”Presets and inheritance
Section titled “Presets and inheritance”- Reuse common patterns with presets
- Support single inheritance (
extends) with validation (depth limits, no cycles)
See: Presets
Block presets for nested structures
Section titled “Block presets for nested structures”For deeply nested blocks, block presets support deep-merge semantics so you can reuse shared nested configs without rewriting entire objects.
See: Presets
Inline blocks on items
Section titled “Inline blocks on items”Items can embed inline blocks that expand into related changes:
equipment:inline blockstrings:inline block
Patch sequencing
Section titled “Patch sequencing”Specs can be applied in a defined order to support patch transitions over time (reviewable diffs, repeatable application).
See: CLI
Safety and determinism
Section titled “Safety and determinism”- Specs are validated before execution (syntax, required fields, preset resolution, supported values)
- The same inputs produce the same changes (deterministic behavior)
- Failures return structured error codes to speed up debugging
What’s intentionally not supported (yet)
Section titled “What’s intentionally not supported (yet)”These are out of scope for the current phase:
- “where/filter” bulk updates (e.g., update every item matching a condition)
- User-facing rollback/undo
- Interactive REPL
- Arbitrary cross-entity relationship editing (beyond what inline blocks cover)