Open-source project
LibreChat-AI/docs avatar
LibreChat-AI/docs

The repo behind librechat.ai, and what a docs site owes its readers

Official documentation, blog, and changelog for LibreChat. Built with Next.js and Fumadocs. Live at librechat.ai

685 stars499 forksMDXMIT

At a glance

What is it?
The LibreChat documentation repository is a Next.js and Fumadocs application with MDX content, client-side Orama search across 14 languages, an in-page AI assistant and a changelog, and it is the place to file documentation issues while code issues go to the main app repository.
Who is it for?
LibreChat-AI/docs fits a documentation contributor or a self-hoster reading LibreChat's guides, since it holds the setup, configuration and deployment material, the blog and the changelog, with search that works in the browser across 14 languages and an assistant that answers from the docs themselves.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly MDX, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the repository actually is

This repository powers www.librechat.ai, and it is the docs, the guides, the blog and the changelog for LibreChat, which the project describes as the open-source, self-hostable AI chat platform. The important structural fact is that the documentation and the product are in different repositories, and the project is explicit about the boundary. If you are looking for the LibreChat app itself, it lives in LibreChat-AI/LibreChat, and you should open code and product issues there, while documentation issues go here. That kind of split is common in projects with a large public site, and it only causes confusion if it is not stated, which here it is, in a callout right under the introduction. The licence is MIT, the site is Next.js 16, and the content is authored in MDX.

The changelog is a first class part of the site

The landing content of the repository is a detailed what is new section for LibreChat v0.8.8-rc2, and it runs to twenty areas of the product, each with several items. Agent run control is the headline, with the ability to interrupt an Agent before visible answer text, steer runs with files and quoted excerpts, durably queue follow-ups, and recover saved partial work. There is human-in-the-loop support that streams up to four related questions and pauses for input or tool approval, and a Unified Agent Builder that configures Skills, MCP, Code Interpreter, orchestration and per-tool settings in one Tools marketplace. Durable Agent automation covers bound child actors, expected-action receipts, per-actor mailboxes and durable human pauses. The list also covers background tools, Code Interpreter workflows, Agent extensibility, scheduled chats, memory and context handling, projects and navigation, sharing and artifacts, web search, security and authentication, models and reasoning, Langfuse observability, administration, and streaming and reliability. The full changelog is published on the site under a versioned URL, which means the release notes are versioned pages rather than a file in a releases feed.

Search that runs entirely in the browser

The instant search is described as fast and fully client-side full-text search powered by Orama, with a prebuilt static index per language. That design choice has real consequences for a documentation site. A static index means the search does not need a backend to answer a query, so it works without a network round trip per keystroke and the site does not need a search service to keep running. The cost is that the index has to be built for each language, and it is prebuilt rather than built on demand, so a content change means a rebuild before the new text is searchable. The site declares 14 languages, with English as the source and the rest as translations, and the search index follows that split. The search dependencies are pinned in the package manifest, with @orama/orama and @orama/tokenizers both at 3.1.18.

An in-page assistant grounded in the docs

The Ask AI feature is an in-page assistant built on the Vercel AI SDK with OpenRouter as the provider, and the project says it answers questions grounded in the docs. That grounding claim is the whole point of putting the assistant inside a documentation site rather than sending people to a general chatbot. The dependencies show the shape of it, with @ai-sdk/react at version 3.0.143 and the OpenRouter provider package @openrouter/ai-sdk-provider at 2.3.3. There is also a script for it in the package manifest, web-bot-auth:keygen, which runs node scripts/generate-web-bot-auth-key.mjs, so the assistant has an authentication key that has to be generated rather than shipped. A tool that answers questions about your documentation is a good idea in principle, and it is also the kind of feature that can quietly answer from something other than the docs, so the grounding claim deserves attention rather than acceptance.

Running the site locally

The package manifest defines the developer scripts, and the dev server runs on port 3333 with an enlarged heap. The relevant entries are the dev, build and start scripts.

json
    "dev": "cross-env NODE_OPTIONS=--max-old-space-size=8192 next dev --webpack -p 3333",
    "build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 next build --webpack",
    "start": "next start -p 3333",

The 8192 megabyte heap setting on both dev and build is the kind of detail that tells you the build is memory hungry, which is normal for a large MDX content tree compiled by Next.js. The package manager is pinned to pnpm at 9.15.9 and Node must be at least 22 and below 25. After the build, a postbuild script runs node scripts/clean-cache.cjs. There are also dedicated scripts for image optimisation, docs archiving with tsx, and screenshots with a capture script.

The test and lint pipeline is thorough

Quality tooling is extensive, and the scripts show the shape of it. Unit tests run with vitest run and there is a watch mode, with a vitest.config.ts in the repository, plus an end-to-end directory with a playwright.config.ts, so there are browser tests alongside the unit tests. Type checking is pnpm typecheck, which runs fumadocs-mdx first and then tsc with noEmit, meaning the MDX pipeline is exercised as part of the type check rather than separately. Linting is eslint with a cache and max-warnings 0, so a warning fails the run, and there is a separate prettier check with its own cache and ignore paths, plus a write mode. A sync:config-version script and a check:config-version counterpart keep a configuration version consistent across files, and the check mode is what runs in CI.

Translation and content tooling

The repository handles translation as a scripted task rather than by hand, with a translate script that runs npx tsx scripts/translate.ts. That is a sensible approach for a site that maintains 14 languages from an English source, because a script can be re-run when the source changes, and the coverage of a translation is then a question about the script's output rather than about a pile of files. A lycheeignore file is present, which is the ignore list for the link checker, so broken links are treated as a build concern. Husky is set up through the prepare script, which installs the hooks unless the environment is CI, and .prettierignore and .prettierrc.js sit alongside an eslint.config.mjs, so formatting and linting have distinct but related configs. The content itself lives in content/ and docs/, with a source.config.ts for the Fumadocs content pipeline and a proxy.ts at the root.

Where the boundary with the app repository matters

The most useful thing about this repository for an outside reader is that it tells you where everything else lives. The product is at LibreChat-AI/LibreChat, and this site documents it. The features list covers setup, configuration, deployment and every LibreChat feature, and the blog and changelog are authored in MDX with release notes and long-form articles. There is a DeepWiki badge and a Discord invite in the header, so community questions and documentation questions have different homes, and the table of contents separates features, tech stack, getting started, project structure, writing documentation, available scripts and contributing. The licence is MIT, and the last push to the repository was on 2026-10-19, so the site is being worked on daily even though the repository publishes no GitHub releases of its own, since it is deployed rather than versioned.

Editorial conclusion

LibreChat-AI/docs fits a documentation contributor or a self-hoster reading LibreChat's guides, since it holds the setup, configuration and deployment material, the blog and the changelog, with search that works in the browser across 14 languages and an assistant that answers from the docs themselves. It does not fit someone looking for the LibreChat application, because the project states plainly that the app itself lives in a separate repository and that code and product issues belong there, with documentation issues here. It also does not fit a site that needs content to be editable without a pull request, since the content is authored in MDX in the repository. Before you open an issue, check which repository it belongs in, read the contributing section for the project structure and the writing conventions, and run pnpm typecheck and pnpm lint locally before you push, because both are part of the continuous integration path.

Frequently asked questions

Where do I report a bug in LibreChat itself?

The project states that the LibreChat app lives in the LibreChat-AI/LibreChat repository, and that code and product issues belong there, while documentation issues belong in this repository. The documentation site itself is at www.librechat.ai.

How does the search on librechat.ai work?

It is fully client-side full-text search powered by Orama, with a prebuilt static index per language. The site covers 14 languages, with English as the source and the rest as translations.

What tech stack does the librechat.ai site use?

It is a Next.js 16 application built on Fumadocs with content authored in MDX, using pnpm 9.15.9 and Node 22 or newer below 25. The dev and start scripts serve the site on port 3333, and the build runs with an 8GB heap.

How do I contribute to the LibreChat documentation?

Content is authored in MDX in the content/ and docs/ directories, and the project has a writing documentation section, a project structure section and a contributing section. The repository runs vitest unit tests, Playwright end-to-end tests, a typecheck that runs fumadocs-mdx before tsc, and eslint with max-warnings 0.

Official sources

  1. Issues
  2. LibreChat-AI/docs on GitHub
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/librechat-ai-docs.svg)](https://hysenlabs.com/projects/librechat-ai-docs)

Was this useful?