UNPKG

@intellectronica/ruler

Version:

Ruler — apply the same rules to all coding agents

88 lines (87 loc) 3.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.allAgents = exports.AbstractAgent = void 0; exports.getAgentIdentifiersForCliHelp = getAgentIdentifiersForCliHelp; const AbstractAgent_1 = require("./AbstractAgent"); Object.defineProperty(exports, "AbstractAgent", { enumerable: true, get: function () { return AbstractAgent_1.AbstractAgent; } }); const CopilotAgent_1 = require("./CopilotAgent"); const ClaudeAgent_1 = require("./ClaudeAgent"); const CodexCliAgent_1 = require("./CodexCliAgent"); const CursorAgent_1 = require("./CursorAgent"); const WindsurfAgent_1 = require("./WindsurfAgent"); const ClineAgent_1 = require("./ClineAgent"); const AiderAgent_1 = require("./AiderAgent"); const FirebaseAgent_1 = require("./FirebaseAgent"); const OpenHandsAgent_1 = require("./OpenHandsAgent"); const GeminiCliAgent_1 = require("./GeminiCliAgent"); const JulesAgent_1 = require("./JulesAgent"); const JunieAgent_1 = require("./JunieAgent"); const AugmentCodeAgent_1 = require("./AugmentCodeAgent"); const KiloCodeAgent_1 = require("./KiloCodeAgent"); const OpenCodeAgent_1 = require("./OpenCodeAgent"); const CrushAgent_1 = require("./CrushAgent"); const GooseAgent_1 = require("./GooseAgent"); const AmpAgent_1 = require("./AmpAgent"); const ZedAgent_1 = require("./ZedAgent"); const AgentsMdAgent_1 = require("./AgentsMdAgent"); const QwenCodeAgent_1 = require("./QwenCodeAgent"); const KiroAgent_1 = require("./KiroAgent"); const WarpAgent_1 = require("./WarpAgent"); const RooCodeAgent_1 = require("./RooCodeAgent"); const TraeAgent_1 = require("./TraeAgent"); const AmazonQCliAgent_1 = require("./AmazonQCliAgent"); const FirebenderAgent_1 = require("./FirebenderAgent"); const FactoryDroidAgent_1 = require("./FactoryDroidAgent"); const AntigravityAgent_1 = require("./AntigravityAgent"); const MistralVibeAgent_1 = require("./MistralVibeAgent"); const PiAgent_1 = require("./PiAgent"); const JetBrainsAiAssistantAgent_1 = require("./JetBrainsAiAssistantAgent"); exports.allAgents = [ new CopilotAgent_1.CopilotAgent(), new ClaudeAgent_1.ClaudeAgent(), new CodexCliAgent_1.CodexCliAgent(), new CursorAgent_1.CursorAgent(), new WindsurfAgent_1.WindsurfAgent(), new ClineAgent_1.ClineAgent(), new AiderAgent_1.AiderAgent(), new FirebaseAgent_1.FirebaseAgent(), new OpenHandsAgent_1.OpenHandsAgent(), new GeminiCliAgent_1.GeminiCliAgent(), new JulesAgent_1.JulesAgent(), new JunieAgent_1.JunieAgent(), new AugmentCodeAgent_1.AugmentCodeAgent(), new KiloCodeAgent_1.KiloCodeAgent(), new OpenCodeAgent_1.OpenCodeAgent(), new GooseAgent_1.GooseAgent(), new CrushAgent_1.CrushAgent(), new AmpAgent_1.AmpAgent(), new ZedAgent_1.ZedAgent(), new QwenCodeAgent_1.QwenCodeAgent(), new AgentsMdAgent_1.AgentsMdAgent(), new KiroAgent_1.KiroAgent(), new WarpAgent_1.WarpAgent(), new RooCodeAgent_1.RooCodeAgent(), new TraeAgent_1.TraeAgent(), new AmazonQCliAgent_1.AmazonQCliAgent(), new FirebenderAgent_1.FirebenderAgent(), new FactoryDroidAgent_1.FactoryDroidAgent(), new AntigravityAgent_1.AntigravityAgent(), new MistralVibeAgent_1.MistralVibeAgent(), new PiAgent_1.PiAgent(), new JetBrainsAiAssistantAgent_1.JetBrainsAiAssistantAgent(), ]; /** * Generates a comma-separated list of agent identifiers for CLI help text. * Returns identifiers in alphabetical order, with 'agentsmd' always first. */ function getAgentIdentifiersForCliHelp() { const identifiers = exports.allAgents.map((agent) => agent.getIdentifier()); const sorted = identifiers.sort(); // Ensure agentsmd is first (it should already be first alphabetically, but let's be explicit) const agentsMdIndex = sorted.indexOf('agentsmd'); if (agentsMdIndex > 0) { const agentsmd = sorted.splice(agentsMdIndex, 1)[0]; sorted.unshift(agentsmd); } return sorted.join(', '); }