Handle the case when posthog.__loaded is already true (e.g., during HMR
or React StrictMode remounts). Previously, the init block was skipped
but isInitialized was never set to true, preventing pageview tracking.
Now we check posthog.__loaded first and set isInitialized immediately
if PostHog is already initialized.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add isInitialized state to track when PostHog is ready
- Check posthog.__loaded to prevent double initialization
- Only render pageview tracker after PostHog is loaded
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add 7 changelog entries that were added to fern after initial migration:
- 12-30-25-proxy-binary-data: Binary Data Support for Proxy Execute
- 12-30-25: Webhook Payload V3 announcement
- 12-31-25: Deprecating BEARER_TOKEN auth scheme
- 01-07-26: Consistent Error Response & Union Types
- 01-08-26-mcp-api-key-enforcement: Optional API Key for MCP
- 01-09-26: Tool Enum Name Shortening
- 01-12-26-tool-router-improvements: Tool Router improvements
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add PostHog analytics to the documentation site for tracking pageviews
and user engagement. The integration is optional and only activates
when environment variables are configured.
- Add posthog-js dependency
- Create PostHogProvider component with automatic pageview tracking
- Wrap app layout with PostHogProvider
- Add PostHog env vars to .env.example
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Upgrade Next.js from 16.0.10 to 16.1.0 (latest stable)
- Upgrade eslint-config-next to 16.1.0
- Add turbopack.root config to explicitly set project root
The fumadocs project uses bun independently from the parent monorepo's
pnpm workspaces. Without explicit turbopack.root, Next.js was detecting
both lockfiles and incorrectly inferring the workspace root.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add next-validate-link for MDX link checking
- Create validate-links.ts script covering all doc sources
- Add GitHub workflow to run on PRs with fumadocs changes
- Add redirects for legacy URLs (/api-reference, /rest-api)
- Fix broken links: /tools/github → /toolkits/github
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
CI environments don't have bun installed, causing the generate:docs
script to fail with "bunx: not found". Using npx works universally.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change site prop from "My App" to "Composio"
- Remove unused lang parameter from generateStaticParams
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move planning docs to .claude/decisions/
- Merge CONTRIBUTING.md into README.md
- Add examples.md (from user interviews)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>