vitepress-plugin-llms
Version:
š A VitePress plugin for generating LLM-friendly documentation
167 lines (119 loc) ⢠9.98 kB
Markdown
<!-- GitAds-Verify: WF65H9RCZLX4T489172MEB5JFHGL4B46 -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable no-inline-html heading-start-left first-line-h1 -->
<div align="center">
**Is this plugin useful for your site? Consider [sponsoring the developer](https://github.com/okineadev/vitepress-plugin-llms?sponsor) to support the project's development šŗ**
<br><br>
<a href="https://npmjs.com/package/vitepress-plugin-llms">
<!-- https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#specifying-the-theme-an-image-is-shown-to -->
<picture>
<source media="(prefers-color-scheme: dark)" srcset="assets/hero-dark.png">
<source media="(prefers-color-scheme: light)" srcset="assets/hero-light.png">
<img src="assets/hero-dark.png" alt="Banner">
</picture>
</a>
<!-- prettier-ignore-start -->
# š vitepress-plugin-llms
[](https://www.npmjs.com/package/vitepress-plugin-llms) [](https://npmjs.com/package/vitepress-plugin-llms) [](https://github.com/okineadev/vitepress-plugin-llms/actions/workflows/ci.yml) [](https://bun.sh) [](https://biomejs.dev/) [](https://github.com/okineadev/vitepress-plugin-llms?sponsor=1)
[š Report bug](https://github.com/okineadev/vitepress-plugin-llms/issues/new?template=bug-report.yml) ⢠[Request feature āØ](https://github.com/okineadev/vitepress-plugin-llms/issues/new?template=feature-request.yml)
</div>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
## š¦ Installation
```bash
npm install vitepress-plugin-llms --save-dev
```
## š ļø Usage
Add the Vite plugin to your VitePress configuration (`.vitepress/config.ts`):
```ts
import { defineConfig } from 'vitepress'
import llmstxt from 'vitepress-plugin-llms'
export default defineConfig({
vite: {
plugins: [llmstxt()]
}
})
```
Now, thanks to this plugin, the LLM version of the website documentation is automatically generated
### Plugin Settings
See [`src/types.d.ts`](src/types.d.ts)
### Redirects (optional, but recommended ā
)
It is recommended to configure redirects so that AI can use addresses with both `.md` and `.txt` extensions
#### Netlify
`public/_redirects`:
```plaintext
/llms-full.md /llms-full.txt 200!
/llms-full.txt /llms-full.txt 200!
```
<!-- prettier-ignore-start -->
<!-- markdownlint-disable-next-line -->
<sub>Syntax documentation: <https://docs.netlify.com/routing/redirects></sub>
<!-- prettier-ignore-end -->
#### Example Configuration
Here is an example of how to configure the plugin with custom settings:
```ts
import { defineConfig } from 'vitepress'
import llmstxt from 'vitepress-plugin-llms'
export default defineConfig({
vite: {
plugins: [
llmstxt({
generateLLMsFullTxt: false,
ignoreFiles: ['sponsors/*'],
customLLMsTxtTemplate: `# {title}\n\n{foo}`,
title: 'Awesome tool',
customTemplateVariables: {
foo: 'bar'
}
})
]
}
})
```
This configuration does the following:
- `generateLLMsFullTxt: false`: Disables the generation of the `llms-full.txt` file.
- `ignoreFiles: ['sponsors/*']`: Ignores all files in the `sponsors` directory.
- `customLLMsTxtTemplate`: Uses a custom template for the `llms.txt` file.
- `title`: Sets a custom header in `llms.txt`, for your custom variables use `customTemplateVariables`.
- `customTemplateVariables`: Sets custom variables for the template, replaces `{foo}` with `bar`.
## GitAds Sponsored
[](https://gitads.dev/v1/ad-track?source=okineadev/vitepress-plugin-llms@github)
## š Why `vitepress-plugin-llms`?
LLMs (Large Language Models) are great at processing text, but traditional documentation formats can be too heavy and cluttered. `vitepress-plugin-llms` generates raw Markdown documentation that LLMs can efficiently process
The file structure in `.vitepress/dist` folder will be as follows:
```plaintext
š .vitepress/dist
āāā ...
āāā llms-full.txt // A file where all the website documentation is compiled into one file
āāā llms.txt // The main file for LLMs with all links to all sections of the documentation for LLMs
āāā markdown-examples.html // A human-friendly version of `markdown-examples` section in HTML format
āāā markdown-examples.md // A LLM-friendly version of `markdown-examples` section in Markdown format
```
### ā
Key Features
- ā”ļø Easy integration with VitePress
- ā
Zero config required, everything works out of the box
- āļø Customizable
- š¤ An LLM-friendly version is generated for each page
- š Generates `llms.txt` with section links
- š Generates `llms-full.txt` with all content in one file
## š [llmstxt.org](https://llmstxt.org/) Standard
This plugin follows the [llmstxt.org](https://llmstxt.org/) standard, which defines the best practices for LLM-friendly documentation.
## ⨠Projects where this plugin is used
| Project | Stars | `llms.txt` | `llms-full.txt` |
| -------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: | :-------------------------------------------------------------: |
| [**Slidev**](https://sli.dev/) | [](https://github.com/slidevjs/slidev) | [llms.txt](https://sli.dev/llms.txt) | [llms-full.txt](https://sli.dev/llms-full.txt) |
| [**Elysia**](https://elysiajs.com/) | [](https://github.com/elysiajs/elysia) | [llms.txt](https://elysiajs.com/llms.txt) | [llms-full.txt](https://elysiajs.com/llms-full.txt) |
| [**shadcn/vue**](https://shadcn-vue.com/) | [](https://github.com/unovue/shadcn-vue) | [llms.txt](https://shadcn-vue.com/llms.txt) | [llms-full.txt](https://shadcn-vue.com/llms-full.txt) |
| [**Fantastic-admin**](https://fantastic-admin.hurui.me/) | [](https://github.com/fantastic-admin/basic) | [llms.txt](https://fantastic-admin.hurui.me/llms.txt) | [llms-full.txt](https://fantastic-admin.hurui.me/llms-full.txt) |
| [**Vue Macros**](https://vue-macros.dev/) | [](https://github.com/vue-macros/vue-macros) | [llms.txt](https://vue-macros.dev/llms.txt) | [llms-full.txt](https://vue-macros.dev/llms-full.txt) |
| [**oRPC**](https://orpc.unnoq.com/) | [](https://github.com/unnoq/orpc) | [llms.txt](https://orpc.unnoq.com/llms.txt) | [llms-full.txt](https://orpc.unnoq.com/llms-full.txt) |
| [**GramIO**](https://gramio.dev/) | [](https://github.com/gramiojs/gramio) | [llms.txt](https://gramio.dev/llms.txt) | [llms-full.txt](https://gramio.dev/llms-full.txt) |
## ā¤ļø Support
If you like this project, consider supporting it by starring ā it on GitHub, sharing it with your friends, or [buying me a coffee ā](https://github.com/okineadev/vitepress-plugin-llms?sponsor=1)
## š¤ Contributing
You can read the instructions for contributing here - [CONTRIBUTING.md](./CONTRIBUTING.md)
## š License
[MIT License](./LICENSE) Ā© 2025-present [Yurii Bogdan](https://github.com/okineadev)
## šØāš Contributors
Thank you to everyone who helped with the project!
