Skip to main content

build-core-database

Build a feature's ecs schema — the core-database (components, resources, archetypes). The first ecs layer.

Source facts

Repository
adobe/data
Last source activity
July 24, 2026 at 01:18
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-core-database
description
Build a feature's ecs schema — the core-database (components, resources, archetypes). The first ecs layer.
input
feature
output
feature
Create `ecs/core-database/` — `core-database.ts` plus one single-export file per facet the feature actually uses (`components`, `resources`, `archetypes` are each optional on `Database.Plugin.create`). Create only the facet files you need; omit the rest rather than shipping empty `Database.components({})` boilerplate. A feature with **no entities** (a singleton whose whole state is resources) is just `resources.ts` + `core-database.ts`. - `components.ts` → `Database.components({ document, settings, presence, session })` (scopes optional) — only if the feature has entities. - `resources.ts` → `Database.resources({ … })` (every entry needs a `default`) — for singleton / global state. - `archetypes.ts` → `Database.archetypes(components, { … })` — only alongside components. - `core-database.ts` → `Database.Plugin.create({ imports?, components?, resources?, archetypes? })`, exporting the `CoreDatabase` namespace. The schema root; comes after `data/` (and `services/`). Bind each schema from its `data/` type — don't author shapes here. Components use JSON schemas; resources use the `{ default }` convention (a schemaless aggregate binds via `{ default: State.create() }`). The how is in the auto-loading `features/ecs/index.md` + `components.md` / `resources.md` / `archetypes.md` rules.
View on GitHub