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