diff --git a/content/docs/android/vibe-coding-guide.mdx b/content/docs/android/vibe-coding-guide.mdx
deleted file mode 100644
index ab9ff378..00000000
--- a/content/docs/android/vibe-coding-guide.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Superwall Android Vibe Coding Guide"
-includeSource: false
----
-
-../../shared/vibe-coding-guide-base.mdx
-
-# Install the SDK
-./quickstart/install.mdx
-
-# Configure the SDK
-./quickstart/configure.mdx
-
-# User Management
-./quickstart/user-management.mdx
-
-# Presenting Paywalls
-./quickstart/feature-gating.mdx
-
-# Tracking Subscription State
-./quickstart/tracking-subscription-state.mdx
-
-# Setting User Attributes
-./quickstart/setting-user-properties.mdx
-
-# Handling Deep Links
-./quickstart/in-app-paywall-previews.mdx
diff --git a/content/docs/dashboard/guides/superwall-mcp.mdx b/content/docs/dashboard/guides/superwall-mcp.mdx
index 4bea9511..4df9b2a7 100644
--- a/content/docs/dashboard/guides/superwall-mcp.mdx
+++ b/content/docs/dashboard/guides/superwall-mcp.mdx
@@ -6,7 +6,7 @@ description: "Manage Superwall projects, paywalls, campaigns, products, and more
The Superwall MCP lets AI agents manage your Superwall account through the [Model Context Protocol](https://modelcontextprotocol.io). Instead of clicking through the dashboard, you can create projects, paywalls, campaigns, products, and more directly from tools like Claude Code, Cursor, and Codex.
-This is different from the [Superwall Docs MCP](/sdk/guides/vibe-coding#superwall-docs-mcp), which gives AI tools access to Superwall documentation. The Superwall MCP gives AI tools access to your Superwall account to create and manage resources.
+This is different from the [Superwall Skill](/dashboard/guides/superwall-skill), which gives AI coding agents live docs, API access, and step-by-step SDK integration guides in one install. The Superwall MCP is focused on giving AI tools access to your Superwall account to create and manage resources.
## Installation
@@ -71,4 +71,5 @@ When the agent creates an application, it returns a `public_api_key`. That's wha
## Related
-- [Superwall Docs MCP](/sdk/guides/vibe-coding#superwall-docs-mcp) — give AI tools access to Superwall documentation for vibe coding assistance.
+- [Superwall Skill](/dashboard/guides/superwall-skill) — recommended if you want docs access, guided SDK integration, and account management in one tool.
+- [Vibe Coding](/sdk/guides/vibe-coding) — overview of the AI tools available for working with Superwall.
diff --git a/content/docs/dashboard/guides/superwall-skill.mdx b/content/docs/dashboard/guides/superwall-skill.mdx
index 5c2f0dfc..9c78e5fb 100644
--- a/content/docs/dashboard/guides/superwall-skill.mdx
+++ b/content/docs/dashboard/guides/superwall-skill.mdx
@@ -109,5 +109,4 @@ If you've installed the general skill with an API key, the agent can also look u
## Related
- [Superwall MCP](/dashboard/guides/superwall-mcp): For managing your Superwall account from AI tools.
-- [Superwall Docs MCP](/sdk/guides/vibe-coding#superwall-docs-mcp): Give AI tools access to Superwall documentation.
-- [Vibe Coding](/sdk/guides/vibe-coding): Aall the AI tools available for working with Superwall listed in one place.
+- [Vibe Coding](/sdk/guides/vibe-coding): All the AI tools available for working with Superwall listed in one place.
diff --git a/content/docs/expo/vibe-coding-guide.mdx b/content/docs/expo/vibe-coding-guide.mdx
deleted file mode 100644
index 82a5ebef..00000000
--- a/content/docs/expo/vibe-coding-guide.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: "Superwall Expo Vibe Coding Guide"
-includeSource: false
----
-
-../../shared/vibe-coding-guide-base.mdx
-
-# Install the SDK
-./quickstart/install.mdx
-
-# Configure the SDK
-./quickstart/configure.mdx
-
-# Present Your First Paywall
-./quickstart/present-first-paywall.mdx
-
-# User Management
-./quickstart/user-management.mdx
-
-# Presenting Paywalls
-./quickstart/feature-gating.mdx
-
-# Tracking Subscription State
-./quickstart/tracking-subscription-state.mdx
-
-# Setting User Attributes
-./quickstart/setting-user-properties.mdx
-
-# Handling Deep Links
-./quickstart/in-app-paywall-previews.mdx
diff --git a/content/docs/flutter/vibe-coding-guide.mdx b/content/docs/flutter/vibe-coding-guide.mdx
deleted file mode 100644
index e35a16fc..00000000
--- a/content/docs/flutter/vibe-coding-guide.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Superwall Flutter Vibe Coding Guide"
-includeSource: false
----
-
-../../shared/vibe-coding-guide-base.mdx
-
-# Install the SDK
-./quickstart/install.mdx
-
-# Configure the SDK
-./quickstart/configure.mdx
-
-# User Management
-./quickstart/user-management.mdx
-
-# Presenting Paywalls
-./quickstart/feature-gating.mdx
-
-# Tracking Subscription State
-./quickstart/tracking-subscription-state.mdx
-
-# Setting User Attributes
-./quickstart/setting-user-properties.mdx
-
-# Handling Deep Links
-./quickstart/in-app-paywall-previews.mdx
diff --git a/content/docs/ios/vibe-coding-guide.mdx b/content/docs/ios/vibe-coding-guide.mdx
deleted file mode 100644
index 9d110253..00000000
--- a/content/docs/ios/vibe-coding-guide.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Superwall iOS Vibe Coding Guide"
-includeSource: false
----
-
-../../shared/vibe-coding-guide-base.mdx
-
-# Install the SDK
-./quickstart/install.mdx
-
-# Configure the SDK
-./quickstart/configure.mdx
-
-# User Management
-./quickstart/user-management.mdx
-
-# Presenting Paywalls
-./quickstart/feature-gating.mdx
-
-# Tracking Subscription State
-./quickstart/tracking-subscription-state.mdx
-
-# Setting User Attributes
-./quickstart/setting-user-properties.mdx
-
-# Handling Deep Links
-./quickstart/in-app-paywall-previews.mdx
\ No newline at end of file
diff --git a/content/docs/react-native/vibe-coding-guide.mdx b/content/docs/react-native/vibe-coding-guide.mdx
deleted file mode 100644
index dd09ee05..00000000
--- a/content/docs/react-native/vibe-coding-guide.mdx
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: "Superwall React Native Vibe Coding Guide"
-includeSource: false
----
-
-This is an all-in-one prompt to get the Superwall SDK set up in your app.
-
-## Prerequisites
-You must have access to the Superwall Docs MCP. If you don't have it, ask me to add it, and refer me to [the docs](/ios/guides/vibe-coding#superwall-docs-mcp).
-
-## Integration Steps
-1. Install the Superwall SDK
-2. Configure it with my API key: `{{ PUBLIC_API_KEY }}`
-3. Present a paywall
-4. Set up deep link handling
-5. Ask me about how I want to handle these two items:
-- Identifying the user
-- Setting user attributes
-
-## How to Implement a Step
-Implement each step one at a time. For each step, do the following:
-- Before starting, get context using the Superwall Docs MCP. Use it as the only source of truth for Superwall knowledge.
-- Then, help me implement the step as described in the Superwall Docs MCP response,
-- If needed, ask me for project-specific clarification.
-- Finally, test the step or instruct me on how to test it.
-- Explain to me what you did, what step is complete, and what step is next.
diff --git a/content/shared/vibe-coding-guide-base.mdx b/content/shared/vibe-coding-guide-base.mdx
deleted file mode 100644
index fe2ebfb7..00000000
--- a/content/shared/vibe-coding-guide-base.mdx
+++ /dev/null
@@ -1,22 +0,0 @@
-This is an all-in-one prompt to get the Superwall SDK set up in your app.
-
-## Prerequisites
-We recommend setting up the Superwall Docs MCP for any further setup/questions, but it is not required. If you want it, ask me to add it and refer me to [the docs](/sdk/guides/vibe-coding#superwall-docs-mcp).
-
-## Integration Steps
-1. Install the Superwall SDK
-2. Configure it with my API key: `{{ PUBLIC_API_KEY }}`
-3. Present a paywall
-4. Set up deep link handling
-5. Ask me about how I want to handle these two items:
-- Identifying the user
-- Setting user attributes
-
-## How to Implement a Step
-Implement each step one at a time. For each step, do the following:
-- If the Superwall Docs MCP is available, get context using it before starting. Use it as the primary source of truth for Superwall knowledge.
-- If the MCP is not available, use the SDK quickstart reference below as the source of truth.
-- Then, help implement the step as described in the docs.
-- If needed, ask for project-specific clarification.
-- Finally, test the step or instruct on how to test it.
-- Explain what you did, what step is complete, and what step is next.
diff --git a/content/shared/vibe-coding.mdx b/content/shared/vibe-coding.mdx
index da5888ca..3edb224b 100644
--- a/content/shared/vibe-coding.mdx
+++ b/content/shared/vibe-coding.mdx
@@ -7,13 +7,11 @@ description: "How to Vibe Code using the knowledge of the Superwall Docs"
We've built a few tools to help you Vibe Code using the knowledge of the Superwall Docs, access your Superwall account, and more right in your favorite AI tools:
-- [Superwall Skill](/dashboard/guides/superwall-skill): Gives AI agents live docs, API access, and step-by-step SDK integration guides. If you're unsure which tool to use, pick this one.
-- [Superwall Docs MCP](#superwall-docs-mcp): Give an agent Superwall documentation access in tools like Claude Code, Cursor, etc.
+- [Superwall Skill (Recommended)](#superwall-skill-recommended): Gives AI agents live docs, API access, and step-by-step SDK integration guides. If you're unsure which tool to use, pick this one.
- [Superwall MCP](#superwall-mcp): Expose your Superwall account (projects, paywalls, campaigns) to work with AI tools.
-- [Superwall Docs GPT](#superwall-docs-gpt): Docs for use in ChatGPT.
And right here in the Superwall Docs:
-- [Ask AI](#ask-ai)
+- [Superwall AI](#superwall-ai)
- [Docs Links](#docs-links)
- [LLMs.txt](#llmstxt)
@@ -31,69 +29,29 @@ Once installed, your agent can look up any Superwall doc on demand, call the API
If you're only going to set up one tool, this is the one to use. See the full [Superwall Skill guide](/dashboard/guides/superwall-skill) for details.
-## Superwall Docs MCP
-The Superwall Docs MCP ([Model Context Protocol](https://modelcontextprotocol.io/docs/tutorials/use-remote-mcp-server)) is a tool that allows your favorite AI tools to search the Superwall Docs and get context from the docs.
-
-### Cursor
-
-You can install the MCP server in Cursor by clicking this button:
-[](https://cursor.com/en/install-mcp?name=superwall-docs-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5zdXBlcndhbGwuY29tL21jcCJ9)
-
-or by adding the following to your `~/.cursor/mcp.json` file:
-
-```json
-{
- "mcpServers": {
- "superwall-docs": {
- "url": "https://mcp.superwall.com/mcp"
- }
- }
-}
-```
-
-### Claude Code
-
-You can install the MCP server in Claude Code by running the following command:
-
-```bash
-claude mcp add --transport sse superwall-docs https://mcp.superwall.com/sse
-```
-
-### Codex
-
-You can install the MCP server in Codex by running the following command:
-
-```bash
-codex mcp add superwall --url https://mcp.superwall.com/mcp
-```
-
## Superwall MCP
-The Superwall MCP is separate from the Docs MCP above — it connects AI tools to your **Superwall account**, letting agents create and manage projects, paywalls, campaigns, products, entitlements, and webhooks directly. Instead of switching to the dashboard, your AI assistant can set everything up for you.
-
-See the full [Superwall MCP guide](/dashboard/guides/superwall-mcp) for installation, a step-by-step quick setup, and the complete tool reference.
+The Superwall MCP connects AI tools to your **Superwall account**, letting agents create and manage projects, paywalls, campaigns, products, entitlements, and webhooks directly. Instead of switching to the dashboard, your AI assistant can set everything up for you.
-## Superwall Docs GPT
+If you also want live docs access and guided SDK integration help, use the [Superwall Skill](/dashboard/guides/superwall-skill). The MCP is focused on account and resource management.
-You can use the [Superwall Docs GPT](https://chatgpt.com/g/g-6888175f1684819180302d66f4e61971-superwall-docs-gpt) right in the ChatGPT app, and use it to ask any Superwall question.
-
-It has the full knowledge of the Superwall Docs, and can be used with all the ChatGPT features you love like using the context of your files straight from your IDE.
+See the full [Superwall MCP guide](/dashboard/guides/superwall-mcp) for installation, a step-by-step quick setup, and the complete tool reference.
-## Ask AI
+## Superwall AI
-The built-in [Ask AI tool](https://superwall.com/docs/ai) in the Superwall Docs is a great place to start if you have a question or issue.
+Superwall AI is available in the bottom right 💬 and is a great place to start if you have a question or issue.
## Docs Links
-On each page of the Superwall Docs (including this one!), you can find in the top right corner:
+At the top of each page of the Superwall Docs (including this one!):
-- **Copy page**: to copy the page in Markdown format.
+- **Copy Markdown**: to copy the page in Markdown format.
-Also in the dropdown menu, you can access these options:
+Also in the **Open** dropdown menu, you can access these options:
-- **View as markdown**: to view the page in Markdown format
+- **View as Markdown**: to view the page in Markdown format
- **Open in ChatGPT**, **Open in Claude**: to open the page in the respective AI tool and add the page as context for your conversation
@@ -116,4 +74,4 @@ The Superwall Docs website has `llms.txt` and `llms-full.txt` files, in total an
| Integrations | [`llms-integrations.txt`](https://superwall.com/docs/llms-integrations.txt) | [`llms-full-integrations.txt`](https://superwall.com/docs/llms-full-integrations.txt) |
| Web Checkout | [`llms-web-checkout.txt`](https://superwall.com/docs/llms-web-checkout.txt) | [`llms-full-web-checkout.txt`](https://superwall.com/docs/llms-full-web-checkout.txt) |
-To minimize token use, we recommend using the files specific to your SDK.
\ No newline at end of file
+To minimize token use, we recommend using the files specific to your SDK.
diff --git a/src/components/ChangelogTimeline.tsx b/src/components/ChangelogTimeline.tsx
index e124b9de..149c57e9 100644
--- a/src/components/ChangelogTimeline.tsx
+++ b/src/components/ChangelogTimeline.tsx
@@ -1,7 +1,6 @@
-"use client";
-
import { ChangelogEntry } from "./ChangelogEntry";
import changelogData from "@/lib/changelog-entries.json";
+import { source } from "@/lib/source";
interface ChangelogDataType {
lastUpdated: string;
@@ -158,6 +157,7 @@ function EmptyState() {
}
const MONTHS_TO_SHOW = 3;
+const VALID_CHANGELOG_URLS = new Set(source.getPages().map((page) => page.url));
export function ChangelogTimeline() {
const data = changelogData as ChangelogDataType;
@@ -166,7 +166,11 @@ export function ChangelogTimeline() {
return ;
}
- const recentEntries = deduplicateByPath(filterToRecentMonths(data.entries, MONTHS_TO_SHOW));
+ const recentEntries = deduplicateByPath(
+ filterToRecentMonths(data.entries, MONTHS_TO_SHOW).filter((entry) =>
+ VALID_CHANGELOG_URLS.has(entry.url),
+ ),
+ );
if (recentEntries.length === 0) {
return ;