Core Principles
- Accuracy over memory — Do not rely on training data for ZIO specifics. Fetch the relevant documentation page before answering.
- MCP tools first, sitemap fallback — If the
zio-docsMCP server is connected, use mcp tools instead ofWebFetch. Otherwise start athttps://zio.dev/llms.txtto discover the current documentation structure and pick the right page for your specific question. Not connected? See https://zio.dev/start.md to add it. - Source everything — Include the documentation URL (or doc
path, when using the MCP tools) in your response so the user can verify and learn more. - Right resource first — Navigate to the specific reference page rather than answering from the generic overview.
- Prefer Markdown pages — When falling back to
WebFetch, always fetch the.mdversion of a documentation URL first. Fall back to the regular HTML website page only if the.mdfetch fails or returns an error.
Question Routing
Any ZIO question?
→ Check whether the zio-docs MCP server (mcp.zio.dev/mcp) is connected:
-
MCP available: Call
search_docswith the question first. Each result has apath(verified against the local index) or asource_url(external, fetch directly). Fetch the full page withget_doc_page(path). Useget_doc_indexto browse all indexed pages when you need to discover paths rather than search by topic. -
MCP unavailable: Fall back to the LLM sitemap:
- ZIO LLM Sitemap: https://zio.dev/llms.txt
The sitemap follows the llmstxt.org standard and lists every documentation page with its URL and a one-line description. Read it to identify the most relevant page(s) for your question, then fetch those pages for API details, types, and method signatures. The URLs end with .md, which means they are Markdown files, and you can read their raw content.
Response Workflow
- Identify the topic — effects? fibers? concurrency? streams? testing? dependency injection? error handling? one of the ecosystem libraries?
- Route, fetch, and answer — do not answer from memory. Follow Question Routing above (MCP tools first, sitemap fallback, applying Core Principle 5 for the
.md-first rule), then cite the source per Core Principle 3. - If uncertain — direct the user to the official docs: "For the most current information, see https://zio.dev"
Quick Reference
MCP Server (prefer this when connected): https://mcp.zio.dev/mcp
LLM Sitemap (fallback, if MCP is not connected): https://zio.dev/llms.txt
Full Text File Documentation (single file): https://zio.dev/llms-full.txt — the concatenated content of every documentation page. Use it to index the full docs locally in one request when a session needs multiple questions answered across sections, instead of fetching pages individually.
Official Documentation: https://zio.dev
GitHub Repository: https://github.com/zio/zio
Maven Central: https://central.sonatype.com/artifact/dev.zio/zio_3
Examples Directory (GitHub): https://github.com/zio/zio/tree/series/2.x/examples
Common Failures
search_docs returns source_url not path — fetch source_url directly, don't call get_doc_page.
get_doc_page fails for a returned path — retry once verbatim, else fall back to sitemap.
MCP unavailable — fall back to sitemap workflow above.
Sitemap fetch fails — Retry once; if it persists, fall back to https://github.com/zio/zio (the source is the ground truth) and the README.
WebFetch returns 404 for a zio.dev/... page — it was renamed or removed. Re-fetch the sitemap (https://zio.dev/llms.txt), search for the topic, and navigate to the new URL.
Topic isn't in the sitemap — either it's too narrow for its own page or covered under a broader one. Search the examples directory and the source under https://github.com/zio/zio/tree/main/zio/src/main/scala/zio.
Multiple pages cover the same topic — prefer the page under zio.dev over external links; cite both if they materially differ.
Doc page contradicts your training data — Training cutoff is older than the docs site. Trust the docs site, not training data. Cite the page in the answer so the user can verify.