AI assistants
Claude Code, Cursor and Codex are good at Next.js. They are wrong about Tanqory apps by default, and confidently so — because almost everything specific to this platform fails silently, which is exactly the class of thing a model cannot infer from your code.
Left to guess, an assistant will tell you to open localhost:3000 to check your
work, put a new page at src/app/embed/settings/, ask for a read_orders
permission, and add security headers that make the frame go blank. Each is
reasonable somewhere else. Each is wrong here, and none of them produces an
error message.
You already have the fix
tanqory app init puts AGENTS.md at the root of your project, plus a
CLAUDE.md pointing at the same file. Assistants read these on their own — no
setup, no extension, no network call.
order-notifier/
├── AGENTS.md ← read by Cursor, Codex, and most others
└── CLAUDE.md ← the name Claude Code looks for; one line, points at AGENTS.md
Two names because different tools look for different filenames. One source of content, so they cannot drift apart.
If your project predates the scaffold, copy AGENTS.md out of a fresh
tanqory app init into your own repo.
What is in it
Not a summary of these docs. Every line is something that can go wrong without producing an error, which is the only reason it needs saying twice:
- The embedded page runs only in an iframe —
Loading…in a browser tab is correct behaviour, and not something to debug useTanqoryApp()returns anerroryou must render, or every failure looks identical to a slow load- New screens go under
[storeId]; a plainembed/page.tsx404s the moment a merchant opens the app apiBaseis alwayshttps://app.tanqory.com— never a host with a region in it- Webhooks verify against the raw body
- Never send
X-Frame-Options; never redirect to a login page - Permissions are
domain.actionfrom a closed catalogue of 246 — there is noread_ordersform - Declaring a menu item does not create a route
- A symptom table, so the assistant matches before it edits
Try it
With the project open in your assistant:
Add a settings screen and show it in the Orders menu.
Right — it creates src/app/embed/[storeId]/settings/page.tsx, renders
error before ready, adds an entry to navigation.items in
tanqory.app.json, and tells you to look at it with tanqory app dev.
Wrong, and how you will know — it creates src/app/embed/settings/page.tsx,
or suggests opening localhost:3000/embed/settings to check. If you see either,
the assistant is not reading AGENTS.md: confirm the file is at the repository
root and that the assistant's working directory is the project, not a parent
folder.
Other things worth pointing an assistant at
tanqory.app.json | Add the $schema line and the editor validates the manifest as you type — see Manual setup |
| Permissions | The full catalogue. Paste the list rather than letting a model invent scope names |
| This documentation | Assistants that can browse do better with a URL than with a guess |
What Tanqory does not offer yet
There is no Tanqory MCP server. If you find a reference to one, it describes intent rather than something you can connect to today.
AGENTS.md in your project is the supported path, and it needs no network.