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":
- Registers the app if this directory is not linked to one yet, and writes
TANQORY_CLIENT_ID/TANQORY_CLIENT_SECRETinto.env.local - Pushes
tanqory.app.json - Test-installs it on a development store — no review needed
- Prints the URL your app is framed at
- Starts your dev server
- Watches the manifest and re-pushes on save
| Option | |
|---|---|
--open | Open the framed app in your browser |
--store <id> | Which development store to install on. Prompts if omitted |
--no-server | Push 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.
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
| Path | What |
|---|---|
~/.tanqory/config.json | Your developer token. Delete it with tanqory logout |
./.tanqory.json | Links this directory to an app id |
./.env.local | TANQORY_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.