diff --git a/contents/docs/llm-analytics/installation/claude-agent-sdk.mdx b/contents/docs/llm-analytics/installation/claude-agent-sdk.mdx
index 50b4277647d7..3923caa8da8a 100644
--- a/contents/docs/llm-analytics/installation/claude-agent-sdk.mdx
+++ b/contents/docs/llm-analytics/installation/claude-agent-sdk.mdx
@@ -2,32 +2,43 @@
title: Claude Agent SDK LLM analytics installation
platformIconName: IconAnthropic
showStepsToc: true
-tableOfContents:
- [
- { url: "install-the-posthog-sdk", value: "Install the PostHog SDK", depth: 1 },
- { url: "install-the-claude-agent-sdk", value: "Install the Claude Agent SDK", depth: 1 },
+tableOfContents: [
{
- url: "initialize-posthog-and-run-a-query",
- value: "Initialize PostHog and run a query",
- depth: 1,
+ url: 'install-the-posthog-sdk',
+ value: 'Install the PostHog SDK',
+ depth: 1,
},
{
- url: "reusable-configuration-with-instrument",
- value: "Reusable configuration with instrument()",
- depth: 1,
+ url: 'install-the-claude-agent-sdk',
+ value: 'Install the Claude Agent SDK',
+ depth: 1,
},
{
- url: "tool-usage-and-multi-turn-conversations",
- value: "Tool usage and multi-turn conversations",
- depth: 1,
+ url: 'initialize-posthog-and-run-a-query',
+ value: 'Initialize PostHog and run a query',
+ depth: 1,
},
{
- url: "multi-turn-conversations-with-history",
- value: "Multi-turn conversations with history",
- depth: 1,
+ url: 'reusable-configuration-with-instrument',
+ value: 'Reusable configuration with instrument()',
+ depth: 1,
},
- { url: "verify-traces-and-generations", value: "Verify traces and generations", depth: 1 },
- ]
+ {
+ url: 'tool-usage-and-multi-turn-conversations',
+ value: 'Tool usage and multi-turn conversations',
+ depth: 1,
+ },
+ {
+ url: 'multi-turn-conversations-with-history',
+ value: 'Multi-turn conversations with history',
+ depth: 1,
+ },
+ {
+ url: 'verify-traces-and-generations',
+ value: 'Verify traces and generations',
+ depth: 1,
+ },
+]
---
-import { ClaudeAgentSDKInstallation } from "onboarding/llm-analytics/claude-agent-sdk.tsx";
-import { OnboardingContentWrapper } from "components/Docs/OnboardingContentWrapper";
-import NotableGenerationProperties from "../_snippets/notable-generation-properties.mdx";
-import { addNextStepsStep } from "./_snippets/shared-helpers.tsx";
+import { ClaudeAgentSDKInstallation } from 'onboarding/llm-analytics/claude-agent-sdk.tsx'
+import { OnboardingContentWrapper } from 'components/Docs/OnboardingContentWrapper'
+import NotableGenerationProperties from '../_snippets/notable-generation-properties.mdx'
+import { addNextStepsStep } from './_snippets/shared-helpers.tsx'
-
+
diff --git a/src/components/Product/MCP/MCPConfig.tsx b/src/components/Product/MCP/MCPConfig.tsx
index 237e910f4fa1..4c30ebbafbee 100644
--- a/src/components/Product/MCP/MCPConfig.tsx
+++ b/src/components/Product/MCP/MCPConfig.tsx
@@ -1,88 +1,72 @@
-import React from "react";
-import { MdxCodeBlock } from "../../CodeBlock";
+import React from 'react'
+import { MdxCodeBlock } from '../../CodeBlock'
-type ConfigVariant =
- | "cursor"
- | "claude-desktop"
- | "windsurf"
- | "vscode"
- | "claude-code"
- | "zed"
- | "codex";
+type ConfigVariant = 'cursor' | 'claude-desktop' | 'windsurf' | 'vscode' | 'claude-code' | 'zed' | 'codex'
interface MCPConfigSnippetProps {
- variant?: ConfigVariant;
+ variant?: ConfigVariant
}
// Native HTTP config for clients that support it (Cursor, VS Code, Zed)
const MCP_SERVER_CONFIG_NATIVE = {
- url: "https://mcp.posthog.com/mcp",
-};
+ url: 'https://mcp.posthog.com/mcp',
+}
// mcp-remote config for clients without native HTTP support (Claude Desktop, Windsurf)
const MCP_SERVER_CONFIG_LEGACY = {
- command: "npx",
- args: ["-y", "mcp-remote@latest", "https://mcp.posthog.com/mcp"],
-};
+ command: 'npx',
+ args: ['-y', 'mcp-remote@latest', 'https://mcp.posthog.com/mcp'],
+}
const EDITOR_CONFIGS = {
- cursor: {
- language: "json",
- content: () => JSON.stringify({ mcpServers: { posthog: MCP_SERVER_CONFIG_NATIVE } }, null, 2),
- },
- "claude-desktop": {
- language: "json",
- content: () => JSON.stringify({ mcpServers: { posthog: MCP_SERVER_CONFIG_LEGACY } }, null, 2),
- },
- windsurf: {
- language: "json",
- content: () => JSON.stringify({ mcpServers: { posthog: MCP_SERVER_CONFIG_LEGACY } }, null, 2),
- },
- vscode: {
- language: "json",
- content: () =>
- JSON.stringify(
- { servers: { posthog: { type: "http", ...MCP_SERVER_CONFIG_NATIVE } } },
- null,
- 2,
- ),
- },
- "claude-code": {
- language: "bash",
- content: () => `claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user`,
- },
- zed: {
- language: "json",
- content: () =>
- JSON.stringify(
- { context_servers: { posthog: { enabled: true, ...MCP_SERVER_CONFIG_NATIVE } } },
- null,
- 2,
- ),
- },
- codex: {
- language: "bash",
- content: () => `codex mcp add posthog --url https://mcp.posthog.com/mcp`,
- },
-} as const;
+ cursor: {
+ language: 'json',
+ content: () => JSON.stringify({ mcpServers: { posthog: MCP_SERVER_CONFIG_NATIVE } }, null, 2),
+ },
+ 'claude-desktop': {
+ language: 'json',
+ content: () => JSON.stringify({ mcpServers: { posthog: MCP_SERVER_CONFIG_LEGACY } }, null, 2),
+ },
+ windsurf: {
+ language: 'json',
+ content: () => JSON.stringify({ mcpServers: { posthog: MCP_SERVER_CONFIG_LEGACY } }, null, 2),
+ },
+ vscode: {
+ language: 'json',
+ content: () => JSON.stringify({ servers: { posthog: { type: 'http', ...MCP_SERVER_CONFIG_NATIVE } } }, null, 2),
+ },
+ 'claude-code': {
+ language: 'bash',
+ content: () => `claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user`,
+ },
+ zed: {
+ language: 'json',
+ content: () =>
+ JSON.stringify({ context_servers: { posthog: { enabled: true, ...MCP_SERVER_CONFIG_NATIVE } } }, null, 2),
+ },
+ codex: {
+ language: 'bash',
+ content: () => `codex mcp add posthog --url https://mcp.posthog.com/mcp`,
+ },
+} as const
const createMdxCodeBlock = (language: string, content: string) => ({
- props: {
- mdxType: "pre" as const,
- children: {
- key: null,
- props: {
- className: `language-${language}`,
- mdxType: "code" as const,
- children: content,
- },
+ props: {
+ mdxType: 'pre' as const,
+ children: {
+ key: null,
+ props: {
+ className: `language-${language}`,
+ mdxType: 'code' as const,
+ children: content,
+ },
+ },
},
- },
-});
+})
-export const MCPConfigSnippet: React.FC = ({ variant = "cursor" }) => {
- const config = EDITOR_CONFIGS[variant];
- return {createMdxCodeBlock(config.language, config.content())};
-};
+export const MCPConfigSnippet: React.FC = ({ variant = 'cursor' }) => {
+ const config = EDITOR_CONFIGS[variant]
+ return {createMdxCodeBlock(config.language, config.content())}
+}
-export default MCPConfigSnippet;
+export default MCPConfigSnippet
diff --git a/src/hooks/featureDefinitions/platform.tsx b/src/hooks/featureDefinitions/platform.tsx
index 67302f414cb3..c4816ed79f2b 100644
--- a/src/hooks/featureDefinitions/platform.tsx
+++ b/src/hooks/featureDefinitions/platform.tsx
@@ -185,7 +185,8 @@ export const platformFeatures = {
},
imports: {
name: 'Warehouse import',
- description: 'Import data from external warehouses and sources like Stripe, HubSpot, and S3 for unified analysis',
+ description:
+ 'Import data from external warehouses and sources like Stripe, HubSpot, and S3 for unified analysis',
},
},
},
diff --git a/src/navs/index.js b/src/navs/index.js
index 32a0282f5ffe..0fda60ddf9e4 100644
--- a/src/navs/index.js
+++ b/src/navs/index.js
@@ -1232,7 +1232,7 @@ export const handbookSidebar = [
name: 'Sales, CS & Onboarding',
url: '',
children: [
- {
+ {
name: 'Overview',
url: '',
children: [
@@ -5527,6 +5527,11 @@ export const docsMenu = {
url: '/docs/llm-analytics/installation/anthropic',
icon: 'IconAnthropic',
},
+ {
+ name: 'Claude Agent SDK',
+ url: '/docs/llm-analytics/installation/claude-agent-sdk',
+ icon: 'IconAnthropic',
+ },
{
name: 'Google',
url: '/docs/llm-analytics/installation/google',
diff --git a/src/pages/dpa.tsx b/src/pages/dpa.tsx
index 53dae45b7157..89664a3ab33c 100644
--- a/src/pages/dpa.tsx
+++ b/src/pages/dpa.tsx
@@ -276,9 +276,7 @@ function DpaGenerator() {
Gen Z slang edition
-
- Compliance, but make it bestie energy
-
+ Compliance, but make it bestie energy
@@ -745,8 +743,8 @@ function DpaGenerator() {
Sub-processors (the supporting cast)
We work with a small lineup of other companies (cloud hosting, the usual suspects) to
- help run the platform. They're vetted, they're on the same vibe re: data protection,
- and we'll keep you posted if anyone new joins the cast.
+ help run the platform. They're vetted, they're on the same vibe re: data protection, and
+ we'll keep you posted if anyone new joins the cast.
International transfers (passport era)
@@ -769,9 +767,7 @@ function DpaGenerator() {
keeping screenshots, no clinging to receipts. We move on like grown adults.
-
- Cool? Cool. Sign below and we're locked in 💯
-
+ Cool? Cool. Sign below and we're locked in 💯
diff --git a/src/pages/teams/team-ben.tsx b/src/pages/teams/team-ben.tsx
index 44f9d614dbf7..eff325d64d1f 100644
--- a/src/pages/teams/team-ben.tsx
+++ b/src/pages/teams/team-ben.tsx
@@ -223,10 +223,7 @@ export default function TeamBenPage(): JSX.Element {
const teamLength = bens.length
const pineapplePercentage =
- teamLength > 0 &&
- Math.round(
- (bens.filter((p: any) => p.pineappleOnPizza).length / teamLength) * 100
- )
+ teamLength > 0 && Math.round((bens.filter((p: any) => p.pineappleOnPizza).length / teamLength) * 100)
const heightToHedgehogs = 0
const hedgehogPercentage = 0