* move claude rules and commands to assets/claude * update claude profile to copy assets/claude to .claude * fix formatting * feat(profiles): Implement unified profile system - Convert Claude and Codex profiles to use createProfile() factory - Remove simple vs complex profile distinction in rule transformer - Unify convertAllRulesToProfileRules() to handle all profiles consistently - Fix mcpConfigPath construction in base-profile.js for null mcpConfigName - Update terminology from 'simpleProfiles' to 'assetOnlyProfiles' throughout - Ensure Claude .claude directory copying works in both CLI and MCP contexts - All profiles now follow same execution flow with proper lifecycle functions Changes: - src/profiles/claude.js: Convert to createProfile() factory pattern - src/profiles/codex.js: Convert to createProfile() factory pattern - src/utils/rule-transformer.js: Unified profile handling logic - src/utils/profiles.js: Remove simple profile categorization - src/profiles/base-profile.js: Fix mcpConfigPath construction - scripts/modules/commands.js: Update variable naming - tests/: Update all tests for unified system and terminology Fixes Claude profile asset copying issue in MCP context. All tests passing (617 passed, 11 skipped). * re-checkin claude files * fix formatting * chore: clean up test Claude rules files * chore: add changeset for unified profile system * add claude files back * add changeset * restore proper gitignore * remove claude agents file from root * remove incorrect doc * simplify profiles and update tests * update changeset * update changeset * remove profile specific code * streamline profiles with defaults and update tests * update changeset * add newline at end of gitignore * restore changes * streamline profiles with defaults; update tests and add vscode test * update rule profile tests * update wording for clearer profile management * refactor and clarify terminology * use original projectRoot var name * revert param desc * use updated claude assets from neno * add "YOUR_" before api key here * streamline codex profile * add gemini profile * update gemini profile * update tests * relocate function * update rules interactive setup Gemini desc * remove duplicative code * add comma
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
/**
|
|
* @typedef {'claude' | 'cline' | 'codex' | 'cursor' | 'gemini' | 'roo' | 'trae' | 'windsurf' | 'vscode'} 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
|
|
* - gemini: Gemini integration
|
|
* - roo: Roo Code IDE rules
|
|
* - trae: Trae IDE rules
|
|
* - vscode: VS Code with GitHub Copilot integration
|
|
* - windsurf: Windsurf IDE rules
|
|
*
|
|
* To add a new rule profile:
|
|
* 1. Add the profile name to this array
|
|
* 2. Create a profile file in src/profiles/{profile}.js
|
|
* 3. Export it as {profile}Profile in src/profiles/index.js
|
|
*/
|
|
export const RULE_PROFILES = [
|
|
'claude',
|
|
'cline',
|
|
'codex',
|
|
'cursor',
|
|
'gemini',
|
|
'roo',
|
|
'trae',
|
|
'vscode',
|
|
'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',
|
|
'orchestrator',
|
|
'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);
|
|
}
|