mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 02:38:32 +07:00
4113721ae1e92aa529665cf9c59a19e504c25da1
The supabase/embeddings-generator action was failing with: ENOENT: no such file or directory, scandir './pages' This repo uses content/docs/ for its mdx documentation files, not pages/. Updated the path accordingly.
LibreChat Docs
The official documentation site for LibreChat, built with Next.js 15 and Fumadocs.
Tech Stack
- Framework: Next.js 15 (App Router)
- Docs Engine: Fumadocs (fumadocs-mdx + fumadocs-ui)
- Styling: Tailwind CSS
- Icons: Lucide React
- Package Manager: Bun
Local Development
Prerequisites: Bun 1.0+
- Clone the repository
- Copy
.env.templateto.env.localand fill in any optional values - Install dependencies:
bun i - Start the dev server (uses Turbopack):
bun dev - Open http://localhost:3333
Note: Always run bun run build before opening a PR to catch build errors early.
Project Structure
app/ # Next.js App Router pages (docs, blog, changelog, API routes)
content/
docs/ # Documentation pages (MDX)
blog/ # Blog posts (MDX)
changelog/ # Changelog entries (MDX)
components/ # React components (home, UI, icons, etc.)
lib/ # Utilities, icons, MDX components, Nextra shims
public/ # Static assets
pages/ # Legacy pages (migrating to app/)
source.config.ts # Fumadocs content collections config
Documentation Content
Docs live in content/docs/ and are organized by section. Each directory has a meta.json that controls sidebar navigation:
{
"title": "Section Title",
"icon": "Wrench",
"pages": ["index", "page-one", "page-two"]
}
Only pages listed in the pages array appear in the sidebar.
Scripts
| Command | Description |
|---|---|
bun dev |
Start dev server on port 3333 (Turbopack) |
bun run build |
Production build |
bun start |
Start production server on port 3333 |
bun run lint |
Run ESLint |
bun run prettier |
Format code with Prettier |
bun run analyze |
Analyze production bundle size |
License
Languages
MDX
83.8%
TypeScript
14.9%
CSS
0.6%
JavaScript
0.6%
Shell
0.1%