Command line

Your content, from the terminal.

One command line for every client project. List what’s waiting, fix a field, upload a folder of photos, ask for a review, read the JSON. The same rules as the Studio, so a script can’t do what its person can’t.

terminal

npm install -g @moteurio/cli
moteur auth login --api-url https://api.moteur.io
moteur projects use client-site

moteur entries list article --limit 10

Try it

What do you want to do?

Pick a job. Each command and its answer were recorded on the demo journal, signed in as a writer.

Pick a job

moteur entries list article --limit 4

┌────────────┬───────────────────┬───────────────────────────────────────┬──────────────────────────┐
│ id         │ status            │ title                                 │ updated                  │
├────────────┼───────────────────┼───────────────────────────────────────┼──────────────────────────┤
│ issue-05-6 │ in_review         │ Les androïdes timides                 │ 2026-10-24T22:24:28.643Z │
├────────────┼───────────────────┼───────────────────────────────────────┼──────────────────────────┤
│ issue-05-1 │ published · edits │ HORIZON-E: Rapport du Fond de l'Océan │ 2026-10-24T22:24:28.579Z │
├────────────┼───────────────────┼───────────────────────────────────────┼──────────────────────────┤
│ issue-03-4 │ published · edits │ Le syndicat et les machines           │ 2026-10-23T22:24:28.331Z │
├────────────┼───────────────────┼───────────────────────────────────────┼──────────────────────────┤
│ hs-lexique │ draft             │ Lexique                               │ 2026-10-22T22:24:28.219Z │
└────────────┴───────────────────┴───────────────────────────────────────┴──────────────────────────┘
Recorded on a local copy of the demo journal. On Moteur Cloud, the API is https://api.moteur.io.

Setup

Three lines to start

Node 22 or newer, and an account on a Moteur API.

  1. Install it

    npm install -g @moteurio/cli puts moteur on your path.

  2. Sign in

    moteur auth login asks for your email, then your password or a code it sends by email, and keeps the sign-in in ~/.moteur.

  3. Pick a project

    moteur projects use client-site, and every command works on it unless you say --project.

For scripts

Made to be scripted

Every command takes the same few options, and fails like a script expects.

  • Output

    Tables for you, JSON for jq

    A table to read, by default. With --json, the API’s answer as it is.

    • --quiet prints nothing but errors
    • A refused command exits with 1
  • Rules

    The Studio’s rules, in the terminal

    It signs in as you, so it can do what your roles allow and nothing more.

    • A writer’s publish waits for review
    • Every change is a commit with your name
  • Agents

    The same commands as MCP

    The MCP server’s tools are these commands, declared once. Learn one, you know the other.

    • moteur auth agent-token, for an agent acting for you
    • Up to eight hours, and marked as the agent’s
  • Everything

    Nothing out of reach

    Models, pages, menus, media, forms, keys, webhooks, branches: a command each. For the rest, moteur api calls any route.

    • moteur <group> --help lists what’s there
    • --yes skips the questions before what can’t be undone

Moving in

A whole site, in one import

Moving a client’s content over is a script, not a week of copying: turn the export into one bundle of models, files, pages and entries, try it, then bring it in. All of it arrives, or none of it does, and every entry arrives as a draft for someone to read.

  • Models, files, pages and entries in one bundle
  • Tried first with --dry-run
  • Drafts by default: nothing goes live by itself

move-in.sh

moteur imports run site.json --dry-run
moteur imports run site.json

# and back out, the same shape
moteur export --out site.json

Questions about the command line

A developer asksWhere do I get it?

MoteurOn npm: npm install -g @moteurio/cli. It needs Node 22 or newer, and works with Moteur Cloud or a Moteur you host.

An agency developer asksCan our CI publish content?

MoteurNot unattended yet. CI can read what the site reads with a read-only key (MOTEUR_API_KEY). Writing needs a person’s sign-in, handed in as MOTEUR_TOKEN, and that lasts a day at most. Long-lived tokens for scripts aren’t built yet.

An agent builder asksIs it the same as the MCP server?

MoteurThe same commands, declared once: the CLI runs them in your terminal, the MCP server offers them to agents as tools.

A developer asksWhat if there’s no command for it?

Moteurmoteur api calls any route, signed in as you: moteur api GET /projects/client-site/urls.

A self-hoster asksCan it run the server too?

MoteurThe engine runs with Node, and the CLI has operator commands for whoever runs a server: accounts, plans, plugins. On Moteur Cloud, that’s us.

Install it, and list something.

Start a project for free, sign in from your terminal, and see what’s waiting.