From 5e281a42ebcb66c3d9cc9922b2713ae1b36229c1 Mon Sep 17 00:00:00 2001 From: Manik Date: Thu, 30 Oct 2025 12:52:07 +0530 Subject: [PATCH] Feat:add codex,gemini, windsurf, chatgpt in onboarding flow --- apps/webapp/app/components/icon-utils.tsx | 8 ++++++ apps/webapp/app/components/icons/chatgpt.tsx | 17 +++++++++++ apps/webapp/app/components/icons/codex.tsx | 17 +++++++++++ apps/webapp/app/components/icons/gemini.tsx | 17 +++++++++++ apps/webapp/app/components/icons/windsurf.tsx | 17 +++++++++++ .../components/onboarding/provider-config.ts | 28 +++++++++++++++++++ .../webapp/app/components/onboarding/types.ts | 4 +++ 7 files changed, 108 insertions(+) create mode 100644 apps/webapp/app/components/icons/chatgpt.tsx create mode 100644 apps/webapp/app/components/icons/codex.tsx create mode 100644 apps/webapp/app/components/icons/gemini.tsx create mode 100644 apps/webapp/app/components/icons/windsurf.tsx diff --git a/apps/webapp/app/components/icon-utils.tsx b/apps/webapp/app/components/icon-utils.tsx index 5689ce0..6af02ad 100644 --- a/apps/webapp/app/components/icon-utils.tsx +++ b/apps/webapp/app/components/icon-utils.tsx @@ -9,6 +9,10 @@ import { LinearIcon, SlackIcon } from "./icons"; import { Cursor } from "./icons/cursor"; import { Claude } from "./icons/claude"; import { Cline } from "./icons/cline"; +import { Codex } from "./icons/codex"; +import { ChatGPT } from "./icons/chatgpt"; +import { Gemini } from "./icons/gemini"; +import { Windsurf } from "./icons/windsurf"; import { VSCode } from "./icons/vscode"; import { Obsidian } from "./icons/obsidian"; import { Figma } from "./icons/figma"; @@ -25,6 +29,10 @@ export const ICON_MAPPING = { cursor: Cursor, claude: Claude, cline: Cline, + codex: Codex, + chatgpt: ChatGPT, + gemini: Gemini, + windsurf: Windsurf, vscode: VSCode, obsidian: Obsidian, figma: Figma, diff --git a/apps/webapp/app/components/icons/chatgpt.tsx b/apps/webapp/app/components/icons/chatgpt.tsx new file mode 100644 index 0000000..72475db --- /dev/null +++ b/apps/webapp/app/components/icons/chatgpt.tsx @@ -0,0 +1,17 @@ +import type { IconProps } from "./types"; + +export function ChatGPT({ size = 18, className }: IconProps) { + return ( + + ChatGPT + + + ); +} diff --git a/apps/webapp/app/components/icons/codex.tsx b/apps/webapp/app/components/icons/codex.tsx new file mode 100644 index 0000000..8b20a22 --- /dev/null +++ b/apps/webapp/app/components/icons/codex.tsx @@ -0,0 +1,17 @@ +import type { IconProps } from "./types"; + +export function Codex({ size = 18, className }: IconProps) { + return ( + + Codex + + + ); +} diff --git a/apps/webapp/app/components/icons/gemini.tsx b/apps/webapp/app/components/icons/gemini.tsx new file mode 100644 index 0000000..9196d8d --- /dev/null +++ b/apps/webapp/app/components/icons/gemini.tsx @@ -0,0 +1,17 @@ +import type { IconProps } from "./types"; + +export function Gemini({ size = 18, className }: IconProps) { + return ( + + Gemini + + + ); +} diff --git a/apps/webapp/app/components/icons/windsurf.tsx b/apps/webapp/app/components/icons/windsurf.tsx new file mode 100644 index 0000000..95c2ed3 --- /dev/null +++ b/apps/webapp/app/components/icons/windsurf.tsx @@ -0,0 +1,17 @@ +import type { IconProps } from "./types"; + +export function Windsurf({ size = 18, className }: IconProps) { + return ( + + Windsurf + + + ); +} diff --git a/apps/webapp/app/components/onboarding/provider-config.ts b/apps/webapp/app/components/onboarding/provider-config.ts index 687e330..ae93422 100644 --- a/apps/webapp/app/components/onboarding/provider-config.ts +++ b/apps/webapp/app/components/onboarding/provider-config.ts @@ -1,6 +1,13 @@ import { Provider, type ProviderConfig } from "./types"; export const PROVIDER_CONFIGS: Record = { + [Provider.CHATGPT]: { + id: Provider.CHATGPT, + name: "ChatGPT", + description: "Connect ChatGPT to CORE's memory system via browser extension", + docsUrl: "https://docs.heysol.ai/providers/browser-extension", + icon: "chatgpt", + }, [Provider.CLAUDE_CODE]: { id: Provider.CLAUDE_CODE, name: "Claude Code CLI", @@ -15,6 +22,13 @@ export const PROVIDER_CONFIGS: Record = { docsUrl: "https://docs.heysol.ai/providers/claude", icon: "claude", }, + [Provider.CODEX]: { + id: Provider.CODEX, + name: "Codex", + description: "Connect your Codex CLI to CORE's memory system", + docsUrl: "https://docs.heysol.ai/providers/codex", + icon: "codex", + }, [Provider.CURSOR]: { id: Provider.CURSOR, name: "Cursor", @@ -22,6 +36,13 @@ export const PROVIDER_CONFIGS: Record = { docsUrl: "https://docs.heysol.ai/providers/cursor", icon: "cursor", }, + [Provider.GEMINI]: { + id: Provider.GEMINI, + name: "Gemini", + description: "Connect Gemini to CORE's memory system via browser extension", + docsUrl: "https://docs.heysol.ai/providers/browser-extension", + icon: "gemini", + }, [Provider.KILO_CODE]: { id: Provider.KILO_CODE, name: "Kilo-Code", @@ -36,6 +57,13 @@ export const PROVIDER_CONFIGS: Record = { docsUrl: "https://docs.heysol.ai/providers/vscode", icon: "vscode", }, + [Provider.WINDSURF]: { + id: Provider.WINDSURF, + name: "Windsurf", + description: "Connect your Windsurf editor to CORE's memory system via MCP", + docsUrl: "https://docs.heysol.ai/providers/windsurf", + icon: "windsurf", + }, [Provider.ZED]: { id: Provider.ZED, name: "Zed", diff --git a/apps/webapp/app/components/onboarding/types.ts b/apps/webapp/app/components/onboarding/types.ts index 3646472..76403df 100644 --- a/apps/webapp/app/components/onboarding/types.ts +++ b/apps/webapp/app/components/onboarding/types.ts @@ -1,9 +1,13 @@ export enum Provider { + CHATGPT = "chatgpt", CLAUDE_CODE = "claude-code", CLAUDE = "claude", + CODEX = "codex", CURSOR = "cursor", + GEMINI = "gemini", KILO_CODE = "kilo-code", VSCODE = "vscode", + WINDSURF = "windsurf", ZED = "zed", }