From 3704a6a8af0b261ef1cc12e38cfb087234ba6b4d Mon Sep 17 00:00:00 2001 From: Rowena Date: Wed, 22 Oct 2025 17:58:54 +0200 Subject: [PATCH 1/4] feat(genapis): add doc for cursor --- pages/generative-apis/menu.ts | 4 ++ .../integrate-with-cursor.mdx | 64 +++++++++++++++++++ ...ing-generative-apis-with-popular-tools.mdx | 9 +++ .../troubleshooting/fixing-common-issues.mdx | 2 +- 4 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 pages/generative-apis/reference-content/integrate-with-cursor.mdx diff --git a/pages/generative-apis/menu.ts b/pages/generative-apis/menu.ts index 29b967a40a..a73432efa1 100644 --- a/pages/generative-apis/menu.ts +++ b/pages/generative-apis/menu.ts @@ -118,6 +118,10 @@ export const generativeApisMenu = { label: 'Integrating Generative APIs with n8n', slug: 'integrate-with-n8n' }, + { + label: 'Integrating Generative APIs with Cursor', + slug: 'integrate-with-cursor' + }, { label: 'Integrating Generative APIs with popular AI tools', slug: 'integrating-generative-apis-with-popular-tools', diff --git a/pages/generative-apis/reference-content/integrate-with-cursor.mdx b/pages/generative-apis/reference-content/integrate-with-cursor.mdx new file mode 100644 index 0000000000..58c85097fc --- /dev/null +++ b/pages/generative-apis/reference-content/integrate-with-cursor.mdx @@ -0,0 +1,64 @@ +--- +title: Integrating Generative APIs with Cursor +description: Learn how to integrate Scaleway Generative APIs with Cursor AI code editor for enhanced coding assistance using models like qwen3-coder-30b-a3b-instruct. +tags: generative-apis ai machine-learning language-models cursor +dates: + validation: 2025-10-22 + posted: 2025-10-22 +--- +import Requirements from '@macros/iam/requirements.mdx' + +Cursor is an AI-powered code editor that helps developers write and edit code more efficiently. It can read your existing codebase, help you navigate it, and generate code based on your natural language descriptions. Built on top of Visual Studio Code, it allows you to integrate language models directly into your coding workflows. + +This guide will help you integrate Scaleway Generative APIs into Cursor. This lets you use models such as `qwen3-coder-30b-a3b-instruct` for code assistance and generation. + + + +- A Scaleway account logged into the [console](https://console.scaleway.com) +- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization +- A valid [API key](/iam/how-to/create-api-keys/) for API authentication +- Installed [Cursor](https://cursor.com/) on your local machine, and logged in. + +## Configuring Cursor to use Scaleway Generative APIs + +1. Open Cursor in your browser. +1. Click on the gear icon in the top right corner. The **Cursor Settings** screen displays. +2. In the left sidebar, click **Models**. +3. Uncollapse the **API Keys** section, and toggle on the **OpenAI API Key** setting. +4. Paste the secret part of your [Scaleway API key](/iam/how-to/create-api-keys/) into the **OpenAI API Key** field. +5. Toggle on the **Override OpenAI Base URL** option. +6. Enter `https://api.scaleway.ai/v1` as your base URL in the field that displays. + + If you are using a Project other than your [default Project](/organizations-and-projects/concepts/#default-project), modify the base URL accordingly: `https://api.scaleway.ai/{project_id}/v1` + +7. In the **Models** search bar at the top of the page, paste name of the model you want to use, for example, `qwen3-coder-30b-a3b-instruct`. +8. Click **Add Custom Model**, then **Add** next to the name of the matching model. + + The model is added. Close the **Cursor Settings** tab. + +## Verifying the integration + +To verify that Generative APIs are working correctly in Cursor: + +1. Open a new file or existing code file in Cursor. +2. Use `Ctrl+K` (or `Cmd+K` on Mac) to open the inline AI chat interface, or `Ctrl+L` (or `Cmd+L` on Mac) for the AI chat pane. +3. Ask the AI to help with a coding task, such as "Write a function to calculate the factorial of a number". +4. Check that the AI responds with code suggestions. + +If the integration is working correctly, you should see AI-generated code suggestions that are relevant to your request. + +If you encounter any issues, verify that your API key is correct and that the base URL is properly configured. + +## Choosing a model + +We recommended using the following models with Cursor: + +- `qwen3-coder-30b-a3b-instruct` as the default choice for most tasks, especially autocompletion. +- `qwen3-235b-a22b-instruct-2507` for agentic tasks. +- `bge-multilingual-gemma2` for embeddings. + +You can add multiple custom models to Cursor. By default, it will use **Auto model selection** to determine which of your added models to use for a given task. To override this: + +1. Click **Auto** in the inline AI chat interface or at the bottom of the AI chat pane. +2. Toggle off the **Auto** selection. +3. Select the model you want Cursor to use from the list. diff --git a/pages/generative-apis/reference-content/integrating-generative-apis-with-popular-tools.mdx b/pages/generative-apis/reference-content/integrating-generative-apis-with-popular-tools.mdx index 9269a5659e..52666ff96d 100644 --- a/pages/generative-apis/reference-content/integrating-generative-apis-with-popular-tools.mdx +++ b/pages/generative-apis/reference-content/integrating-generative-apis-with-popular-tools.mdx @@ -20,6 +20,7 @@ The following table compares AI tools and libraries supported by Scaleway's Gene | [LlamaIndex](#llamaindex-advanced-rag-applications) | Library for building advanced AI RAG applications | Knowledge graph building, document retrieval, data indexing | Medium | | [Continue Dev](#continue-dev-ai-coding-assistance) | IDE extension for AI-powered coding assistance | Code completion, code review | Low | | [Zed AI](#zed-ai-coding-assistance) | IDE including AI-powered coding assistance | Code completion, code review | Low | +| [Cursor](#cursor) | IDE for AI-powered coding assistance | Code completion, code generation, code review | Low | | [Bolt.diy](#boltdiy-code-generation) | Software to create applications | Code generation, code edition | Low | | [Chatbox AI](#chatbox-ai) | Desktop client for generative APIs, available on Windows, Mac, Linux | AI copilot for documents, images, or code| Low | | [n8n](#n8n) | Workflow automation tool | Connecting AI agents, apps, and services. | Low | @@ -247,6 +248,14 @@ Zed is an IDE (Integrated Development Environment) including AI coding assistanc Refer to our dedicated documentation for [connecting Zed to Generative APIs](/generative-apis/reference-content/adding-ai-to-zed-ide/) +## Cursor (AI coding assistance) + +Cursor is an AI-powered code editor that helps developers write and edit code more efficiently. It can read your existing codebase, help you navigate it, and generate code based on your natural language descriptions. Built on top of Visual Studio Code, it allows you to integrate language models directly into your coding workflows. + + + Refer to our dedicated documentation for [integrating Generative APIs into Cursor](/generative-apis/reference-content/integrate-with-cursor/) + + ## Bolt.diy (code generation) Bolt.diy is a software enabling users to create web applications from the prompt. diff --git a/pages/generative-apis/troubleshooting/fixing-common-issues.mdx b/pages/generative-apis/troubleshooting/fixing-common-issues.mdx index f5db578f87..c5403e13e5 100644 --- a/pages/generative-apis/troubleshooting/fixing-common-issues.mdx +++ b/pages/generative-apis/troubleshooting/fixing-common-issues.mdx @@ -30,7 +30,7 @@ Below are common issues that you may encounter when using Generative APIs, their ### Solution - Verify the JSON body you send is valid: - - You can store your content in a file with the `.json` extension (eg. named `file.json`), and open it with an IDE such as VSCode or Zed. Syntax errors should display if there are any. + - You can store your content in a file with the `.json` extension (eg. named `file.json`), and open it with an IDE such as [VSCode](/generative-apis/reference-content/adding-ai-to-vscode-using-continue/), [Zed](/generative-apis/reference-content/adding-ai-to-zed-ide/) or [Cursor](/generative-apis/reference-content/integrate-with-cursor/). Syntax errors should display if there are any. - You can copy your content in a JSON formatter tool or linter available online, that will identify errors. - Usually, most common errors include: - Missing or unnecessary quotes `"`, `'` or commas `,` on property names and string values. From 36ac238e40dbac371ce218e9a78f7a3e54a900f7 Mon Sep 17 00:00:00 2001 From: Rowena Date: Thu, 23 Oct 2025 17:25:27 +0200 Subject: [PATCH 2/4] fix(genapis): finish --- .../assets/scw-cursor-settings.webp | Bin 0 -> 15254 bytes .../integrate-with-cursor.mdx | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 pages/generative-apis/reference-content/assets/scw-cursor-settings.webp diff --git a/pages/generative-apis/reference-content/assets/scw-cursor-settings.webp b/pages/generative-apis/reference-content/assets/scw-cursor-settings.webp new file mode 100644 index 0000000000000000000000000000000000000000..ba655c2c1d752d2d50d309fcb271863c7e0f0453 GIT binary patch literal 15254 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 Z;=8sGn@&fJ + 1. Open Cursor in your browser. 1. Click on the gear icon in the top right corner. The **Cursor Settings** screen displays. 2. In the left sidebar, click **Models**. @@ -36,12 +40,16 @@ This guide will help you integrate Scaleway Generative APIs into Cursor. This le The model is added. Close the **Cursor Settings** tab. + + Features requiring specialized models, such as Tab Completion, may still use Cursor's built-in models. [See the Cursor documentation](https://cursor.com/docs/settings/api-keys) for more details. + + ## Verifying the integration To verify that Generative APIs are working correctly in Cursor: 1. Open a new file or existing code file in Cursor. -2. Use `Ctrl+K` (or `Cmd+K` on Mac) to open the inline AI chat interface, or `Ctrl+L` (or `Cmd+L` on Mac) for the AI chat pane. +2. Use `Ctrl+L` (or `Cmd+L` on Mac) to open the AI chat pane. 3. Ask the AI to help with a coding task, such as "Write a function to calculate the factorial of a number". 4. Check that the AI responds with code suggestions. @@ -62,3 +70,9 @@ You can add multiple custom models to Cursor. By default, it will use **Auto mod 1. Click **Auto** in the inline AI chat interface or at the bottom of the AI chat pane. 2. Toggle off the **Auto** selection. 3. Select the model you want Cursor to use from the list. + + + + + + From 117eb02c31bc30349ca7fe4513a52011a248de25 Mon Sep 17 00:00:00 2001 From: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:31:52 +0100 Subject: [PATCH 3/4] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Néda <87707325+nerda-codes@users.noreply.github.com> --- .../integrate-with-cursor.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pages/generative-apis/reference-content/integrate-with-cursor.mdx b/pages/generative-apis/reference-content/integrate-with-cursor.mdx index 52c56919c1..b35a6d3218 100644 --- a/pages/generative-apis/reference-content/integrate-with-cursor.mdx +++ b/pages/generative-apis/reference-content/integrate-with-cursor.mdx @@ -12,31 +12,31 @@ import cursorSettingsImage from './assets/scw-cursor-settings.webp' Cursor is an AI-powered code editor that helps developers write and edit code more efficiently. It can read your existing codebase, help you navigate it, and generate code based on your natural language descriptions. Built on top of Visual Studio Code, it allows you to integrate language models directly into your coding workflows. -This guide will help you integrate Scaleway Generative APIs into Cursor. This lets you use models such as `qwen3-coder-30b-a3b-instruct` for code assistance and generation. +This guide will help you integrate Scaleway Generative APIs into Cursor. This lets you use models such as `qwen3-coder-30b-a3b-instruct` for code assistance and generation. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization - A valid [API key](/iam/how-to/create-api-keys/) for API authentication -- Installed [Cursor](https://cursor.com/) on your local machine, and logged in. +- Installed [Cursor](https://cursor.com/) on your local machine, and logged in ## Configuring Cursor to use Scaleway Generative APIs 1. Open Cursor in your browser. -1. Click on the gear icon in the top right corner. The **Cursor Settings** screen displays. -2. In the left sidebar, click **Models**. -3. Uncollapse the **API Keys** section, and toggle on the **OpenAI API Key** setting. -4. Paste the secret part of your [Scaleway API key](/iam/how-to/create-api-keys/) into the **OpenAI API Key** field. -5. Toggle on the **Override OpenAI Base URL** option. -6. Enter `https://api.scaleway.ai/v1` as your base URL in the field that displays. +2. Click on the gear icon in the top right corner. The **Cursor Settings** screen displays. +3. In the left sidebar, click **Models**. +4. Uncollapse the **API Keys** section, and toggle on the **OpenAI API Key** setting. +5. Paste the secret part of your [Scaleway API key](/iam/how-to/create-api-keys/) into the **OpenAI API Key** field. +6. Toggle on the **Override OpenAI Base URL** option. +7. Enter `https://api.scaleway.ai/v1` as your base URL in the field that displays. If you are using a Project other than your [default Project](/organizations-and-projects/concepts/#default-project), modify the base URL accordingly: `https://api.scaleway.ai/{project_id}/v1` -7. In the **Models** search bar at the top of the page, paste name of the model you want to use, for example, `qwen3-coder-30b-a3b-instruct`. -8. Click **Add Custom Model**, then **Add** next to the name of the matching model. +8. In the **Models** search bar at the top of the page, paste the name of the model you want to use, for example, `qwen3-coder-30b-a3b-instruct`. +9. Click **Add Custom Model**, then **Add** next to the name of the matching model. The model is added. Close the **Cursor Settings** tab. From 54d668944d14da0950fcc144fbebce5e5c93524f Mon Sep 17 00:00:00 2001 From: Rowena Jones <36301604+RoRoJ@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:33:18 +0100 Subject: [PATCH 4/4] Apply suggestions from code review --- .../reference-content/integrate-with-cursor.mdx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pages/generative-apis/reference-content/integrate-with-cursor.mdx b/pages/generative-apis/reference-content/integrate-with-cursor.mdx index b35a6d3218..dbba09dcc6 100644 --- a/pages/generative-apis/reference-content/integrate-with-cursor.mdx +++ b/pages/generative-apis/reference-content/integrate-with-cursor.mdx @@ -70,9 +70,3 @@ You can add multiple custom models to Cursor. By default, it will use **Auto mod 1. Click **Auto** in the inline AI chat interface or at the bottom of the AI chat pane. 2. Toggle off the **Auto** selection. 3. Select the model you want Cursor to use from the list. - - - - - -