@@ -111,16 +111,30 @@ async function processEmptyFeatureGeneration(params: {
111111 return { count : totalCount , paths : [ ] , hasDiff } ;
112112}
113113
114+ const SIMULATE_OPTION_MAP : Partial < Record < Feature , string > > = {
115+ commands : "--simulate-commands" ,
116+ subagents : "--simulate-subagents" ,
117+ skills : "--simulate-skills" ,
118+ } ;
119+
114120function warnUnsupportedTargets ( params : {
115121 config : Config ;
116122 supportedTargets : ToolTarget [ ] ;
123+ simulatedTargets ?: ToolTarget [ ] ;
117124 featureName : Feature ;
118125 logger : Logger ;
119126} ) : void {
120- const { config, supportedTargets, featureName, logger } = params ;
127+ const { config, supportedTargets, simulatedTargets = [ ] , featureName, logger } = params ;
121128 for ( const target of config . getTargets ( ) ) {
122129 if ( ! supportedTargets . includes ( target ) && config . getFeatures ( target ) . includes ( featureName ) ) {
123- logger . warn ( `Target '${ target } ' does not support the feature '${ featureName } '. Skipping.` ) ;
130+ const simulateOption = SIMULATE_OPTION_MAP [ featureName ] ;
131+ if ( simulateOption && simulatedTargets . includes ( target ) ) {
132+ logger . warn (
133+ `Target '${ target } ' only supports simulated '${ featureName } '. Use '${ simulateOption } ' to enable it. Skipping.` ,
134+ ) ;
135+ } else {
136+ logger . warn ( `Target '${ target } ' does not support the feature '${ featureName } '. Skipping.` ) ;
137+ }
124138 }
125139 }
126140}
@@ -370,6 +384,7 @@ async function generateCommandsCore(params: {
370384 warnUnsupportedTargets ( {
371385 config,
372386 supportedTargets : supportedCommandsTargets ,
387+ simulatedTargets : CommandsProcessor . getToolTargetsSimulated ( ) ,
373388 featureName : "commands" ,
374389 logger,
375390 } ) ;
@@ -425,6 +440,7 @@ async function generateSubagentsCore(params: {
425440 warnUnsupportedTargets ( {
426441 config,
427442 supportedTargets : supportedSubagentsTargets ,
443+ simulatedTargets : SubagentsProcessor . getToolTargetsSimulated ( ) ,
428444 featureName : "subagents" ,
429445 logger,
430446 } ) ;
@@ -481,6 +497,7 @@ async function generateSkillsCore(params: {
481497 warnUnsupportedTargets ( {
482498 config,
483499 supportedTargets : supportedSkillsTargets ,
500+ simulatedTargets : SkillsProcessor . getToolTargetsSimulated ( ) ,
484501 featureName : "skills" ,
485502 logger,
486503 } ) ;
0 commit comments