Skip to main content
Glama
welcome-onboarding.ts1.23 kB
import { configManager } from '../config-manager.js'; import { hasFeature } from './ab-test.js'; import { openWelcomePage } from './open-browser.js'; import { logToStderr } from './logger.js'; /** * Handle welcome page display for new users (A/B test controlled) * * Only shows to: * 1. New users (first run - config was just created) * 2. Users in the 'showOnboardingPage' A/B variant * 3. Haven't seen it yet */ export async function handleWelcomePageOnboarding(): Promise<void> { // Only for brand new users (config just created) if (!configManager.isFirstRun()) { return; } // Check A/B test assignment const shouldShow = await hasFeature('showOnboardingPage'); if (!shouldShow) { logToStderr('debug', 'Welcome page skipped (A/B: noOnboardingPage)'); return; } // Double-check not already shown (safety) const alreadyShown = await configManager.getValue('sawOnboardingPage'); if (alreadyShown) { return; } try { await openWelcomePage(); await configManager.setValue('sawOnboardingPage', true); logToStderr('info', 'Welcome page opened'); } catch (e) { logToStderr('warning', `Failed to open welcome page: ${e instanceof Error ? e.message : e}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wonderwhy-er/ClaudeComputerCommander'

If you have feedback or need assistance with the MCP directory API, please join our Discord server