Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
aff68d6
Merge pull request #37 from Altalogy/main-upstream
ArkuVonSymfon Mar 12, 2026
fc0987c
Merge branch 'main' of https://github.com/Altalogy/langfuse-docs
ArkuVonSymfon Mar 23, 2026
e9c2216
prepare layout for redesign
ArkuVonSymfon Mar 25, 2026
f9d586e
add design system
ArkuVonSymfon Mar 26, 2026
bfbfd4a
setup rive
ArkuVonSymfon Mar 27, 2026
23cb416
Merge pull request #41 from Altalogy/rive-test
ArkuVonSymfon Mar 27, 2026
7cca867
cleanup components
ArkuVonSymfon Mar 27, 2026
2727ffd
add box and fix layout styling
ArkuVonSymfon Mar 27, 2026
c96c765
add homepage
ArkuVonSymfon Apr 1, 2026
5b15246
feat: icon buttons
tomaszantas Apr 1, 2026
a46fbac
button styles:
tomaszantas Apr 1, 2026
20c59fb
fixes
tomaszantas Apr 1, 2026
c1847d0
nitpicks
tomaszantas Apr 1, 2026
6d59bf3
Merge pull request #42 from Altalogy/feat/icon-buttons
ArkuVonSymfon Apr 1, 2026
9410977
feat: buttons styling
tomaszantas Apr 1, 2026
7c5c8a2
styling home desktop
ArkuVonSymfon Apr 1, 2026
7890422
Merge pull request #43 from Altalogy/feat/docs-btn-styling
ArkuVonSymfon Apr 1, 2026
7d3b262
Merge branch 'redesign/layout' into redesign/home-structure
ArkuVonSymfon Apr 1, 2026
fcf0a5c
Merge pull request #44 from Altalogy/redesign/home-structure
ArkuVonSymfon Apr 1, 2026
418d3aa
add visuals and load motion to sections
ArkuVonSymfon Apr 2, 2026
d2e3b1f
fix sidebars scroll
ArkuVonSymfon Apr 2, 2026
960fac4
add hero-bg
ArkuVonSymfon Apr 2, 2026
e3678ad
add layout responsive
ArkuVonSymfon Apr 3, 2026
99a3219
Merge pull request #45 from Altalogy/redesign/homepage-rwd
ArkuVonSymfon Apr 3, 2026
a262393
made homepage rwd
ArkuVonSymfon Apr 3, 2026
7a147a5
Merge pull request #46 from Altalogy/redesign/homepage-rwd
ArkuVonSymfon Apr 3, 2026
7af5ba8
feat: docs components (#47)
tomaszantas Apr 7, 2026
7ceb189
feat: docs layout sidebar stylings (#48)
tomaszantas Apr 8, 2026
49efd2d
feat: other buttons (#50)
tomaszantas Apr 9, 2026
96b76d6
feat: home force light mode (#51)
tomaszantas Apr 9, 2026
465ab61
tweaks of pattern usage
ArkuVonSymfon Apr 9, 2026
c186617
Merge branch 'redesign/layout' into redesign/home-tweaks
ArkuVonSymfon Apr 9, 2026
fbfadee
Merge pull request #52 from Altalogy/redesign/home-tweaks
ArkuVonSymfon Apr 9, 2026
141bd59
fix docs layout sidebar link hover
ArkuVonSymfon Apr 9, 2026
291679f
fix styling of stripes, qa and sidebars
ArkuVonSymfon Apr 9, 2026
e3736ef
Merge pull request #54 from Altalogy/redesign/home-tweaks
ArkuVonSymfon Apr 9, 2026
012e82a
Update pattern.png
ArkuVonSymfon Apr 10, 2026
84d6000
feat: docs dropdown (#55)
tomaszantas Apr 10, 2026
5e407d7
update main colors and pattern
ArkuVonSymfon Apr 10, 2026
3099a9a
Merge branch 'redesign/layout' of https://github.com/Altalogy/langfus…
ArkuVonSymfon Apr 10, 2026
92b4342
update flashlight animation
ArkuVonSymfon Apr 10, 2026
606aaa7
feat: callout styling update (#56)
tomaszantas Apr 10, 2026
4fbc79c
feat/right-aside-style-update (#57)
tomaszantas Apr 10, 2026
4bd9ad5
qa tweaks part 1
ArkuVonSymfon Apr 10, 2026
7f5113e
Merge pull request #58 from Altalogy/redesign/qa
ArkuVonSymfon Apr 10, 2026
53c40fa
qa tweaks part 2
ArkuVonSymfon Apr 10, 2026
ffbf57b
Merge branch 'redesign/layout' into redesign/qa
ArkuVonSymfon Apr 10, 2026
edd4616
Merge pull request #59 from Altalogy/redesign/qa
ArkuVonSymfon Apr 10, 2026
eb7ef37
feat: fumadocs inkeep (#49)
tomaszantas Apr 13, 2026
aa06a50
feat: docs qa 2 (#60)
tomaszantas Apr 13, 2026
888d171
fix pattern animation on docs in dark mode
ArkuVonSymfon Apr 13, 2026
b87ebaa
feat: force light and sidebar underlines (#61)
tomaszantas Apr 13, 2026
3f09fd5
feat: docs callout dark (#62)
tomaszantas Apr 13, 2026
39224d1
Update langfuse_axonometric.riv
ArkuVonSymfon Apr 13, 2026
71a0eb9
tweaks after second QA
ArkuVonSymfon Apr 13, 2026
b76fa67
feat: home text edtis (#63)
tomaszantas Apr 13, 2026
cf46b8f
feat: design qa t3 (#65)
tomaszantas Apr 14, 2026
32d44ae
Merge branch 'redesign/layout' into redesign/qa-2
ArkuVonSymfon Apr 14, 2026
96c1a40
Merge pull request #64 from Altalogy/redesign/qa-2
ArkuVonSymfon Apr 14, 2026
a1b6bc8
Merge remote-tracking branch 'upstream/main' into redesign/layout
ArkuVonSymfon Apr 14, 2026
c708690
cleanup logos
ArkuVonSymfon Apr 14, 2026
5b342cb
Update generate-default-og-png.mjs
ArkuVonSymfon Apr 14, 2026
35eeede
fix: og font
tomaszantas Apr 14, 2026
40c3bc9
rebase: clean up 1
tomaszantas Apr 14, 2026
aa3c5fd
update images in feature tabs
ArkuVonSymfon Apr 14, 2026
19e785e
update content
ArkuVonSymfon Apr 14, 2026
3e731ab
feat: faq content update (#66)
tomaszantas Apr 14, 2026
c7b6b56
feat: feature tabs - name updates (#67)
tomaszantas Apr 14, 2026
75216d5
update icons
ArkuVonSymfon Apr 14, 2026
9be9d65
feat: home update links (#68)
tomaszantas Apr 14, 2026
47a73ab
tweaks style and links
ArkuVonSymfon Apr 14, 2026
e4fffd3
Merge branch 'redesign/layout' of https://github.com/Altalogy/langfus…
ArkuVonSymfon Apr 14, 2026
4695934
feat: home text edits (#69)
tomaszantas Apr 14, 2026
7556cc6
fix: shortcut key on mobile (#70)
tomaszantas Apr 14, 2026
6c16c2a
Update RiveSection.tsx
ArkuVonSymfon Apr 14, 2026
c6d108c
Merge branch 'redesign/layout' of https://github.com/Altalogy/langfus…
ArkuVonSymfon Apr 14, 2026
87c264c
feat: technical updates (#71)
tomaszantas Apr 15, 2026
d922467
feat: bundle clean up (#72)
tomaszantas Apr 15, 2026
f4b0feb
fix: cookbook canonical urls (#75)
tomaszantas Apr 15, 2026
c9715ef
feat: 404 page
tomaszantas Apr 15, 2026
4775021
fix typescript
tomaszantas Apr 15, 2026
834af82
Merge pull request #76 from Altalogy/feat/404-page
ArkuVonSymfon Apr 15, 2026
fd54126
fix runtime sidebar-title support
ArkuVonSymfon Apr 15, 2026
c4902a7
fix custom registry and deployment failed bug
ArkuVonSymfon Apr 15, 2026
08b5be5
restore copy button to enterprise
ArkuVonSymfon Apr 15, 2026
630d2cf
Update not-found.tsx
ArkuVonSymfon Apr 15, 2026
0d1d94b
Merge pull request #77 from Altalogy/technical-issues
ArkuVonSymfon Apr 15, 2026
b5f558b
fix: 404 clean up
tomaszantas Apr 15, 2026
b796979
fix: design review round 1 (#78)
ArkuVonSymfon Apr 15, 2026
b70f995
LFE-9278-fix-ui-bits-tabber (#79)
felixkrrr Apr 16, 2026
b7a11bf
feat: allow for images with 100 quality (#81)
tomaszantas Apr 16, 2026
49ed13b
fix: clean up sections registry (#82)
tomaszantas Apr 16, 2026
71da02f
chore: remove nextra mentions and reports
tomaszantas Apr 16, 2026
0c81166
fix: links selection in nav tree and theme switch (#83)
tomaszantas Apr 16, 2026
6775d3b
fix: prevent undefined theme from being captured
tomaszantas Apr 16, 2026
154ea91
fix: theme and home (#84)
tomaszantas Apr 16, 2026
4e2a3b0
fix: home mobile clean up (#85)
tomaszantas Apr 16, 2026
8c5c63b
Blog Rebuild (#80)
felixkrrr Apr 17, 2026
329f208
feat: home updates (#86)
tomaszantas Apr 17, 2026
f2f38e0
fix: remove sidebar-provider import (#88)
tomaszantas Apr 17, 2026
f4b55fd
feat: ask ai chat adjustments (#89)
tomaszantas Apr 17, 2026
ea71c60
create ai first CTA (#87)
felixkrrr Apr 18, 2026
9332980
fix: design review round 2 (#91)
tomaszantas Apr 18, 2026
0f9cbae
redesign pricing page (#90)
felixkrrr Apr 18, 2026
bcf7513
fix: dedicated_app_sections
tomaszantas Apr 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .agents/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ This repository powers the Langfuse website hosted on `langfuse.com`, including
## Key config files

- `next.config.mjs` — Next.js config and redirects.
- `theme.config.tsx` — Nextra theme configuration.
- `source.config.ts` — declares all Fumadocs content collections (docs, blog, changelog, integrations, marketing, …).
- `lib/source.ts` — exports a `loader` for each collection.
- `lib/section-registry.ts` — maps URL slugs to layout types; all derived routing sets live here. Do not hardcode slugs elsewhere.
- `tailwind.config.js` — Tailwind setup.
- `components.json` — shadcn/ui component config.

Expand Down
7 changes: 4 additions & 3 deletions .agents/cursor/rules/_general-rules.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@ alwaysApply: true
# General rules

- This is the documentation for the Langfuse website.
- We use Nextra.site, v3, docs: https://nextra-v2-7hslbun8z-shud.vercel.app/
- All pages are in the /pages folder and rendered by Nextra.site.
- We use Fumadocs (App Router). Docs: https://www.fumadocs.dev/docs
- Content lives in the /content folder, organized by section (docs, blog, changelog, guides, etc.).
- App routes are in the /app folder.
- Reusable markdown components are in the /components-mdx folder.
- The devserver is running on http://localhost:3333.

## Frontend

- When using tailwindcss, never use explicit colors, always use the default semantic color tokens introduced by shadcn/ui.
- When using tailwindcss, never use explicit colors, always use the default semantic color tokens.
2 changes: 1 addition & 1 deletion .agents/skills/customer-story-setup/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: customer-story-setup
description: >-
Converts draft customer-story Markdown into Langfuse website MDX (Nextra),
Converts draft customer-story Markdown into Langfuse website MDX (Fumadocs),
collects missing metadata and assets, wires meta.json and authors. Use when
adding or converting a customer case study, user story, or /users page, or
when the user mentions customer story setup, cresta/canva-style posts, or
Expand Down
13 changes: 0 additions & 13 deletions .github/workflows/nextjs_bundle_analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,6 @@ jobs:

- run: pnpm install

# DO NOT CACHE DUE TO NEXTRA CACHING ISSUES
# - name: Restore next build
# uses: actions/cache@v3
# id: restore-build-cache
# env:
# cache-name: cache-next-build
# with:
# # if you use a custom build directory, replace all instances of `.next` in this file with your build directory
# # ex: if your app builds to `dist`, replace `.next` with `dist`
# path: .next/cache
# # change this if you prefer a more strict cache
# key: ${{ runner.os }}-build-${{ env.cache-name }}

- name: Build next.js app
# change this if your site requires a custom build command
run: ./node_modules/.bin/next build
Expand Down
98 changes: 0 additions & 98 deletions MIGRATION.md

This file was deleted.

4 changes: 2 additions & 2 deletions app/(home)/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Layout } from "@/components/layout";
import { HomeLayout } from "@/components/layout";

export default function HomeLayoutRoute({
children,
}: {
children: React.ReactNode;
}) {
return <Layout>{children}</Layout>;
return <HomeLayout>{children}</HomeLayout>;
}
41 changes: 1 addition & 40 deletions app/(home)/page.tsx
Original file line number Diff line number Diff line change
@@ -1,46 +1,7 @@
import { Home } from "@/components/home";
import { usersSource, changelogSource } from "@/lib/source";
import { sortCustomerStoriesByMetaOrder } from "@/lib/sortCustomerStoriesByMeta";
import type { CustomerStory } from "@/components/customers/CustomerCarousel";
import type { ChangelogItem } from "@/components/home/Changelog";

export default function HomePage() {
const customerStories: CustomerStory[] = sortCustomerStoriesByMetaOrder(
usersSource.getPages().map((page) => ({
route: page.url,
frontMatter: {
title: page.data.title,
description: page.data.description,
customerLogo: page.data.customerLogo ?? undefined,
customerLogoDark: page.data.customerLogoDark ?? undefined,
customerQuote: page.data.customerQuote ?? undefined,
quoteAuthor: page.data.quoteAuthor ?? undefined,
quoteRole: page.data.quoteRole ?? undefined,
quoteCompany: page.data.quoteCompany ?? undefined,
quoteAuthorImage: page.data.quoteAuthorImage ?? undefined,
showInCustomerIndex: page.data.showInCustomerIndex ?? undefined,
},
})),
);

const changelogItems: ChangelogItem[] = changelogSource
.getPages()
.filter((page) => page.data.title && page.data.date)
.sort(
(a, b) =>
new Date(a.data.date as string).getTime() -
new Date(b.data.date as string).getTime()
)
.reverse()
.slice(0, 20)
.map((page) => ({
route: page.url,
title: page.data.title ?? null,
author: (page.data.author as string | undefined) ?? null,
date: new Date(page.data.date as string).toISOString(),
}));

return (
<Home customerStories={customerStories} changelogItems={changelogItems} />
<Home />
);
}
18 changes: 18 additions & 0 deletions app/(pricing)/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import type { ReactNode } from "react";
import { HomeLayout } from "@/components/layout";

/**
* Shared layout for the pricing pages (/pricing and /pricing-self-host).
* Renders the default HomeLayout but without the right aside — the
* pricing content spans the full main area under the navbar.
*/
export default function PricingLayout({ children }: { children: ReactNode }) {
return (
<HomeLayout
showAside={false}
footerClassName="md:max-w-none xl:max-w-none px-4 sm:px-6 md:px-8"
>
{children}
</HomeLayout>
);
}
12 changes: 12 additions & 0 deletions app/(pricing)/pricing-self-host/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import type { Metadata } from "next";
import { PricingPage } from "@/components/home/pricing";

export const metadata: Metadata = {
title: "Self-Hosted Pricing",
description:
"Deploy Langfuse OSS today. Upgrade to Enterprise at any time.",
};

export default function PricingSelfHost() {
return <PricingPage isPricingPage initialVariant="selfHosted" />;
}
12 changes: 12 additions & 0 deletions app/(pricing)/pricing/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import type { Metadata } from "next";
import { PricingPage } from "@/components/home/pricing";

export const metadata: Metadata = {
title: "Pricing",
description:
"Simple pricing for projects of all sizes. Get started on our Hobby plan without a credit card.",
};

export default function Pricing() {
return <PricingPage isPricingPage />;
}
58 changes: 0 additions & 58 deletions app/(wide)/WideSectionPage.tsx

This file was deleted.

20 changes: 0 additions & 20 deletions app/(wide)/layout.tsx

This file was deleted.

10 changes: 0 additions & 10 deletions app/(wide)/pricing-self-host/page.tsx

This file was deleted.

10 changes: 0 additions & 10 deletions app/(wide)/pricing/page.tsx

This file was deleted.

10 changes: 0 additions & 10 deletions app/(wide)/startups/page.tsx

This file was deleted.

10 changes: 0 additions & 10 deletions app/(wide)/talk-to-us/page.tsx

This file was deleted.

10 changes: 0 additions & 10 deletions app/(wide)/watch-demo/page.tsx

This file was deleted.

Loading