Every command the package installs, with its flags.
The package installs two commands: feedback, for setting up, linking, pulling and plain sites, and feedback-mcp, the server your agent talks to. Run them through your package manager, from the app the package is installed in:
$ npx feedback --help
$ pnpm exec feedback --help
$ yarn feedback --help
$ bunx feedback --help
feedback --help prints the list below in short. link, pull and push work on the app in the current directory, or on the folder you pass them.
Set up
init is the command you run before the package is installed, so it goes through npx, in your app’s directory:
npx @ontrackd/feedback init
Command
What it does
feedback init
Set ontrackd up in this app: detect the framework and the package manager, install the package as a dev dependency, add the plugin to the framework’s config, and register the MCP server with your agents. It first asks who will comment, then lists what it changed and what to do next. In an agent’s shell, where it cannot ask, it prints the question and the two commands that answer it, and changes nothing. A config it cannot edit safely is left alone: it prints the file and the lines to add by hand.
Flags of feedback init:
Flag
What it does
--just-me
Only you comment, on your dev server. No account needed.
--with-previews
Others comment too, on shared previews, with your ontrackd account. After setting the app up, init connects it to a project: it prints a link and a code (and opens the link when it can), you check the code, pick or create the project in the dashboard and approve, and init writes FEEDBACK_SECRET to the app’s .env.local (git-ignored). It waits up to 9 minutes; run the same command again to keep waiting on the same code, which lasts 10 minutes. An app that already has a secret is not connected again.
--reconnect
With --with-previews: connect again, to the project you approve, even if the app already has a secret.
--app <dir>
The app to set up, in a monorepo. Defaults to the current directory; at a workspace root, init lists the apps it found.
Show what would change, and change nothing: no install, no file written.
--yes, -y
Write without asking for confirmation.
--no-mcp
Do not register the MCP server with your agents.
Link and pull
Command
What it does
feedback link
Sign in with an emailed code, choose a project, and save its secret in .feedback/credentials.json, which git ignores: the same as putting FEEDBACK_SECRET in .env.local. Then import the comments you left locally, after a report and a confirmation.
feedback pull
For working without an agent: fetch the comments left on previews, each pointing at its file:line in your code as it is now. Your dev server’s panel then includes them. An agent connected over MCP fetches them itself.
feedback push
Upload what a preview build could not send, so its comments point at their lines. The build says when to run it.
Flags of feedback link:
Flag
What it does
--project prj_…
Skip the project prompt. You must be the project’s owner or an admin.
--email <address>
Sign in with this address instead of asking for it.
--dry-run
Show the import report and import nothing.
--yes, -y
Import without asking for confirmation.
--no-import
Only link; leave local comments where they are.
Cloud mode
For syncing comments you write on your dev server to a Cloud project. To import the ones you already left once, feedback link does it too.
Command
What it does
feedback remote login
Sign in to the Cloud API given with --api <url>, with an emailed 6-digit code. The token is kept outside the project, in ~/.config/feedback/.
feedback remote init --cloud
Link this app to a Cloud project: pick one, or create one with --new. Restart the dev server afterwards.
feedback remote whoami
Show which account you are signed in as.
feedback remote logout
Revoke the sign-in token and forget it on this machine.
feedback remote status
Show the API, project, session and sync state of this app.
feedback remote source-excerpts
on or off: whether Cloud comments include the source lines around the element. Restart the dev server afterwards.
feedback invite
Create a review link for a reviewer: their name, then --preview <url>. Works through the running dev server. invite list lists them; invite revoke <participant> cuts one off.
Flags of feedback remote login:
Flag
What it does
--api <url>
The API to sign in to, like https://api.ontrackd.com. Defaults to FEEDBACK_API_URL, then to the API this app is linked to.
--email <address>
Sign in with this address instead of asking for it.
--name "<name>"
The display name reviewers see.
Flags of feedback remote init --cloud:
Flag
What it does
--project prj_…
Skip the project prompt.
--new "<name>"
Create a project with this name and link it.
--api <url>
The API to use, when you are signed in to more than one.
--no-source-excerpts
Send only the file and line of each comment, not the source lines around it.
--replace
Replace an existing link. The old one moves to .feedback/backup-<time>/; keep it.
--port <port>
The sidecar’s port, when it is not the default.
--root <path>
The app to link, when it is not the current directory.
Plain sites and Hugo
Command
What it does
feedback serve
Serve a folder of HTML files for review, each comment pointing at its file and line. --port, -p (default 5500); --host (default localhost).
feedback build
Copy a folder of HTML files for deployment. With FEEDBACK_SECRET set it is a shared preview; without it, every file is copied unchanged. --out, -o: the output folder. --clean: empty it first.
feedback hugo server
Run hugo server for review, each comment pointing at its file and line. Takes Hugo’s own flags.
feedback hugo
Build with Hugo. A shared preview when FEEDBACK_SECRET is set, otherwise plain hugo.
MCP server
Command
What it does
feedback-mcp init
Print the exact command for your agent, for this app or every app in the monorepo.
feedback-mcp
The MCP server itself, as init prints it. Repeat --root for several apps.
Flags of feedback-mcp:
Flag
What it does
--root <app>
An app to serve. Repeatable; defaults to the current directory.
--port <port>
The sidecar port to look for first (default 7331).
The project’s secret. On your host, set it for preview builds only, where it turns shared mode on; a build without it carries nothing of ours. On your machine, put it in the app’s .env.local: the CLI and the MCP server read the environment first, then .env.local, then .env, then what feedback link saved.
FEEDBACK_API_URL
The API to use, over the one saved by feedback link. Defaults to https://api.ontrackd.com.
FEEDBACK_CLOUD_SYNC
Set to 0 to keep a linked app local: its dev-server comments are not synced, and your agent does not fetch the comments left on previews.