Skip to main content

CLI reference

npm install -g @tanqory/cli
tanqory login

tanqory login opens your browser and stores a developer token in ~/.tanqory/config.json. tanqory whoami shows whose it is; tanqory logout removes it.

Theme commands live in the CLI guide. This page is the app half.


tanqory app init [dir]​

Scaffolds a new app — the manifest, an embedded page, a webhook handler that verifies its signature, correct frame headers, and AGENTS.md for AI assistants.

tanqory app init order-notifier

It runs npx create-tanqory-app for you; running that directly is identical.

The name is the handle: lowercase letters, digits and single hyphens. It appears in install links and cannot be changed once your app is published, so an invalid one is refused rather than corrected.


tanqory app dev​

The command you will use most. It does everything between "I have code" and "my app is on screen inside a store":

  1. Registers the app if this directory is not linked to one yet, and writes TANQORY_CLIENT_ID / TANQORY_CLIENT_SECRET into .env.local
  2. Pushes tanqory.app.json
  3. Test-installs it on a development store — no review needed
  4. Prints the URL your app is framed at
  5. Starts your dev server
  6. Watches the manifest and re-pushes on save
Option
--openOpen the framed app in your browser
--store <id>Which development store to install on. Prompts if omitted
--no-serverPush and install only; do not start the dev server (you are already running it)

A permission change re-installs, so the consent step happens again — the same thing a merchant would see.

This is how you look at your app

Opening localhost:3000 directly shows Loading… forever, correctly: there is no dashboard around it to complete the handshake.


tanqory app deploy​

Submits tanqory.app.json as a new version, for review.

tanqory app deploy # alias: tanqory app push

A version pins your contract — origin, permissions, webhook topics — not your code. So shipping new code needs nothing from this command; only a manifest change does. See Submit for review.

It prompts once per new permission for a justification, and remembers your answers.

It also warns if your marketplace listing has no icon, tagline, category or description. Take that seriously: nothing refuses to publish an empty listing, and an approved app with one reaches the marketplace as a blank card.


tanqory app withdraw​

Takes back a version that is still waiting for review, so you can change it.

tanqory app withdraw

Only works while the version is queued. Once a reviewer has picked it up, it is too late — finish the review and submit a new version instead.

tanqory app dev withdraws for you when a queued submission is in the way, so you rarely call this directly.


tanqory app info​

Your app's status and its latest version.

tanqory app info

Where the CLI keeps things​

PathWhat
~/.tanqory/config.jsonYour developer token. Delete it with tanqory logout
./.tanqory.jsonLinks this directory to an app id
./.env.localTANQORY_CLIENT_ID and TANQORY_CLIENT_SECRET, written on first registration

.env.local holds a secret Tanqory only stores a hash of. It is shown once — keep it out of version control, and rotate from the developer dashboard if it leaks.