Skip to content

Record a demo of a change

@mereon/demo is a command-line tool your coding agent uses to record a narrated guide or video of a change to your app, then file it in your Mereon organization. You need a Mereon account, and an external user cannot use it. The command reference lives with the package on npm.

From the root of the project you are demoing, with Node 24 or later:

Terminal window
npx @mereon/demo init
npx @mereon/demo login
npx @mereon/demo doctor

init writes demo/config.json and a demo/scripts/ folder, and installs instructions for the coding agent it finds in the project. Those instructions pin the version of the tool that wrote them. Commit what init writes.

login opens Mereon in your browser. You sign in, choose the organization, and approve. The connection is listed under Profile → Connected apps. It is its own sign-in there, and a personal access token cannot stand in for it.

doctor checks that the tool has what it needs and says what to fix.

Recording and uploading are the agent’s job. It writes a script from the change, records it, and files the result in your organization. Recording the same script again replaces a guide. A video filed under that script stays as it is, because a video cannot be replaced yet.

When the signed-in person cannot publish to the audience, the upload is a proposal for an administrator and the tool says so. The item already in the library stays unchanged until that proposal is approved.

A script can name tags from your organization, and upload files the demo under them. npx @mereon/demo tags lists them, and --tag <name> adds one for a single upload. The tool cannot create a tag, so someone who can edit content creates a new one in Mereon first. record checks the script’s tags before it records, and an upload leaves out a tag that was renamed or deleted since, and says so. An upload that updates a guide adds its tags and leaves the guide’s other tags in place.

init also installs a research skill. It checks a planned change against your organization through the MCP server, which has to be signed in to the same organization. When that connection is not there, demo audience lists the roles and teams the recording can be shared with.

Hold the upload until the change is deployed

Section titled “Hold the upload until the change is deployed”

An upload normally goes into the library as soon as it is filed, often before the change it shows is deployed. Hold it until then by running this from the project:

Terminal window
npx @mereon/demo config set release ci

An administrator creates a release token under Settings → Release tokens for this repository, and you store it as MEREON_RELEASE_TOKEN. The token belongs to the organization and publishes only this repository’s held demos. It is not a personal access token, and it is not a credential for the rest of the API.

After production is deployed, CI runs npx @mereon/demo release. The package README has the workflow and says which held demos that run publishes.

An announcement tells people about a change by email and text, and updates the knowledge base to match. announce does both with a video it uploads itself, so record the video and run announce instead of upload. A video already filed with upload stays as it is: this command will not replace it. If that video is already in the library, start the announcement in Mereon and add the video there.

It needs its own administrator sign-in, kept apart from the sign-in that records and uploads.

Terminal window
npx @mereon/demo login --announcements
npx @mereon/demo announce <script-id> --text-file announcement.md --tell everyone

The first run uploads the video and publishes it, starts the announcement, and prints the plan: what would change in the knowledge base, who would be told, and the message they would get. It sends nothing. When that printout is right, run the same command again with --send. A send emails and texts real people. Announcements describes what sending does.

Make the announcement once the change is deployed. The people who are told need the screen the video shows, and the video goes into the library on that first run, before anyone is told. In a project that holds uploads until CI, add --publish-now. The video is published immediately, rather than waiting for npx @mereon/demo release.