Each recipe below is a natural-language request you make to your agent, followed by the tool chain it runs. You don't script these — the agent picks the tools from your prompt. Knowing the chain helps you phrase requests and understand what the agent is about to do.
Build a service from a prompt
"Build me an @imqueue user service with getUser, createUser and deleteUser, and set it up as a real project."
A well-behaved agent will:
search_docs→ "create a service" to ground itself in the current guide.cli_status→ isimqavailable? If not,cli_install(or drop to step 5's offline path).cli_helpservice create→ discover the exact flags so the run is non-interactive.create_service(nameuser) — first as a dry-run so you see what it would create.- On your go-ahead,
create_serviceagain withapply: trueto actually scaffold the project.
If the CLI is not installed and you don't want it, the agent uses
scaffold_service instead to hand you the IMQService code directly — no
project wiring, but immediately usable.
Generate a typed client
"Give me a typed client for the UserService."
cli_status→ confirmimqis present.generate_clientUserService→ emits the real, introspected client.
The catch @imqueue is built around: the client is generated from a running
service, so the types are always the truth. If the service isn't running, the
agent will tell you to start it first (see the fleet recipe) — it can't and won't
fabricate a client from guesses. If you only need to see the shape,
scaffold_client returns an illustrative snippet without a running service.
Run and inspect a local fleet
"Start all my services and show me if anything is failing."
fleetstatus→ what's already running (read-only).fleetstart(optionallyupdate: truetogit pullfirst,calm: trueto start one at a time) → bring the fleet up.logsdump→ pull the recent combined logs (capped, never streaming) so the agent can spot errors.- If needed,
fleetrestarta specific service, thenlogsdumpagain.
Because logs never follows/streams, the agent gets a bounded snapshot it can
actually reason about instead of an endless tail.
Learn the API without leaving your editor
"How does @imqueue handle delayed jobs? Show me an example."
search_docs"delayed jobs" → the relevant guide/API pages.get_docon the top hit → full markdown to read and quote.- Optionally
list_packagesif a specific package (e.g.@imqueue/job) is involved.
This is the everyday use: authoritative answers from the current docs, inline, instead of hallucinated APIs from a training snapshot.
Configure the CLI for a project
"Set this project up to use GitHub Actions for CI."
configcheck→ is config initialized?configget→ read current values.configsetci.providergithub-actions→ write the single value.
The agent prefers set over the interactive init, which would time out in a
non-interactive context.
When the CLI isn't installed
Everything degrades gracefully. With no imq on PATH:
- Docs (
search_docs,get_doc,list_packages) — fully available. - Scaffolding (
scaffold_service,scaffold_client) — fully available; the agent hands you code and the client-generation command to run yourself. - CLI bridge — the agent offers
cli_install, or continues with the offline tools above.
So even a fresh machine with just the MCP server configured gets useful, grounded help — the CLI simply unlocks the "do it for real" tools.
Next: the Safety & troubleshooting page covers the trust model
behind apply, host-locking and read-only tools — worth a read before you let an
agent run create_service or fleet unattended.