UNPKG

rulesync

Version:

Unified AI rules management CLI tool that generates configuration files for various AI development tools

51 lines (48 loc) 1.24 kB
// src/types/tool-targets.ts import { z } from "zod/mini"; var ALL_TOOL_TARGETS = [ "augmentcode", "augmentcode-legacy", "copilot", "cursor", "cline", "claudecode", "codexcli", "roo", "geminicli", "kiro", "junie" ]; var ToolTargetSchema = z.enum(ALL_TOOL_TARGETS); var ToolTargetsSchema = z.array(ToolTargetSchema); var WildcardTargetSchema = z.tuple([z.literal("*")]); var RulesyncTargetsSchema = z.union([ToolTargetsSchema, WildcardTargetSchema]); function isToolTarget(target) { if (!target) return false; return ALL_TOOL_TARGETS.some((validTarget) => validTarget === target); } // src/utils/mcp-helpers.ts function shouldIncludeServer(server, targetTool) { if (!server.targets || server.targets.length === 0) { return true; } const parsedTargets = RulesyncTargetsSchema.parse(server.targets); if (parsedTargets.length === 1 && parsedTargets[0] === "*") { return true; } const validatedTool = ToolTargetSchema.parse(targetTool); for (const target of parsedTargets) { if (target === validatedTool) { return true; } } return false; } export { ALL_TOOL_TARGETS, ToolTargetSchema, ToolTargetsSchema, RulesyncTargetsSchema, isToolTarget, shouldIncludeServer };