.well-known — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited .well-known (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<img width="2400" height="600" alt="hero-b" src="https://github.com/user-attachments/assets/382a0209-262d-42b0-8107-e0997c568d13" />
Repo for langfuse.com. Built with Fumadocs and Next.js App Router.
Pre-requisites: Node.js 22, pnpm v9.5.0
To use Node 22 (e.g. with nvm): nvm install 22 then nvm use (or nvm use 22). The repo includes an .nvmrc so nvm use picks 22 automatically.
pnpm i to install the dependencies.pnpm dev to start the development server on localhost:3333This repo uses Prettier for formatting supported source and content files, including Markdown and MDX.
pnpm run format to format files.pnpm run format:check to check formatting in CI mode.Markdown prose wrapping is preserved and embedded-language formatting is disabled in .prettierrc.json so formatting does not change linebreak-sensitive Markdown rendering or fenced code snippet contents.
All Jupyter notebooks are in the cookbook/ directory. For JS/TS notebooks we use Deno, see Readme in cookbook folder for more details.
To render them within the documentation site, we convert them to markdown using jupyter nbconvert, move them to the right path in the content/guides/cookbook/ directory where they are picked up by Fumadocs.
Steps after updating notebooks:
bash scripts/update_cookbook_docs.sh (uv will automatically handle dependencies)Note: All .md or .mdx files that contain "source: ⚠️ Jupyter Notebook" on top in content/guides/cookbook/ are automatically generated from Jupyter notebooks. Do not edit them manually — they will be overwritten. Always edit the Jupyter notebooks and run the conversion script.
We store all images in the public/images/ directory. To use them in the markdown files, use the absolute path /images/your-image.png.
We use a bucket on Cloudflare R2 to store all video. It is hosted on https://static.langfuse.com/docs-videos. Ping one of the maintainers to upload a video to the bucket and get the src.
To embed a video, use the Video component and set a title and fixed aspect ratio. Point src to the mp4 file in the bucket.
To embed a "gif", actually embed a video and use gifMode (<Video src="" gifMode />). This will look like a gif, but at a much smaller file size and higher quality.
Interested in stack of Q&A docs chatbot? Checkout the blog post for implementation details (all open source)
The docs site uses Inkeep for two separate embeds:
The docs site includes four interconnected features designed to make documentation accessible to LLMs and AI tools:
.md suffix): Append .md to any URL (e.g., /docs.md) to get raw markdown. Built at compile time via scripts/copy_md_sources.js which copies all .mdx/.md files from content/ to public/md-src/ as static .md files with inlined MDX components..md endpoint and copies to clipboard for pasting into ChatGPT/Claude/Cursor./api/md-to-pdf that fetches markdown from .md URLs and converts to PDF using Puppeteer. Used on legal pages (terms, privacy, DPA, etc.)./api/mcp with three tools:searchLangfuseDocs: RAG search via Inkeep APIgetLangfuseDocsPage: Fetches specific page markdown from .md URLsgetLangfuseOverview: Returns llms.txt overviewAll three user-facing features (Copy, PDF, MCP) depend on the same foundation of pre-built static markdown files, making them fast, cacheable, and reliable. See RESEARCH-LLM-FEATURES.md for detailed implementation details.
Run pnpm run analyze to analyze the bundle size of the production build using @next/bundle-analyzer.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.