Skip to main content
Glama
index.ts2.7 kB
/** * Slash Command Profiles Index * * This module exports all slash command profile classes and provides * utility functions for profile lookup and management. * * Supported profiles (with slash commands): * - Claude Code: .claude/commands * - Cursor: .cursor/commands * - Roo Code: .roo/commands * - Gemini: .gemini/commands * - Codex: .codex/prompts * - OpenCode: .opencode/command */ // Base profile class and types import { BaseSlashCommandProfile } from './base-profile.js'; export type { SlashCommandResult } from './base-profile.js'; // Individual profile classes import { ClaudeProfile } from './claude-profile.js'; import { CodexProfile } from './codex-profile.js'; import { CursorProfile } from './cursor-profile.js'; import { GeminiProfile } from './gemini-profile.js'; import { OpenCodeProfile } from './opencode-profile.js'; import { RooProfile } from './roo-profile.js'; // Re-export base class and all profile classes for direct use export { BaseSlashCommandProfile }; export { ClaudeProfile }; export { CodexProfile }; export type { CodexProfileOptions } from './codex-profile.js'; export { CursorProfile }; export { GeminiProfile }; export { OpenCodeProfile }; export { RooProfile }; /** * Singleton instances of all available slash command profiles. * Keys are lowercase profile names for case-insensitive lookup. */ const profiles: Record<string, BaseSlashCommandProfile> = { claude: new ClaudeProfile(), codex: new CodexProfile(), cursor: new CursorProfile(), gemini: new GeminiProfile(), opencode: new OpenCodeProfile(), roo: new RooProfile() }; /** * Get a slash command profile by name. * * @param name - The profile name (case-insensitive) * @returns The profile instance if found, undefined otherwise * * @example * ```typescript * const claudeProfile = getProfile('claude'); * const cursorProfile = getProfile('CURSOR'); // Case-insensitive * ``` */ export function getProfile(name: string): BaseSlashCommandProfile | undefined { return profiles[name.toLowerCase()]; } /** * Get all available slash command profiles. * * @returns Array of all profile instances * * @example * ```typescript * const allProfiles = getAllProfiles(); * allProfiles.forEach(profile => { * console.log(profile.name, profile.commandsDir); * }); * ``` */ export function getAllProfiles(): BaseSlashCommandProfile[] { return Object.values(profiles); } /** * Get all available profile names. * * @returns Array of profile names (lowercase) * * @example * ```typescript * const names = getProfileNames(); * // ['claude', 'cursor', 'roo', 'gemini'] * ``` */ export function getProfileNames(): string[] { return Object.keys(profiles); }

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/eyaltoledano/claude-task-master'

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