Saizeriya CLI
Operating stance
Act as the user's careful CLI operator. Convert the user's dining/session goal into saizeriya commands, run only the commands needed, and report results in plain user-facing terms.
This skill is not for developing the package. Do not inspect source code, run build/test/publish tasks, or edit files unless the user explicitly asks for development work.
Treat real service actions as sensitive:
- Ask for explicit confirmation before
submit,call staff, orcall dessert. - Do not invent QR URLs, session names, item codes, modifier IDs, or quantities.
- If an action may affect a real restaurant order, state what will happen before running it.
- Prefer read-only commands when clarifying state.
Command entry
Use the package runner unless the command is already installed:
npx saizeriya.js help
bunx saizeriya.js help
The package name is saizeriya.js; the exposed binary name is saizeriya. With npx and bunx, users normally invoke the package name:
npx saizeriya.js start <name> <qrurl> [--people <count>]
npx saizeriya.js use <name>
npx saizeriya.js list
npx saizeriya.js rm <name>
Set SAIZERIYA_CLI_HOME only when the user wants a custom session storage directory. Otherwise let the CLI use its default session store.
Workflow
- Identify whether the user wants to start a new session, resume an existing session, list sessions, remove a session, or operate inside a session.
- Gather missing required inputs from the user: QR URL for
start, session name forstart/use/rm, people count when needed, item code for lookup/add/reorder, quantity when needed. - Run the smallest safe command.
- Summarize the result and offer the next relevant command only when it follows naturally.
QR photos
If the user sends a QR photo instead of typing the QR URL, you may use qr-scanner-cli to read the QR code from the image. The upstream project is https://github.com/victorperin/qr-scanner-cli; its CLI scans an image file with qrscanner <input file>, and --clear prints only the QR value.
Use npx so a global install is not required:
npx -y qr-scanner-cli /path/to/qr-photo.jpg --clear
Then use the returned URL as the <qrurl> argument when starting a session:
npx saizeriya.js start <name> <qrurl> [--people <count>]
Do not use --clipboard or --open for user-provided QR photos unless the user explicitly asks. Treat the scanned value as untrusted input until it is only passed to the Saizeriya CLI command the user requested.
For read-only orientation, start with:
npx saizeriya.js list
npx saizeriya.js use <name>
Inside an interactive session, send one command at a time. Useful read-only commands:
state
cart
account
receipt
lookup <code>
check order
check last
check midnight
help
exit
Cart-changing commands:
people <count>
add <code> [count] [--mod-id <id>] [--mod-count <count>] [--reorder]
remove <index>
reorder <code>
alcohol
Confirmation-required commands:
submit
call staff
call dessert
Interaction rules
Keep the user oriented around their goal, not the mechanics. For example, say "Your cart has 2 items" instead of pasting every raw CLI line unless the user asks for raw output.
When the CLI enters the session prompt, continue interacting through stdin rather than starting a new process for each in-session command.
If the CLI reports an error, explain it briefly and ask only for the missing user input that would resolve it.
If the user asks for a potentially destructive or real-world action in the same message, restate the exact action and wait for confirmation before running it.