From b50cb40652610fe862b7e900f50b603f5d81ecff Mon Sep 17 00:00:00 2001 From: Antony Rizzitelli Date: Thu, 29 Oct 2026 17:35:15 +0100 Subject: [PATCH] feat(templates): list the DMS Adonis project template --- README.md | 18 +++++++++++++++++- manifest.json | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 67ea3a6..3a45752 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The catalog the `ajs` CLI reads to find which modules implement an interface. It - `ajs project modules install` finds the interfaces a project imports without an implementation, and offers the modules this registry lists for them. - `ajs module init` offers the starred interfaces of this registry when it scaffolds a module, and the templates listed here. -- `ajs project init` also offers complete project templates, including **DMS Demo**. +- `ajs project init` also offers complete project templates, including **DMS Demo** and **DMS Adonis**. - Each interface has a folder under `interfaces/` with a `manifest.json`: a description, the interface package and the modules that implement it. - The root `manifest.json` maps each interface package to its folder and lists the starred interfaces and the project templates. @@ -90,6 +90,22 @@ feature. Modules such as `dms-ai`, `dms-api`, `dms-database` and `dms-lang` do not declare an interface implementation. The demo already configures them. Installing an interface package alone does not configure a working dashboard. +### Start a DMS project inside AdonisJS + +Select **DMS Adonis** in `ajs project init` (CLI 1.16 or later), or pass it +explicitly: + +```bash +ajs project init my-app --template "DMS Adonis" --pm pnpm +cd my-app +cp .env.example .env +node ace generate:key +pnpm dev +``` + +This template runs the DMS embedded in an AdonisJS 6 application. See the +[template README](https://github.com/AntelopeJS/template-dms-adonis#readme). + ### Start a reusable DMS module Select **DMS Module Typescript** in `ajs module init`, or pass it explicitly: diff --git a/manifest.json b/manifest.json index 887285f..5518835 100644 --- a/manifest.json +++ b/manifest.json @@ -101,6 +101,27 @@ "description": "In a second terminal in this directory, start the dashboard and open the printed URL to create the first administrator." } ] + }, + { + "name": "DMS Adonis", + "description": "The DMS and its dashboard embedded in an AdonisJS 6 application. Requires Node.js 22.18 or later, pnpm and MongoDB.", + "repository": "https://github.com/AntelopeJS/template-dms-adonis.git", + "branch": "main", + "packageManager": "pnpm", + "nextSteps": [ + { + "command": "cp .env.example .env && node ace generate:key", + "description": "Create the environment file and generate the application key." + }, + { + "command": "pnpm dev", + "description": "Start MongoDB first, then start AdonisJS with the embedded DMS on http://localhost:3333." + }, + { + "command": "pnpm frontend:build && pnpm frontend:start", + "description": "In a second terminal, build and start the dashboard on http://localhost:3001, then create the first administrator." + } + ] } ] }