Skip to content

Commit 24e2993

Browse files
authored
Merge pull request #1362 from dyoshikawa/fix/factorydroid-simulated-docs-and-warning
fix: correct Factory Droid supported features table and improve simulated warning
2 parents 0f53452 + caa0322 commit 24e2993

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ See [Quick Start guide](https://dyoshikawa.github.io/rulesync/getting-started/qu
7373
| GitHub Copilot | copilot | ✅ 🌏 | ||||||
7474
| GitHub Copilot CLI | copilotcli | | | ✅ 🌏 | | | | |
7575
| Cursor | cursor ||| ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
76-
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
76+
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | 🎮 | 🎮 | 🎮 | ✅ 🌏 |
7777
| OpenCode | opencode | ✅ 🌏 | | ✅ 🌏 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
7878
| Cline | cline |||| ✅ 🌏 | | ✅ 🌏 | |
7979
| Kilo Code | kilo | ✅ 🌏 ||| ✅ 🌏 | | ✅ 🌏 | |

docs/reference/supported-tools.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Rulesync supports both **generation** and **import** for All of the major AI cod
1212
| GitHub Copilot | copilot | ✅ 🌏 | ||||||
1313
| Goose | goose | ✅ 🌏 || | | | | |
1414
| Cursor | cursor ||| ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
15-
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
15+
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | 🎮 | 🎮 | 🎮 | ✅ 🌏 |
1616
| OpenCode | opencode | ✅ 🌏 | | ✅ 🌏 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
1717
| Cline | cline |||| ✅ 🌏 | | ✅ 🌏 | |
1818
| Kilo Code | kilo | ✅ 🌏 ||| ✅ 🌏 | | ✅ 🌏 | |

skills/rulesync/supported-tools.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Rulesync supports both **generation** and **import** for All of the major AI cod
1212
| GitHub Copilot | copilot | ✅ 🌏 | ||||||
1313
| Goose | goose | ✅ 🌏 || | | | | |
1414
| Cursor | cursor ||| ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 ||
15-
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
15+
| Factory Droid | factorydroid | ✅ 🌏 | | ✅ 🌏 | 🎮 | 🎮 | 🎮 | ✅ 🌏 |
1616
| OpenCode | opencode | ✅ 🌏 | | ✅ 🌏 🔧 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
1717
| Cline | cline |||| ✅ 🌏 | | ✅ 🌏 | |
1818
| Kilo Code | kilo | ✅ 🌏 ||| ✅ 🌏 | | ✅ 🌏 | |

src/lib/generate.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
114120
function 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

Comments
 (0)