using System.Diagnostics; namespace MCPForUnity.Editor.Services.Server { /// /// Interface for launching commands in platform-specific terminal windows. /// Supports macOS Terminal, Windows cmd, and Linux terminal emulators. /// public interface ITerminalLauncher { /// /// Creates a ProcessStartInfo for opening a terminal window with the given command. /// Works cross-platform: macOS, Windows, and Linux. /// /// The command to execute in the terminal /// A configured ProcessStartInfo for launching the terminal ProcessStartInfo CreateTerminalProcessStartInfo(string command); /// /// Creates a ProcessStartInfo that runs the given command headless (no terminal window), /// redirecting both stdout and stderr to the given log file. /// /// The command to execute /// File that receives the process's stdout and stderr /// A configured ProcessStartInfo for launching the command in the background ProcessStartInfo CreateHeadlessProcessStartInfo(string command, string logFilePath); /// /// Gets the project root path for storing terminal scripts. /// /// Path to the project root directory string GetProjectRootPath(); } }