Files
claude-task-master/src/constants/profiles.js
Joe Danziger 6ee304795c Merge branch 'next' of https://github.com/eyaltoledano/claude-task-master into joedanz/flexible-brand-rules
# Conflicts:
#	scripts/init.js
#	scripts/modules/commands.js
#	tests/integration/roo-files-inclusion.test.js
#	tests/integration/roo-init-functionality.test.js
2025-06-04 13:39:50 -04:00

58 lines
1.5 KiB
JavaScript

/**
* @typedef {'claude' | 'cline' | 'codex' | 'cursor' | 'roo' | 'trae' | 'windsurf'} RulesProfile
*/
/**
* Available rule profiles for project initialization and rules command
*
* ⚠️ SINGLE SOURCE OF TRUTH: This is the authoritative list of all supported rule profiles.
* This constant is used directly throughout the codebase (previously aliased as PROFILE_NAMES).
*
* @type {RulesProfile[]}
* @description Defines possible rule profile sets:
* - claude: Claude Code integration
* - cline: Cline IDE rules
* - codex: Codex integration
* - cursor: Cursor IDE rules
* - roo: Roo Code IDE rules
* - trae: Trae IDE rules
* - windsurf: Windsurf IDE rules
*
* To add a new rule profile:
* 1. Add the profile name to this array
* 2. Create a profile file in scripts/profiles/{profile}.js
* 3. Export it as {profile}Profile in scripts/profiles/index.js
*/
export const RULE_PROFILES = [
'claude',
'cline',
'codex',
'cursor',
'roo',
'trae',
'windsurf'
];
/**
* Centralized enum for all supported Roo agent modes
* @type {string[]}
* @description Available Roo Code IDE modes for rule generation
*/
export const ROO_MODES = [
'architect',
'ask',
'boomerang',
'code',
'debug',
'test'
];
/**
* Check if a given rule profile is valid
* @param {string} rulesProfile - The rule profile to check
* @returns {boolean} True if the rule profile is valid, false otherwise
*/
export function isValidRulesProfile(rulesProfile) {
return RULE_PROFILES.includes(rulesProfile);
}