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 / upsert 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 | Upsert | 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 - Upsert: create if missing, update if exists — idempotent operation
See: Syntax
Productivity features
Section titled “Productivity features”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, 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)