Skip to main content

build-systems

Build a real-time feature's ecs/systems layer — the per-frame tick loop. Optional.

Source facts

Repository
adobe/data
Last source activity
October 6, 2026 at 16:55
Detected SKILL.md language
English
Stars
12
Forks
8

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
build-systems
description
Build a real-time feature's ecs/systems layer — the per-frame tick loop. Optional.
input
feature
output
feature
Legacy feature (has `data/state/` or `services/main-service/`)? Extend it in place per the legacy rules; don't migrate unless asked. Skip unless the feature is real-time (games, simulations). Create `ecs/systems/system-database.ts`: `Database.Plugin.create({ extends: Database.Plugin.combine(<currentTop>.plugin, scheduler), systems: { … } })`, with the `systems` map declared **inline** so `db` and the system names are inferred. Hot per-row work writes columns in place; discrete events dispatch transactions. Order systems under `schedule`; it is the only statement of order. Add `frame: { args, unmodelled?, cases? }` to the implementation: a writer per frame arg, each system the spec can't model (wasm, init-only) with its reason, and whole-frame cases in `ecs/conformance/frame.cases.ts`. Gate: every system's own cases and the frame cases pass. The how is in the auto-loading `features/ecs/systems.md` rule.
View on GitHub