Repository navigation
docs(readme): start the demos with npx @antelopejs/core - #753
Merged
Merged
Conversation
Replace template clones with npx @antelopejs/core project init and template slugs, drop the .env and manual install steps from the demo quick start, and point first-run text at the onboarding address with the setup token that the backend prints.
Upd4ting
added a commit
that referenced
this pull request
Nov 4, 2026
* docs(readme): rewrite the README as a landing page (#554) * docs(readme): rewrite the README as a landing page Lead with the pitch, a hero recording, a one-command start, features, limits, and how the project earns money. Developer and contributing sections follow unchanged, except renamed headings. * docs(readme): claim PostgreSQL Connect only and state the review limits * docs(readme): add launch media * docs(readme): use the v2 Meet media and name three databases Replace docs/media with the v2 GIFs, the 72 s Meet video and its poster. Restore the four original badges. Name PostgreSQL, MongoDB or RethinkDB and drop the lines saying two of them fail. * docs(readme): remove the limits section * docs(readme): update launch media Re-render the Meet video and the roles GIF with the chapter label Databases instead of Limits. * docs(readme): use one Discord invite * docs(readme): point the sample and own-database paths to the templates The sample-database path clones template-dms-connect-demo and names the Compose profiles that choose MongoDB or RethinkDB. The own-database path starts from template-dms. * docs(readme): switch to the new Discord invite * chore(package): update the npm description and keywords (#580) * fix(chart): draw the one point per group a series data source answers (#586) * test(chart): a bare chart fed one point per group draws them * fix(chart): draw the one point per group a series data source answers * chore(package): restore realtime in the npm description (#588) * feat(dms): support a read-only public demo (#581) * feat(table-view): count batches over bounded GET requests * feat(frontend): present read-only refusals once without hiding failure * feat(auth): prefill login from public demo configuration * refactor(frontend): rely on dms-frontend 0.9.2 for raw fetch hooks dms-frontend 0.9.2 makes `.raw()` inherit the defaults and hooks of a created fetch. useAuthFetch no longer passes its hooks to every call itself; it only adds the read-only refusal to its existing response-error hook. * chore(release): @antelopejs/interface-dms v0.10.1 * chore(deps): require @antelopejs/interface-dms 0.10.1 (#590) The GET count batch route of #581 ships in interface-dms 0.10.1. * chore(release): @antelopejs/dms v0.12.1 * docs(readme): restore the realtime updates line and the live preview wording (#589) * fix(chart): draw only the fetched series that carry their points (#587) * test(chart): a route answering a shape the chart does not read leaves the page whole * fix(chart): draw only the fetched series that carry their points * docs(readme): remove the How AntelopeJS makes money section (#592) * fix(store): remove the archived CI/CD module from the catalog (#609) @antelopejs-private/dms-cicd is archived and no longer published, so the module store must not offer it. * fix(tenants): resume the default tenant's provisioning after start (#613) * test(tenants): cover interrupted default tenant provisioning * fix(tenants): resume the default tenant's provisioning after start (#350) Add optional Tenant.provisioningPending to persist unfinished default tenant provisioning. Rows without the marker remain provisioned. Clear it only after provisioning resolves, and retain the row and log the original error on failure. Run pending provisioning on ModulesStarted, outside start(), and wait for active work during stop(). Require interface-core 0.2.6 for that lifecycle event. * fix(dms-ui): hydrate keyboard hints with the platform the server rendered (#442) On a first visit without the dms-keyboard-platform cookie, a component created while the page hydrates draws the platform the server rendered until it mounts, so Mac visitors no longer get Ctrl/⌘ hydration mismatches. * fix(dms-ui): print Nuxt UI key hints for the dashboard's keyboard platform (#541) A dms-ui plugin provides the dashboard's keyboard platform to Nuxt UI key hints, so <UKbd value="meta|ctrl|alt"> prints the key in the server HTML instead of a blank, and the UI toolkit docs describe the per-platform glyphs. * fix(playground): declare the playground's frontend, so dev and production include it (#441) Declare the dms playground's dmsFrontend so ajs dms dev, build and start serve its pages, components and public webhook again, guard every package that ships frontend-vue/ with check:frontend-declarations in CI, ignore .dms-frontend, and document the dmsFrontend contract. * fix(frontend): unify API error presentation (#614) * test(frontend): specify unified API error presentation * fix(frontend): unify API error presentation Route core request failures through the shared presenter and resolver. Keep Response-scoped toast claims separate from inline resolution and preserve caller fallbacks, field placement, retry, and cleanup. Export the local invariant and bounded migration script for module callers. * chore(release): @antelopejs/interface-dms v0.10.2 * chore(deps): require @antelopejs/interface-dms 0.10.2 (#632) The pending tenant provisioning field of #613 ships in interface-dms 0.10.2. * chore(release): @antelopejs/dms v0.13.0 * fix(frontend): run the API error CLIs when pnpm links the package (#634) * test(frontend): run the API error CLIs through a symlinked install path * fix(frontend): run the API error CLIs when pnpm links the package Node resolves import.meta.url to the real file while process.argv[1] keeps the symlinked node_modules path, so both CLIs skipped their work and exited 0. * chore(release): @antelopejs/dms v0.13.1 * refactor(frontend)!: remove API error migration helpers (#638) BREAKING CHANGE: remove useApiError and the API error presenter codemod export. Capture useApiErrorPresenter during setup instead. * chore(release): @antelopejs/dms v0.14.0 * feat(dms-ui): state the data state of each data block on its root element (#585) Chart, ChartCard, KpiCard, TopListCard and TableView now carry data-dms-block-state (loading, ok, empty, error), data-dms-block-type and, when a page places them, data-dms-block (the layout path). An overlay or a test harness reads what a block shows without parsing its markup. * fix(table-view): currency on prices, settled counters, no add without a new route (#611) * feat(data-types): add a currency option to PriceType * fix(table-view): stop drawing the counters' skeleton once their request has failed * fix(table-view): offer no add action on a controller with no new route * fix(interface-dms): name a bucketed series' periods for a person, 202608 as Aug 2026 (#617) * fix(interface-dms): name a bucketed series' periods for a person, 202608 as Aug 2026 * feat(interface-dms): name a week bucket by its Monday, as Week of Aug 3 * test(dms): merge locale trees with the shared object guard * fix(chart): thin the category x-axis labels of a long series so they never overlap (#626) * chore(release): @antelopejs/interface-dms v0.10.3 * chore(release): @antelopejs/dms v0.15.0 * docs(github): send questions and ideas to Discord (#672) * fix(auth): upgrade an outdated password hash on sign-in (#691) A successful sign-in writes the password again when isHashOutdated reports an older hash. The write applies only while the row holds the tested hash, and a failed write does not fail the sign-in. Password tests run on the thread pool, and a right password is checked against the throttle again after its test. * fix(dashboard): name the brand logo for screen readers (#652) * fix(onboarding): require a setup token to register the first owner (#654) A fresh instance was claimable by its first visitor: POST /api/onboarding/register only checked that no user existed. The call now needs the instance's setup token, from DMS_SETUP_TOKEN or generated at first start and kept in the database so every replica accepts it. The wizard reads it from ?token=, removes it from the URL and asks for it when absent. Registering spends the token with one delete, so two concurrent valid registrations create one owner. Fixes #624 * fix(tenants): elect one replica to provision the default tenant through a renewed lease (#657) * test(tenants): cover two replicas provisioning the default tenant * fix(tenants): elect one replica to provision the default tenant through a renewed lease * docs(tenants): state who runs the provisioning hook and derive the test's hold * docs(tenants): say a stalled provisioning holder can be taken over * perf(page): send anonymous visitors only the public pages of the site layout (#675) * perf(page): send anonymous visitors only the public pages of the site layout * test(page): find the private page through the owner, not the anonymous layout * fix(layout): count the sidebar's installed modules like the Modules page (#666) * test(layout): the sidebar badge counts the installed modules the Modules page lists * fix(layout): count the sidebar's installed modules like the Modules page The badge counted the module roots of the site layout tree, so an installed module that registers no pages, such as the Builder, was left out while the Modules page listed it. Both now read the list from useInstalledModules. * test(layout): the sidebar badge renders without the store listing on the server * fix(layout): read the sidebar's module count in the browser, not in the server render * test(layout): the sidebar badge shows no count until the store listing is read * fix(layout): show the sidebar count only once the store listing is read * chore(release): @antelopejs/interface-dms v0.10.4 * chore(deps): require @antelopejs/interface-dms 0.10.4 (#734) * chore(release): @antelopejs/dms v0.15.1 * docs(readme): start the demos with npx @antelopejs/core (#753) * docs(readme): start the demos with npx @antelopejs/core Replace template clones with npx @antelopejs/core project init and template slugs, drop the .env and manual install steps from the demo quick start, and point first-run text at the onboarding address with the setup token that the backend prints. * docs(playground): drop the EU hosting claim for AntelopeJS Cloud * docs: list Git as a prerequisite of project init * docs(readme): list pnpm for the Docker demos * docs(readme): drop pnpm from the Docker prerequisites --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Alessandro Aloisio <25800420+alessaloisio@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A newcomer with nothing installed should create an AntelopeJS project with one copy-pasteable
npx @antelopejs/corecommand, named by a short template slug. The DMS first-run text should match today's onboarding, where the backend prints a setup token. The demo quick start also listed steps that the template no longer needs.What changed
npx @antelopejs/core project init <dir> --template <slug>(dms-demo,dms-connect-demo,dms-starter,dms-adonis) in place ofgit clone.pnpm install, the.envfile andajs project modules install. It keepspnpm devandpnpm frontend:dev.Scope
dms-projectskill.cp .env.example .envandnode ace generate:key, because AdonisJS needsAPP_KEYand the shared secrets.ajs project modules addlines for existing projects stay as they are.Blast Radius
Docs and one playground string only. Merge after the core release that ships template slugs, and after the interfaces PR that adds the
dms-connect-demotemplate. Before that,--template dms-demodoes not match core 1.19.0.The Docker prerequisites no longer list pnpm. This works only with the core release that ships AntelopeJS/antelopejs#381 and the interfaces PR AntelopeJS/interfaces#14 (
"install": falseon this template). Merge after both.Verification
npx -y @antelopejs/core project init my-app --template "DMS Demo" --yes(core 1.19.0), thenpnpm devandpnpm frontend:devwith no.env. The backend installed the modules and logged[DMS] No owner exists yet. To create it, open http://localhost:3201/onboarding?token=…. That address opened the wizard with no token field. The administrator was created and/homeloaded the Helio demo. Ports were moved to 5210, 3201 and 27217 to share the machine with other runs.npx -y @antelopejs/core project init my-project --template "DMS Starter" --yes, thendocker compose up. Thedmsservice logged the same line, the wizard created the administrator and/homeloaded.pnpm run checkspassed (8 of 8).