See your schemas, browse and fix rows, and run queries, from the dashboard your team already uses.
- Checks the connection and its latency, with one card per registered schema and the largest tables.
- Lists every table the loaded modules register, with its columns, indexes, relations and a sample row.
- Draws the tables and relations of a schema, with a layout and notes shared by the whole team.
- Browses and fixes rows in any instance: edits are staged, reviewed, saved, and can be undone for ten seconds.
- Runs AQL queries with completion and history, and a dry run before any query that writes.
A saved row shows in place; the page is read again when a save may move rows (a sorted or filtered field, or a search).
The pages and the module's API answer to the platform owner only.
Run the AntelopeJS CLI from the root of a project that already loads @antelopejs/dms:
ajs project modules add @antelopejs/dms-databaseThe module works without configuration. To show the database name on the Overview and label your schemas, add a config block:
// antelope.config.ts
"dms-database": {
source: { type: "package", package: "@antelopejs/dms-database", version: ">=0.2.0 <1.0.0" },
config: {
driverLabel: "MongoDB 8.0",
schemaLabels: {
"app-*": { label: "Application", color: "info" },
},
},
},Restart the backend, then the frontend, sign in as the platform owner and open Modules → Database (/modules/database/overview).
| Package | Supported | Tested with |
|---|---|---|
@antelopejs/interface-api |
>=0.3.0 <1.0.0 |
0.3.0 |
@antelopejs/interface-api-util |
>=0.3.0 <1.0.0 |
0.3.0 |
@antelopejs/interface-core |
>=0.4.0 <1.0.0 |
0.4.0 |
@antelopejs/interface-database |
>=0.3.1 <1.0.0 |
0.3.1 |
@antelopejs/interface-database-decorators |
>=0.2.1 <1.0.0 |
0.2.1 |
@antelopejs/interface-dms |
>=0.12.0 <1.0.0 |
0.12.0 |
@antelopejs/interface-dms-automation |
>=0.6.1 <1.0.0 |
0.6.1 |
The module also needs a DMS backend in a release that implements the @antelopejs/interface-dms range above, and the @antelopejs/dms-frontend renderer in the range its frontend module declares in engines["@antelopejs/dms-frontend"] of frontend-vue/package.json; the ajs dms CLI refuses to build it with a renderer outside that range, and an @antelopejs/interface-database implementation, such as @antelopejs/mongodb.
The canonical guide lives in docs/, including the supported extension boundary. There is no separate DMS Database interface package. The package also ships the dms-database Claude Code skill in skills/, declared under antelopeJs.skills.
Read CONTRIBUTING.md before opening a pull request. The playground registers a demo schema and a shop schema with eu and us instances, seeded on first start. It runs on MongoDB by default; set PLAYGROUND_DATABASE=postgres to run it on PostgreSQL through @antelopejs/postgres, with POSTGRES_URL naming the database (default postgres://postgres@localhost:5432/playground_dms_database, which must exist).
One root install includes the backend and shipped Vue module, retaining their separate lockfiles. The playground remains independent: run pnpm --dir playground install --ignore-workspace --frozen-lockfile before starting it. Use the root scripts below rather than recursive scripts: frontend build and typecheck need the playground or a generated Inertia workspace, and root lint already checks the Vue module.
pnpm install
pnpm dev # playground backend
pnpm frontend:dev # dashboard, in a second terminal
pnpm lint
pnpm typecheck
pnpm testRepository notes
- The module registers its Vue 3 frontend through
frontend-vue/dms.frontend.ts, under theDmsDatabasecomponent prefix:app/components/DataBrowser.vueis theDmsDatabaseDataBrowserthe backend page names. The pages are declared insrc/pages, as DMS blocks plus the module's own components. Everything underfrontend-vue/app/buildis private to the layer and imported by path. - Run
pnpm test:layerfor the frontend tests andpnpm test:frontendto build and typecheck a generated Inertia app. SetDMS_FRONTEND_WORKSPACEto a generated Inertia workspace before runningpnpm --dir frontend-vue typecheck. DMS_SOURCE=/absolute/path/to/dms pnpm testtests against a local DMS runtime with disposable MongoDB and filesystem storage. Only the test harness loads that runtime; the types come from@antelopejs/interface-dms.docs/design/redesign-v2-grill.mdrecords the decisions behind the v2 redesign.
This module installs into AntelopeJS DMS, the open-source back office. Every module adds its pages to the same dashboard, behind the same sign-in and roles.
| Module | What it adds |
|---|---|
dms-builder |
Edit pages, tables and data sources by clicking, as TypeScript that compiles |
dms-ai |
An assistant chat in the dashboard, on your own Claude Code or Codex |
dms-database |
Schemas, relation diagrams, a data browser and a query console |
dms-api |
API health, request logs, per-route statistics and a request tester |
dms-automation |
Node-graph automations on schedules, webhooks and DMS events, with a trace for every run |
dms-mailing |
E-mail templates in a block editor, versions, a send log and delivery metrics |
dms-lang |
Translation coverage, a translation matrix and a translation queue |
dms-media |
A media library with folders, per-folder permissions, image sizes and light editing |
dms-saas |
Self-service sign-up, plans that gate features, and Stripe billing |
dms-marketing |
Traffic, conversion funnels with A/B splits and click heatmaps, without cookies |
dms-frontend |
The ajs dms CLI, the Vue renderer and the SDK every frontend module builds on |
