# Conflicts: # scripts/init.js # scripts/modules/commands.js # tests/integration/roo-files-inclusion.test.js # tests/integration/roo-init-functionality.test.js
58 lines
1.5 KiB
JavaScript
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);
|
|
}
|