fix: wrap string profile values in arrays for consistency

The ternary operators WERE needed after all! Profile values can be:
- Arrays: ['dev', 'architect', 'pm']
- Strings: 'all' (special keyword)

Downstream code expects arrays:
- filterWorkflows() checks selectedWorkflows.includes('all')
- filterAgents() checks selectedAgents.includes('all')
- separateModifiers() iterates with for-of loop

Without wrapping strings in arrays:
- 'all' → stays as string → includes() doesn't work
- WITH fix: 'all' → becomes ['all'] → includes('all') works ✓

This fixes the profile workflow:
1. Profile defines: workflows: 'all'
2. Parser wraps: normalized.workflows = ['all']
3. Filter checks: selectedWorkflows.includes('all') → true ✓

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Nikita Levyankov 2025-12-18 12:36:30 +02:00
parent b88845c0fe
commit e9c0aafad9
1 changed files with 4 additions and 3 deletions

View File

@ -127,14 +127,15 @@ function parseOptions(cliOptions) {
normalized.profileWorkflows = profile.workflows; normalized.profileWorkflows = profile.workflows;
// If no explicit modules/agents/workflows, use profile values // If no explicit modules/agents/workflows, use profile values
// Ensure strings like 'all' are wrapped in arrays for consistency
if (!normalized.modules) { if (!normalized.modules) {
normalized.modules = profile.modules; normalized.modules = Array.isArray(profile.modules) ? profile.modules : [profile.modules];
} }
if (!normalized.agents) { if (!normalized.agents) {
normalized.agents = profile.agents; normalized.agents = Array.isArray(profile.agents) ? profile.agents : [profile.agents];
} }
if (!normalized.workflows) { if (!normalized.workflows) {
normalized.workflows = profile.workflows; normalized.workflows = Array.isArray(profile.workflows) ? profile.workflows : [profile.workflows];
} }
} }