From 79e7345dccbbdb279afdb56b10284f7166a6a6a2 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Thu, 25 Dec 2025 22:45:32 +1100 Subject: [PATCH] Add Cursor CLI detection to AiCliDetector Introduces detection for the Cursor CLI by checking for the CURSOR_AGENT environment variable. Updates related tests and documentation to include the new IsCursor property. --- readme.md | 3 ++- src/DiffEngine.Tests/AiCliDetectorTest.cs | 1 + src/DiffEngine/AiCliDetector.cs | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index d8499ade..ba7f6231 100644 --- a/readme.md +++ b/readme.md @@ -178,10 +178,11 @@ There are also individual properties to check for each specific AI CLI ```cs var isCopilot = AiCliDetector.IsCopilot; +var isCursor = AiCliDetector.IsCursor; var isAider = AiCliDetector.IsAider; var isClaudeCode = AiCliDetector.IsClaudeCode; ``` -snippet source | anchor +snippet source | anchor diff --git a/src/DiffEngine.Tests/AiCliDetectorTest.cs b/src/DiffEngine.Tests/AiCliDetectorTest.cs index acacd970..49acc380 100644 --- a/src/DiffEngine.Tests/AiCliDetectorTest.cs +++ b/src/DiffEngine.Tests/AiCliDetectorTest.cs @@ -9,6 +9,7 @@ public void Props() #region AiCliDetectorProps var isCopilot = AiCliDetector.IsCopilot; + var isCursor = AiCliDetector.IsCursor; var isAider = AiCliDetector.IsAider; var isClaudeCode = AiCliDetector.IsClaudeCode; diff --git a/src/DiffEngine/AiCliDetector.cs b/src/DiffEngine/AiCliDetector.cs index bb822b90..28a780c6 100644 --- a/src/DiffEngine/AiCliDetector.cs +++ b/src/DiffEngine/AiCliDetector.cs @@ -18,11 +18,18 @@ static AiCliDetector() // https://docs.anthropic.com/en/docs/build-with-claude/claude-cli IsClaudeCode = variables.Contains("CLAUDECODE") || variables.Contains("CLAUDE_CODE_ENTRYPOINT"); + // Cursor + // https://cursor.com/docs/agent/terminal + IsCursor = variables.Contains("CURSOR_AGENT"); + Detected = IsCopilot || IsAider || - IsClaudeCode; + IsClaudeCode || + IsCursor; } + public static bool IsCursor { get; set; } + public static bool IsCopilot { get; } public static bool IsAider { get; }