The database console of the AntelopeJS DMS: schemas, diagrams, rows and queries.
- 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.0.15 <1.0.0 |
0.0.15 |
@antelopejs/interface-api-util |
>=0.1.3 <1.0.0 |
0.1.3 |
@antelopejs/interface-core |
>=0.2.4 <1.0.0 |
0.2.4 |
@antelopejs/interface-database |
>=0.1.11 <1.0.0 |
0.1.11 |
@antelopejs/interface-database-decorators |
>=0.1.10 <1.0.0 |
0.1.10 |
@antelopejs/interface-dms |
>=0.9.0 <1.0.0 |
0.9.0 |
@antelopejs/interface-dms-automation |
>=0.2.1 <1.0.0 |
0.2.1 |
| Package | Version |
|---|---|
@antelopejs/dms |
>=0.13.1 <1.0.0 |
@antelopejs/interface-dms |
>=0.9.0 <1.0.0 |
@antelopejs/dms-frontend (renderer) |
>=0.9.1 <0.10.0 |
| Database | 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.
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.
