From 17eab43cd469661c2991362fb5aa6acfb8a5a917 Mon Sep 17 00:00:00 2001 From: MaheshtheDev <38828053+MaheshtheDev@users.noreply.github.com> Date: Tue, 1 Sep 2026 20:51:54 +0000 Subject: [PATCH] docs: add Cursor and Grok Bot plugin pages (#1635) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ship dedicated integration docs and point the plugin catalog at them. Grok Bot stays to install, auth, and skills — no Cursor-only config or repo tags. --- apps/docs/docs.json | 2 + apps/docs/images/cursor-logo.svg | 1 + apps/docs/images/grok-logo.png | Bin 0 -> 15940 bytes apps/docs/integrations/claude-code.mdx | 4 +- apps/docs/integrations/codex.mdx | 4 +- apps/docs/integrations/cursor.mdx | 208 +++++++++++++++++++++++++ apps/docs/integrations/grok-bot.mdx | 64 ++++++++ apps/web/lib/plugin-catalog.ts | 2 +- 8 files changed, 280 insertions(+), 5 deletions(-) create mode 100644 apps/docs/images/cursor-logo.svg create mode 100644 apps/docs/images/grok-logo.png create mode 100644 apps/docs/integrations/cursor.mdx create mode 100644 apps/docs/integrations/grok-bot.mdx diff --git a/apps/docs/docs.json b/apps/docs/docs.json index 3891a43bd..663c9b403 100644 --- a/apps/docs/docs.json +++ b/apps/docs/docs.json @@ -388,6 +388,8 @@ "pages": [ "integrations/openclaw", "integrations/claude-code", + "integrations/cursor", + "integrations/grok-bot", "integrations/opencode", "integrations/codex", "integrations/hermes" diff --git a/apps/docs/images/cursor-logo.svg b/apps/docs/images/cursor-logo.svg new file mode 100644 index 000000000..e2cef2e43 --- /dev/null +++ b/apps/docs/images/cursor-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/docs/images/grok-logo.png b/apps/docs/images/grok-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d839f808803fcab94edae790982a12edb64924c6 GIT binary patch literal 15940 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 literal 0 HcmV?d00001 diff --git a/apps/docs/integrations/claude-code.mdx b/apps/docs/integrations/claude-code.mdx index 8d2909301..1a41f75c1 100644 --- a/apps/docs/integrations/claude-code.mdx +++ b/apps/docs/integrations/claude-code.mdx @@ -145,7 +145,7 @@ Per-repo overrides in `.claude/.supermemory-claude/config.json`. Run `/supermemo Source code, issues, and detailed README. - - Multi-platform memory for Telegram, WhatsApp, Discord, and more. + + Memory for your Cursor chats. diff --git a/apps/docs/integrations/codex.mdx b/apps/docs/integrations/codex.mdx index 008960158..179784602 100644 --- a/apps/docs/integrations/codex.mdx +++ b/apps/docs/integrations/codex.mdx @@ -170,7 +170,7 @@ tail -f ~/.codex-supermemory.log Source code, issues, and detailed README. - - Memory plugin for Claude Code. + + Memory for your Cursor chats. diff --git a/apps/docs/integrations/cursor.mdx b/apps/docs/integrations/cursor.mdx new file mode 100644 index 000000000..67cbf681a --- /dev/null +++ b/apps/docs/integrations/cursor.mdx @@ -0,0 +1,208 @@ +--- +title: "Cursor" +sidebarTitle: "Cursor" +description: "cursor-supermemory: persistent memory across your Cursor chats" +icon: "/images/cursor-logo.svg" +--- + +Your agent remembers the decisions, bugs, and conventions from earlier chats instead of starting cold every time. + +## Install + + +Requires [Node.js](https://nodejs.org) on your `PATH`. Installing Cursor does not put one there. + + +Run this in Cursor: + +``` +/add-plugin cursor-supermemory +``` + +Or install it from the [Cursor Marketplace](https://cursor.com/marketplace/supermemory): open **Customize**, find **Supermemory**, select **Install**, and choose **project** or **user** scope. + +Restart Cursor or run **Developer: Reload Window** afterwards. + +## Authenticate + +Open a new chat in Cursor and run: + +``` +/supermemory-setup +``` + +A browser window opens. Sign in to Supermemory and you are done. + +As a fallback, set an API key from [API Keys](https://console.supermemory.ai/keys): + + + + ```bash + echo 'export SUPERMEMORY_API_KEY="sm_..."' >> ~/.zshrc + source ~/.zshrc + ``` + + + ```bash + echo 'export SUPERMEMORY_API_KEY="sm_..."' >> ~/.bashrc + source ~/.bashrc + ``` + + + ```powershell + [System.Environment]::SetEnvironmentVariable("SUPERMEMORY_API_KEY", "sm_...", "User") + ``` + Restart your terminal after running this. + + + +Restart Cursor after installing the plugin or changing credentials. + +Check the connection any time with `/supermemory-status`. + + +The slash commands just run the plugin's CLI for you. To drive it yourself: + +```bash +node "${CURSOR_PLUGIN_ROOT}/dist/cli.js" login +node "${CURSOR_PLUGIN_ROOT}/dist/cli.js" status +node "${CURSOR_PLUGIN_ROOT}/dist/cli.js" logout +``` + +`CURSOR_PLUGIN_ROOT` is set for plugin hooks. If it is empty in your shell, run `node dist/cli.js ` from the installed plugin directory. + +Credentials are stored in `~/.supermemory-cursor/credentials.json`. + + +## How It Works + +| Layer | What it does | +|-------|--------------| +| Session profile | Loads your persistent profile when a Cursor conversation starts | +| Automatic recall | Searches on substantive prompts, deduplicates results, and injects them after the first supported tool result | +| Incremental capture | Saves each completed turn, and retries unsaved transcript deltas at session end | +| MCP tools | Explicit memory control from any Cursor AI session | +| Context gatherer | Fans out targeted searches before substantial work | +| Always-on rule | Makes the agent recall relevant history proactively | + +### Skills and Commands + +| Name | Type | Description | +|------|------|-------------| +| `memory-init` | Skill | Explore the codebase and initialize project memory | +| `memory-save` | Skill | Save an insight, decision, or solution worth keeping | +| `memory-search` | Skill | Search memory for past work, bugs, and decisions | +| `supermemory-context-gatherer` | Agent | Gather deep background before substantial work | +| `supermemory-setup` | Command | Connect Supermemory to Cursor | +| `supermemory-status` | Command | Check authentication and live connectivity | +| `supermemory-config` | Command | Create or edit the project config file | +| `supermemory-logout` | Command | Disconnect Supermemory from Cursor | + +## MCP Tools + +| Tool | Description | +|------|-------------| +| `supermemory_get_config` | Show current config, resolved container tags, and config file paths | +| `supermemory_set_config` | Update config at project or global scope | +| `supermemory_containers` | Show what `user` and `project` container tags resolve to | +| `supermemory_search` | Search memories by query | +| `supermemory_add` | Save new information to memory | +| `supermemory_list` | List stored memories | +| `supermemory_forget` | Delete a memory by id or content | +| `supermemory_profile` | Get your user profile summary | + +Every tool that takes a `container` argument accepts: + +- `"user"` (default): personal memories for the current repository +- `"project"`: project knowledge for the current repository +- `"both"`: both scopes plus compatible legacy memories +- any custom string: used as a raw container tag + +`user` and `project` write to the same repository container. The `sm_scope` metadata field is what keeps personal and session memories separate from explicit project knowledge when an agent asks for one scope. + +## Container Tags + +Cursor shares one repository tag with the [Claude Code](/integrations/claude-code), [OpenAI Codex](/integrations/codex), and [OpenCode](/integrations/opencode) plugins, so agents working on the same repo read and write the same memory: + +```text +repo___ +``` + +The project ID is a stable hash of the normalized Git remote. Repositories without a remote fall back to their resolved local path. Two repos with the same directory name never collide, and different agents on the same repository share memory. + +The plugin still reads the former `cursor_user_*` and `cursor_project_*` tags, along with legacy tags from the other agents. New writes only use the unified repository tag. Set `repoContainerTag` only when you need an explicit shared override. + +## Configuration + + +**Prefer to keep everything on your machine?** This plugin works with [self-hosted Supermemory](/self-hosting/overview): run `npx supermemory local`, then set `SUPERMEMORY_API_URL="http://localhost:6767"` (or `baseUrl` in your config file) and use the API key printed on first boot. + + +### Environment variables + +| Variable | Description | +|----------|-------------| +| `SUPERMEMORY_API_KEY` | API key (overrides all other sources) | +| `SUPERMEMORY_API_URL` | Override the Supermemory API base URL | +| `SUPERMEMORY_REPO_TAG` | Override the unified repository container tag | +| `SUPERMEMORY_USER_TAG` | Legacy Cursor personal container to continue reading | +| `SUPERMEMORY_PROJECT_TAG` | Legacy Cursor project container to continue reading | +| `CURSOR_USER_EMAIL` | Used only to find legacy Cursor personal memories | + +### Global config + +`~/.config/cursor/supermemory.json` holds user-wide defaults and applies to all projects. + +```json +{ + "repoContainerTag": "repo_my_project__0123456789abcdef", + "similarityThreshold": 0.55, + "maxMemories": 10, + "injectProfile": true, + "signalExtraction": false, + "signalKeywords": ["remember", "architecture", "decision", "bug", "fix"], + "signalTurnsBefore": 3 +} +``` + +### Project config + +`.cursor/.supermemory/config.json` holds per-workspace overrides and wins over global config. Add it to `.gitignore` if it contains an API key. + +```json +{ + "apiKey": "sm_...", + "repoContainerTag": "repo_my_project__0123456789abcdef", + "similarityThreshold": 0.55, + "maxMemories": 10, + "injectProfile": true +} +``` + +| Option | Default | Description | +|--------|---------|-------------| +| `apiKey` | — | Project-specific API key | +| `baseUrl` | Supermemory API | Override the Supermemory API base URL | +| `repoContainerTag` | derived from normalized Git remote or project path | Override the unified repository container | +| `userContainerTag` | — | Legacy Cursor personal container to continue reading | +| `projectContainerTag` | — | Legacy Cursor project container to continue reading | +| `similarityThreshold` | `0.55` | Minimum similarity for prompt recall. Values below `0.55` are floored. | +| `maxMemories` | `10` | Max profile facts injected at session start | +| `injectProfile` | `true` | Whether to inject the user profile at session start | +| `signalExtraction` | `false` | Capture only turns containing durable-signal keywords | +| `signalKeywords` | `remember`, `architecture`, `decision`, `bug`, `fix` | Keywords that trigger signal-based capture | +| `signalTurnsBefore` | `3` | Number of nearby turns retained around a signal | + +You can also set these from the agent with `supermemory_set_config`, or edit the file by hand. + +## Log Out + +Run `/supermemory-logout` in Cursor. + +This removes the stored credentials. Your memories in Supermemory are preserved. + +## Next Steps + + + Source code, issues, and detailed README. + diff --git a/apps/docs/integrations/grok-bot.mdx b/apps/docs/integrations/grok-bot.mdx new file mode 100644 index 000000000..878a64cc5 --- /dev/null +++ b/apps/docs/integrations/grok-bot.mdx @@ -0,0 +1,64 @@ +--- +title: "Grok Bot" +sidebarTitle: "Grok Bot" +description: "Supermemory for Grok Bot: persistent memory for your Grok Bots" +icon: "/images/grok-logo.png" +--- + +Grok Bots are cloud agents. A new task can mean a new machine and a blank context. Supermemory is the memory they keep between those tasks — findings, decisions, and preferences — so the next Bot does not start cold. + +## How it helps + +Without memory, a Bot redoes investigation you already paid for. With Supermemory: + +- Later Bots know what earlier ones already figured out +- You can save a decision or finding once and have it stick +- You can ask what it already remembers instead of starting over + +Install once, sign in, and it is available to your Grok Bots. + +## Install + +Open the [Supermemory for Grok Bot plugin page](https://x.ai/bot/plugin/58578698) and select **Add to Grok Bot**. + +Restart Grok Bot afterwards so the plugin loads. + +## Authenticate + +Just ask Grok Bot: + +``` +Sign me in to Supermemory +``` + +It shows a connect card. Follow it to link your Supermemory account. + +To check later, ask `Is Supermemory connected?` + +## Skills + +Grok Bot picks these up from what you ask. There are no slash commands. + +| Skill | Ask for it like this | +|-------|----------------------| +| `memory-init` | "Learn this codebase and remember it" | +| `memory-save` | "Remember that we use Vitest for unit tests" | +| `memory-search` | "What do you remember about our database schema?" | + +## Log Out + +Ask Grok Bot to `Disconnect Supermemory`. + +This removes the stored credentials. Your memories in Supermemory are preserved. + +## Next Steps + + + + Source code, issues, and detailed README. + + + + The same plugin, installed through Cursor. + + diff --git a/apps/web/lib/plugin-catalog.ts b/apps/web/lib/plugin-catalog.ts index 93a3d0e8c..480cc91ec 100644 --- a/apps/web/lib/plugin-catalog.ts +++ b/apps/web/lib/plugin-catalog.ts @@ -86,7 +86,7 @@ export const PLUGIN_CATALOG: Record = { name: "Cursor", tagline: "Persistent memory, session hooks, and MCP tools inside Cursor", icon: "/images/plugins/cursor.png", - docsUrl: "https://github.com/supermemoryai/cursor-supermemory#readme", + docsUrl: "https://supermemory.ai/docs/integrations/cursor", githubUrl: "https://github.com/supermemoryai/cursor-supermemory", installSteps: [ {