Contract-first embeddable dashboard engine with a headless core and pluggable adapters for datasources, visualizations, and grid/layout runtimes.
- Headless runtime (
@d-dash/core) with typed contracts - First-party adapters for ECharts, HTML, Gridstack, Table, REST, VictoriaMetrics, and gRPC
- Builder SDK (
@d-dash/builder) for fully typed programmatic dashboard generation - Persisted JSON schema separated from runtime-resolved execution model
- Structured error model and adapter capability declarations
@d-dash/core@d-dash/adapter-echarts@d-dash/adapter-html@d-dash/adapter-gridstack@d-dash/adapter-table@d-dash/datasource-rest@d-dash/datasource-victoriametrics@d-dash/datasource-grpc@d-dash/builder
npm install
npm run build
npm run testRun the basic browser example:
npm run -w examples/basic devGenerate API docs from JSDoc + TypeDoc:
npm run docs:apiOutput is written to docs/api.
For every user-facing change (bug fix, new feature, breaking change), create a changeset before committing:
npm run changeset # select affected packages and semver bump type
git add .
git commit -m "feat: your change"The generated .changeset/*.md file is committed alongside your code and travels with the PR to main.
After merging from dev, run the full release flow:
npm run release:version # consume changesets → bump versions, update CHANGELOGs, commit
npm run release:publish # lint/build/test → publish to npm → create git tags → pushOr as a single command:
npm run releaseDry-run before publishing (validates everything, no npm publish or git push):
npm run release:dry-runDetailed maintainer steps are in docs/RELEASE.md.
See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.