Skip to content

feat(templates): list the DMS Connect Demo project template - #14

Merged
Upd4ting merged 4 commits into
mainfrom
feat/dms-connect-demo-template
Nov 4, 2026
Merged

Upd4ting merged 4 commits into
mainfrom
feat/dms-connect-demo-template

Conversation

@Upd4ting

@Upd4ting Upd4ting commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Why

A newcomer with nothing installed should create a project with one copy-paste npx @antelopejs/core command and a short template slug. The dms-connect-demo template was not available: the registry did not list it. The README also still used a global ajs, display names, and an outdated first-run step.

What changed

  • manifest.json lists the DMS Connect Demo project template. It sets packageManager to pnpm, so the template keeps its pinned pnpm@10.2.0 and lockfile. Its next step is docker compose up, then the onboarding address in the dms log.
  • The README uses npx @antelopejs/core project init my-app --template <slug> for dms-starter, dms-connect-demo, dms-demo, dms-adonis, and dms-module-typescript. It describes the first run as opening the onboarding address that the backend console prints.
  • The nextSteps of DMS Starter, DMS Demo and DMS Adonis now point to the onboarding address in the backend log (the dms log for DMS Starter, the pnpm dev log for the others), so project init stops telling the user to just open the dashboard.
  • DMS Starter and DMS Connect Demo set "install": false. Both run pnpm install --frozen-lockfile inside the container (docker/start.sh) and ship antelope.config.ts, so project init copies the template and skips the host install. This needs the core release with feat(cli): skip the host install for templates that install themselves antelopejs#381. Older cores ignore the field and keep installing on the host.

Scope

  • The template repository's own README still describes the old first-run wizard. That fix belongs in that repository.

Blast Radius

The new entry only adds a choice to project init. The README slug commands work only with the @antelopejs/core release that ships template slugs, so merge this after that release. The display name works today: --template "DMS Connect Demo".

Verification

  • With core 1.19.0 and this branch as the registry, npx -y @antelopejs/core project init demo --template "DMS Connect Demo" --yes found 8 templates, created the project, installed dependencies, and printed the new next step. The lockfile matched the template and packageManager stayed pnpm@10.2.0.
  • docker compose up in that project logged [DMS] No owner exists yet. To create it, open http://localhost:3001/onboarding?token=... and Local: http://localhost:3001/. The dashboard answered 302 on / and 200 on /onboarding.

@Upd4ting
Upd4ting merged commit 8c452b0 into main Nov 4, 2026
2 checks passed
@Upd4ting
Upd4ting deleted the feat/dms-connect-demo-template branch November 4, 2026 12:59
Upd4ting added a commit that referenced this pull request Nov 10, 2026
## Summary

A registry contributor who reads the README should learn about every
template field the CLI reads. #14 set `"install": false` on the DMS
Starter and DMS Connect Demo templates, but the optional-field list in
"Project template metadata" named only `description`, `packageManager`
and `nextSteps`.

This adds `install` to that list. The wording is the TSDoc of
`Template.install` in the CLI: `false` copies the template and installs
nothing on the host, for a template that installs its own dependencies
(for example in its container). Absent or `true` installs the
dependencies on the host.

## Related issue

ANT-1817 (internal task). Follow-up to #14.

## Verification

The CLI code that reads the field, at `AntelopeJS/antelopejs@d6cbc9f`:

`src/cli/catalog-manifest.ts` lines 24-30 declare and document it:

```ts
  /**
   * `false` when the template installs its own dependencies, for example
   * inside its container. The CLI then copies the template and installs
   * nothing on the host, so the package manager does not have to be
   * installed. Absent or `true` installs the dependencies on the host.
   */
  install?: boolean;
```

Lines 200 and 209 validate and pass it through:

```ts
    this.optionalBoolean(`${at}.install`, template.install);
    ...
      install: template.install,
```

`src/cli/commands/module/init-action.ts` lines 226-228 decide host
installation from it:

```ts
function installsOnHost(template?: Template): boolean {
  return template?.install !== false;
}
```

Repo check: the `Documentation` workflow's action
(`AntelopeJS/tooling-configs/actions/docs@310e3d8`) run locally on this
branch:

```
$ node actions/docs/check.mjs --files README.md --typescript-project ""
Docs: 1 files, 3 local links, 0 compatibility tables, 0 checked examples, 0 API pages; 0 failures.
```

## Checklist

- [x] The pull request title follows Conventional Commits.
- [x] I added or updated tests when behavior changed. (No behavior
change.)
- [x] I updated documentation when users or contributors are affected.
- [x] I documented breaking changes and migration steps. (None.)
- [x] I did not include credentials or unrelated changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant