Your Agent · instructions for a coding agent
Have your agent set up the backend.
You do not have to write a Caret backend. Give your coding agent one URL and it clones the public reference backend, picks Go or Python, wires the reference's provider adapters to the tools you already use, secures the credential, runs the conformance checker, and does not call it done until a sentence you dictated comes back through the app.
https://docs.typewithcaret.com/agent/instructions.md
Plain Markdown, no HTML, stable. Paste it into any agent that can fetch a URL, or download it and drop it into the agent's context.
What to say
Something like this is enough:
Set up a self-hosted backend for the Caret iOS keyboard.
Follow https://docs.typewithcaret.com/agent/instructions.md exactly.
Ask me the setup questions in section 2 before you start.
What the instructions cover
| Section | What the agent does |
|---|---|
| 1 · What you are setting up | The routes, what is mandatory and what is optional, when HTTPS is required. The reference implements all of it; the agent configures. |
| 2 · Ask before you build | Go or Python, where it runs and how the phone reaches it, which recognizer, which model for cleanup and ask, which image tool, credential, supervision. No vendors you did not name. |
| 3 · Clone and run the reference | Clone the public repository, run the Go or Python reference on loopback, run the conformance checker against it. |
| 4 · Wire the adapters | The lane grammar and the adapter contract: command: for a CLI you have, https:// for a server or API you use, a small shim when the shapes differ. |
| 5 · Secure it | Random credential, no secrets on the command line or in logs, TLS or a private network, supervision. |
| 6 · Loopback is not transcription | Why a backend that passes the checker on loopback is still not done. |
| 7 · Verify before you say it works | Health, conformance with the real credential, a real dictated sentence through the app, a restart. The report never contains the credential. |
| 8 · Keeping it current | Pull, rebuild, rerun the checks. |
| 9 · Only if the reference cannot serve you | The full protocol page, as a fallback for runtimes the reference cannot run on. The agent says so before taking this path. |
What it is grounded in
The instructions lead with the reference backends, which are the executable form of the protocol. The agent adapts what already runs instead of implementing the wire from memory, and reads the reference source whenever a rule is unclear. Every command in them runs against the public repository as published. When the protocol or the reference changes, the instructions change with them at the same URL.
What it will not do
- Write a backend from scratch when the reference runs on your machine.
- Add a vendor, a paid API or a dependency you did not name.
- Touch Caret's own hosted dictation. That is set up inside the app and is not a developer API.
- Declare success on the loopback fixture, or without a real sentence dictated through the app.
- Put a credential, a provider key or a transcript into a log, a commit, or its own report.