diff --git a/ai/llmstxt.mdx b/ai/llmstxt.mdx index 2ccfa3d8d..cff20ca29 100644 --- a/ai/llmstxt.mdx +++ b/ai/llmstxt.mdx @@ -14,10 +14,15 @@ Mintlify automatically hosts an `llms.txt` file at the root of your project that If your site requires authentication, `llms.txt` and `llms-full.txt` also require authentication to view. LLMs and AI tools that cannot authenticate into your site cannot access these files. The files exclude pages that belong to [user groups](/deploy/authentication-setup#control-access-with-groups). -View your `llms.txt` by appending `/llms.txt` to your documentation site's URL. +View your `llms.txt` by appending `/llms.txt` to your documentation site's URL. Mintlify also hosts the file at `/.well-known/llms.txt` for compatibility with tools that follow the `.well-known` convention. Open the llms.txt for this site. +Mintlify adds HTTP headers to every page response so AI tools can discover your `llms.txt` files without prior knowledge of their location: + +- `Link: ; rel="llms-txt", ; rel="llms-full-txt"`: Follows the standard HTTP `Link` header format for resource discovery. +- `X-Llms-Txt: /llms.txt`: A convenience header for tools that check for `llms.txt` support. + ## llms.txt structure An `llms.txt` file is a plain Markdown file that contains: @@ -26,27 +31,30 @@ An `llms.txt` file is a plain Markdown file that contains: - **Structured content sections** with links and a description of each page in your documentation. - **API specification links** to your OpenAPI and AsyncAPI specs, if your documentation includes them. -The `llms.txt` file lists your pages alphabetically in the order they appear in your repository, starting from the root directory. +The `llms.txt` file lists your pages alphabetically in the order they appear in your repository, starting from the root directory. Page links in the `llms.txt` file include a `.md` extension so AI tools can fetch the Markdown version of each page directly. Each page's description comes from the `description` field in its frontmatter. Descriptions truncate at 300 characters and the first line break. For API reference pages, the description also includes the specification information from the `openapi` or `api` frontmatter field. Pages without a `description` field appear in the `llms.txt` file without a description. +This structured approach allows LLMs to efficiently process your documentation at a high level and locate relevant content for user queries, improving the accuracy and speed of AI-assisted documentation searches. + ```mdx Example llms.txt # Site title ## Docs -- [API](https://example.com/docs/api): Endpoint list and usage -- [Install](https://example.com/docs/install): Setup steps -- [Getting started](https://example.com/docs/start): Intro guide +- [API](https://example.com/docs/api.md): Endpoint list and usage +- [Install](https://example.com/docs/install.md): Setup steps +- [Getting started](https://example.com/docs/start.md): Intro guide -## API specifications +## OpenAPI Specs - [openapi](https://example.com/docs/openapi.json) + +## AsyncAPI Specs + - [asyncapi](https://example.com/docs/asyncapi.yaml) ``` -This structured approach allows LLMs to efficiently process your documentation at a high level and locate relevant content for user queries, improving the accuracy and speed of AI-assisted documentation searches. - ## llms-full.txt The `llms-full.txt` file combines your entire documentation site into a single file as context for AI tools and LLM indexing. diff --git a/ai/markdown-export.mdx b/ai/markdown-export.mdx index df461f83d..51d041f5a 100644 --- a/ai/markdown-export.mdx +++ b/ai/markdown-export.mdx @@ -16,6 +16,14 @@ Add `.md` to any page's URL to view a Markdown version. Open this page as Markdown +## Accept header + +Send a request with `Accept: text/markdown` or `Accept: text/plain` to any page URL to receive the Markdown version instead of HTML. This is useful for AI tools and integrations that programmatically fetch documentation content. + +```bash +curl -H "Accept: text/markdown" https://mintlify.com/docs/ai/markdown-export +``` + ## Keyboard shortcut Press Command + C (Ctrl + C on Windows) to copy a page as Markdown to your clipboard. diff --git a/ai/skillmd.mdx b/ai/skillmd.mdx index 9475463d1..3acf58463 100644 --- a/ai/skillmd.mdx +++ b/ai/skillmd.mdx @@ -24,7 +24,7 @@ View your `skill.md` by appending `/skill.md` to your documentation site's URL. ## Use `skill.md` files with agents - If you use a [reverse proxy](/deploy/reverse-proxy), configure it to forward `/skill.md` and `/.well-known/skills/*` paths (with caching disabled) to your Mintlify subdomain. + If you use a [reverse proxy](/deploy/reverse-proxy), configure it to forward `/skill.md` and `/.well-known/skills/*` paths to your Mintlify subdomain. Agents can process your `skill.md` with the [skills CLI](https://www.npmjs.com/package/skills). @@ -79,4 +79,30 @@ metadata: author: mintlify version: "1.0" --- -``` \ No newline at end of file +``` + +## Skills discovery endpoints + +Mintlify hosts a skills directory at `/.well-known/skills/` that agents can use to discover and fetch your skill files programmatically. + +### Skills index + +`GET /.well-known/skills/index.json` returns a JSON manifest listing all available skills: + +```json +{ + "skills": [ + { + "name": "my-product", + "description": "A brief description of what your skill does.", + "files": ["SKILL.md"] + } + ] +} +``` + +The `name` field is a URL-safe slug derived from the `name` in your `skill.md` frontmatter. + +### Individual skill files + +`GET /.well-known/skills/{name}/skill.md` returns the `skill.md` file for a specific skill identified by its slugified name from the index. diff --git a/api/assistant/create-assistant-message-v2.mdx b/api/assistant/create-assistant-message-v2.mdx index fd5ac5d2d..606d628b3 100644 --- a/api/assistant/create-assistant-message-v2.mdx +++ b/api/assistant/create-assistant-message-v2.mdx @@ -17,7 +17,7 @@ keywords: The assistant message v2 endpoint is compatible with **AI SDK v5+**. If you use AI SDK v4, use the [assistant message v1 - endpoint](/api-reference/assistant/create-assistant-message) instead. + endpoint](/api/assistant/create-assistant-message) instead. ## Integration with `useChat` diff --git a/api/assistant/create-assistant-message.mdx b/api/assistant/create-assistant-message.mdx index 921a09ffa..977dd0242 100644 --- a/api/assistant/create-assistant-message.mdx +++ b/api/assistant/create-assistant-message.mdx @@ -8,7 +8,7 @@ keywords: [ "assistant message", "embed", "chat", "integrate", "ai sdk v4" ] Deprecated - The assistant message v1 endpoint is compatible with **AI SDK v4**. If you use AI SDK v5 or later, use the [assistant message v2 endpoint](/api-reference/assistant/create-assistant-message-v2) instead. + The assistant message v1 endpoint is compatible with **AI SDK v4**. If you use AI SDK v5 or later, use the [assistant message v2 endpoint](/api/assistant/create-assistant-message-v2) instead. ## Integration with `useChat`