smartsh
Version:
Cross-shell command runner enabling Unix-style syntax on any OS.
2,538 lines (2,535 loc) • 98.4 kB
text/typescript
export interface BidirectionalMapping {
// Source commands
unix: string;
powershell: string;
cmd: string;
// Flag mappings for each direction
flagMappings: {
unix: Record<string, string>; // Unix flags → other shells
powershell: Record<string, string>; // PowerShell flags → other shells
cmd: Record<string, string>; // CMD flags → other shells
};
forceArgs?: boolean;
}
// PowerShell → Unix mappings
export const POWERSHELL_TO_UNIX_MAPPINGS: BidirectionalMapping[] = [
// File Operations
{
unix: "rm",
powershell: "Remove-Item",
cmd: "del",
flagMappings: {
unix: {
"-rf": "-rf",
"-fr": "-fr",
"-r": "-r",
"-f": "-f",
},
powershell: {
"-Recurse -Force": "-rf",
"-Force -Recurse": "-rf",
"-Recurse": "-r",
"-Force": "-f",
},
cmd: {
"/s /q": "-rf",
"/q /s": "-rf",
"/s": "-r",
"/q": "-f",
}
},
forceArgs: true,
},
{
unix: "ls",
powershell: "Get-ChildItem",
cmd: "dir",
flagMappings: {
unix: {
"-la": "-la",
"-al": "-al",
"-a": "-a",
"-l": "-l",
},
powershell: {
"-Force": "-la",
"": "-l",
},
cmd: {
"/a": "-la",
"": "-l",
}
},
},
{
unix: "cp",
powershell: "Copy-Item",
cmd: "copy",
flagMappings: {
unix: {
"-r": "-r",
"-R": "-R",
"-f": "-f",
"-rf": "-rf",
"-fr": "-fr",
},
powershell: {
"-Recurse": "-r",
"-Force": "-f",
"-Recurse -Force": "-rf",
"-Force -Recurse": "-rf",
},
cmd: {
"/s": "-r",
"/y": "-f",
"/s /y": "-rf",
"/y /s": "-rf",
}
},
forceArgs: true,
},
{
unix: "mv",
powershell: "Move-Item",
cmd: "move",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "mkdir",
powershell: "New-Item -ItemType Directory",
cmd: "md",
flagMappings: {
unix: {
"-p": "-p",
},
powershell: {
"-Force": "-p",
},
cmd: {
"": "-p",
}
},
},
{
unix: "cat",
powershell: "Get-Content",
cmd: "type",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "grep",
powershell: "Select-String",
cmd: "findstr",
flagMappings: {
unix: {
"-i": "-i",
"-n": "-n",
"-v": "-v",
},
powershell: {
"-CaseSensitive:$false": "-i",
"-LineNumber": "-n",
"-NotMatch": "-v",
},
cmd: {
"/i": "-i",
"/n": "-n",
"/v": "-v",
}
},
forceArgs: true,
},
{
unix: "pwd",
powershell: "Get-Location",
cmd: "cd",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "clear",
powershell: "Clear-Host",
cmd: "cls",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "whoami",
powershell: "$env:USERNAME",
cmd: "echo %USERNAME%",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "hostname",
powershell: "$env:COMPUTERNAME",
cmd: "echo %COMPUTERNAME%",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "echo",
powershell: "Write-Host",
cmd: "echo",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "sleep",
powershell: "Start-Sleep",
cmd: "timeout",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "ps",
powershell: "Get-Process",
cmd: "tasklist",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "kill",
powershell: "Stop-Process",
cmd: "taskkill",
flagMappings: {
unix: {
"-9": "-9",
},
powershell: {
"-Force": "-9",
},
cmd: {
"/f": "-9",
}
},
forceArgs: true,
},
{
unix: "touch",
powershell: "New-Item -ItemType File",
cmd: "type nul >",
flagMappings: {
unix: {
"-a": "-a",
"-m": "-m",
"-c": "-c",
},
powershell: {
"-AccessTime": "-a",
"-ModifyTime": "-m",
"-NoCreate": "-c",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "which",
powershell: "Get-Command",
cmd: "where",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "find",
powershell: "Get-ChildItem -Recurse",
cmd: "dir /s",
flagMappings: {
unix: {
"-name": "-name",
"-type": "-type",
"-delete": "-delete",
},
powershell: {
"-Filter": "-name",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "df",
powershell: "Get-PSDrive",
cmd: "dir",
flagMappings: {
unix: {
"-h": "-h",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "dirname",
powershell: "Split-Path -Parent",
cmd: "cd",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "basename",
powershell: "Split-Path -Leaf",
cmd: "echo",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "tee",
powershell: "Tee-Object",
cmd: "tee",
flagMappings: {
unix: {
"-a": "-a",
},
powershell: {
"-Append": "-a",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "tar",
powershell: "Compress-Archive",
cmd: "tar",
flagMappings: {
unix: {
"-c": "-c",
"-x": "-x",
"-f": "-f",
"-z": "-z",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "curl",
powershell: "Invoke-WebRequest",
cmd: "curl",
flagMappings: {
unix: {
"-o": "-o",
"-O": "-O",
"-s": "-s",
},
powershell: {
"-OutFile": "-o",
"-Silent": "-s",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "wget",
powershell: "Invoke-WebRequest",
cmd: "wget",
flagMappings: {
unix: {
"-O": "-O",
"-q": "-q",
},
powershell: {
"-OutFile": "-O",
"-Quiet": "-q",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "diff",
powershell: "Compare-Object",
cmd: "fc",
flagMappings: {
unix: {
"-u": "-u",
"-r": "-r",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "split",
powershell: "Split-Content",
cmd: "split",
flagMappings: {
unix: {
"-l": "-l",
"-b": "-b",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "paste",
powershell: "Join-Object",
cmd: "paste",
flagMappings: {
unix: {
"-d": "-d",
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "rsync",
powershell: "Copy-Item -Recurse",
cmd: "xcopy",
flagMappings: {
unix: {
"-a": "-a",
"-v": "-v",
"-z": "-z",
},
powershell: {
"-Verbose": "-v",
},
cmd: {
"/e": "-a",
"/v": "-v",
}
},
forceArgs: true,
},
{
unix: "chmod",
powershell: "Set-Acl",
cmd: "icacls",
flagMappings: {
unix: {
"+x": "+x",
"-x": "-x",
"755": "755",
"644": "644",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "chown",
powershell: "Set-Acl",
cmd: "takeown",
flagMappings: {
unix: {
"-R": "-R",
},
powershell: {
"-Recurse": "-R",
},
cmd: {
"/r": "-R",
}
},
forceArgs: true,
},
{
unix: "ln",
powershell: "New-Item -ItemType SymbolicLink",
cmd: "mklink",
flagMappings: {
unix: {
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "du",
powershell: "Get-ChildItem -Recurse | Measure-Object -Property Length -Sum",
cmd: "dir /s",
flagMappings: {
unix: {
"-h": "-h",
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "stat",
powershell: "Get-ItemProperty",
cmd: "dir",
flagMappings: {
unix: {
"-f": "-f",
"-t": "-t",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
// Text Processing Commands
{
unix: "wc",
powershell: "Measure-Object -Line",
cmd: "find /c /v",
flagMappings: {
unix: {
"-l": "-l",
"-w": "-w",
"-c": "-c",
},
powershell: {
"-Line": "-l",
"-Word": "-w",
"-Character": "-c",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "head",
powershell: "Select-Object -First",
cmd: "head",
flagMappings: {
unix: {
"-n": "-n",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "tail",
powershell: "Select-Object -Last",
cmd: "tail",
flagMappings: {
unix: {
"-n": "-n",
"-f": "-f",
},
powershell: {
"-Wait": "-f",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "sort",
powershell: "Sort-Object",
cmd: "sort",
flagMappings: {
unix: {
"-n": "-n",
"-r": "-r",
"-u": "-u",
},
powershell: {
"-NumericSort": "-n",
"-Descending": "-r",
"-Unique": "-u",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "uniq",
powershell: "Select-Object -Unique",
cmd: "uniq",
flagMappings: {
unix: {
"-c": "-c",
"-d": "-d",
"-u": "-u",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "awk",
powershell: "ForEach-Object",
cmd: "awk",
flagMappings: {
unix: {
"-F": "-F",
"-v": "-v",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "sed",
powershell: "ForEach-Object",
cmd: "sed",
flagMappings: {
unix: {
"-n": "-n",
"-i": "-i",
"-e": "-e",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "cut",
powershell: "ForEach-Object",
cmd: "cut",
flagMappings: {
unix: {
"-d": "-d",
"-f": "-f",
"-c": "-c",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "tr",
powershell: "ForEach-Object",
cmd: "tr",
flagMappings: {
unix: {
"-d": "-d",
"-s": "-s",
"-c": "-c",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "nl",
powershell: "ForEach-Object",
cmd: "nl",
flagMappings: {
unix: {
"-b": "-b",
"-n": "-n",
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "join",
powershell: "Join-Object",
cmd: "join",
flagMappings: {
unix: {
"-t": "-t",
"-1": "-1",
"-2": "-2",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "comm",
powershell: "Compare-Object",
cmd: "comm",
flagMappings: {
unix: {
"-1": "-1",
"-2": "-2",
"-3": "-3",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "expand",
powershell: "ForEach-Object",
cmd: "expand",
flagMappings: {
unix: {
"-t": "-t",
"-i": "-i",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "unexpand",
powershell: "ForEach-Object",
cmd: "unexpand",
flagMappings: {
unix: {
"-t": "-t",
"-a": "-a",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "fold",
powershell: "ForEach-Object",
cmd: "fold",
flagMappings: {
unix: {
"-w": "-w",
"-s": "-s",
"-b": "-b",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "fmt",
powershell: "ForEach-Object",
cmd: "fmt",
flagMappings: {
unix: {
"-w": "-w",
"-u": "-u",
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "rev",
powershell: "ForEach-Object",
cmd: "rev",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "tac",
powershell: "Get-Content | Sort-Object -Descending",
cmd: "tac",
flagMappings: {
unix: {
"-r": "-r",
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "column",
powershell: "Format-Table",
cmd: "column",
flagMappings: {
unix: {
"-t": "-t",
"-s": "-s",
"-n": "-n",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "pr",
powershell: "Format-List",
cmd: "pr",
flagMappings: {
unix: {
"-h": "-h",
"-l": "-l",
"-w": "-w",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "csplit",
powershell: "Split-Content",
cmd: "csplit",
flagMappings: {
unix: {
"-f": "-f",
"-n": "-n",
"-k": "-k",
},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "tsort",
powershell: "Sort-Object",
cmd: "tsort",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
// Network Tools
{
unix: "ping",
powershell: "Test-Connection",
cmd: "ping",
flagMappings: {
unix: {
"-c": "-c",
"-i": "-i",
"-s": "-s",
"-t": "-t",
},
powershell: {
"-Count": "-c",
"-IntervalSeconds": "-i",
"-BufferSize": "-s",
"-TimeoutSeconds": "-t",
},
cmd: {
"-n": "-c",
"-w": "-t",
}
},
forceArgs: true,
},
{
unix: "ssh",
powershell: "ssh",
cmd: "ssh",
flagMappings: {
unix: {
"-p": "-p",
"-i": "-i",
"-X": "-X",
"-Y": "-Y",
},
powershell: {
"-p": "-p",
"-i": "-i",
},
cmd: {
"-p": "-p",
"-i": "-i",
}
},
forceArgs: true,
},
{
unix: "telnet",
powershell: "telnet",
cmd: "telnet",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: true,
},
{
unix: "nc",
powershell: "netcat",
cmd: "nc",
flagMappings: {
unix: {
"-l": "-l",
"-p": "-p",
"-u": "-u",
"-v": "-v",
},
powershell: {
"-Listen": "-l",
"-Port": "-p",
"-UDP": "-u",
"-Verbose": "-v",
},
cmd: {
"-l": "-l",
"-p": "-p",
"-u": "-u",
}
},
forceArgs: true,
},
{
unix: "dig",
powershell: "Resolve-DnsName",
cmd: "nslookup",
flagMappings: {
unix: {
"+short": "+short",
"+trace": "+trace",
"@": "@",
},
powershell: {
"-Type": "",
"-Server": "@",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "netstat",
powershell: "Get-NetTCPConnection",
cmd: "netstat",
flagMappings: {
unix: {
"-t": "-t",
"-u": "-u",
"-l": "-l",
"-p": "-p",
"-n": "-n",
},
powershell: {
"-State": "",
"-LocalPort": "-p",
},
cmd: {
"-a": "-a",
"-n": "-n",
"-p": "-p",
}
},
forceArgs: false,
},
{
unix: "ifconfig",
powershell: "Get-NetAdapter",
cmd: "ipconfig",
flagMappings: {
unix: {
"-a": "-a",
"-s": "-s",
},
powershell: {
"-InterfaceIndex": "",
"-Name": "",
},
cmd: {
"/all": "-a",
}
},
forceArgs: false,
},
{
unix: "route",
powershell: "Get-NetRoute",
cmd: "route",
flagMappings: {
unix: {
"-n": "-n",
"-A": "-A",
"add": "add",
"del": "del",
},
powershell: {
"-AddressFamily": "-A",
},
cmd: {
"print": "print",
"add": "add",
"delete": "del",
}
},
forceArgs: false,
},
{
unix: "traceroute",
powershell: "Test-NetConnection",
cmd: "tracert",
flagMappings: {
unix: {
"-n": "-n",
"-I": "-I",
"-T": "-T",
},
powershell: {
"-TraceRoute": "",
"-InformationLevel": "",
},
cmd: {
"-d": "-n",
"-h": "-h",
}
},
forceArgs: true,
},
{
unix: "nmap",
powershell: "nmap",
cmd: "nmap",
flagMappings: {
unix: {
"-sS": "-sS",
"-sU": "-sU",
"-p": "-p",
"-A": "-A",
"-v": "-v",
},
powershell: {
"-sS": "-sS",
"-sU": "-sU",
"-p": "-p",
"-A": "-A",
"-v": "-v",
},
cmd: {
"-sS": "-sS",
"-sU": "-sU",
"-p": "-p",
"-A": "-A",
"-v": "-v",
}
},
forceArgs: true,
},
// Package Managers
{
unix: "apt",
powershell: "apt",
cmd: "apt",
flagMappings: {
unix: {
"update": "update",
"upgrade": "upgrade",
"install": "install",
"remove": "remove",
"search": "search",
"list": "list",
},
powershell: {
"update": "update",
"upgrade": "upgrade",
"install": "install",
"remove": "remove",
"search": "search",
"list": "list",
},
cmd: {
"update": "update",
"upgrade": "upgrade",
"install": "install",
"remove": "remove",
"search": "search",
"list": "list",
}
},
forceArgs: true,
},
{
unix: "apt-get",
powershell: "apt-get",
cmd: "apt-get",
flagMappings: {
unix: {
"update": "update",
"upgrade": "upgrade",
"install": "install",
"remove": "remove",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
},
powershell: {
"update": "update",
"upgrade": "upgrade",
"install": "install",
"remove": "remove",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
},
cmd: {
"update": "update",
"upgrade": "upgrade",
"install": "install",
"remove": "remove",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
}
},
forceArgs: true,
},
{
unix: "yum",
powershell: "yum",
cmd: "yum",
flagMappings: {
unix: {
"install": "install",
"remove": "remove",
"update": "update",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
},
powershell: {
"install": "install",
"remove": "remove",
"update": "update",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
},
cmd: {
"install": "install",
"remove": "remove",
"update": "update",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
}
},
forceArgs: true,
},
{
unix: "dnf",
powershell: "dnf",
cmd: "dnf",
flagMappings: {
unix: {
"install": "install",
"remove": "remove",
"update": "update",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
},
powershell: {
"install": "install",
"remove": "remove",
"update": "update",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
},
cmd: {
"install": "install",
"remove": "remove",
"update": "update",
"search": "search",
"list": "list",
"-y": "-y",
"-q": "-q",
}
},
forceArgs: true,
},
{
unix: "brew",
powershell: "brew",
cmd: "brew",
flagMappings: {
unix: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"upgrade": "upgrade",
},
powershell: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"upgrade": "upgrade",
},
cmd: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"upgrade": "upgrade",
}
},
forceArgs: true,
},
{
unix: "npm",
powershell: "npm",
cmd: "npm",
flagMappings: {
unix: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"run": "run",
"init": "init",
"-g": "-g",
"--save": "--save",
"--save-dev": "--save-dev",
},
powershell: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"run": "run",
"init": "init",
"-g": "-g",
"--save": "--save",
"--save-dev": "--save-dev",
},
cmd: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"run": "run",
"init": "init",
"-g": "-g",
"--save": "--save",
"--save-dev": "--save-dev",
}
},
forceArgs: true,
},
{
unix: "pnpm",
powershell: "pnpm",
cmd: "pnpm",
flagMappings: {
unix: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"run": "run",
"init": "init",
"-g": "-g",
"--save": "--save",
"--save-dev": "--save-dev",
},
powershell: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"run": "run",
"init": "init",
"-g": "-g",
"--save": "--save",
"--save-dev": "--save-dev",
},
cmd: {
"install": "install",
"uninstall": "uninstall",
"update": "update",
"search": "search",
"list": "list",
"run": "run",
"init": "init",
"-g": "-g",
"--save": "--save",
"--save-dev": "--save-dev",
}
},
forceArgs: true,
},
{
unix: "pip",
powershell: "pip",
cmd: "pip",
flagMappings: {
unix: {
"install": "install",
"uninstall": "uninstall",
"list": "list",
"search": "search",
"freeze": "freeze",
"upgrade": "upgrade",
"--user": "--user",
},
powershell: {
"install": "install",
"uninstall": "uninstall",
"list": "list",
"search": "search",
"freeze": "freeze",
"upgrade": "upgrade",
"--user": "--user",
},
cmd: {
"install": "install",
"uninstall": "uninstall",
"list": "list",
"search": "search",
"freeze": "freeze",
"upgrade": "upgrade",
"--user": "--user",
}
},
forceArgs: true,
},
{
unix: "conda",
powershell: "conda",
cmd: "conda",
flagMappings: {
unix: {
"install": "install",
"remove": "remove",
"update": "update",
"list": "list",
"search": "search",
"create": "create",
"activate": "activate",
"deactivate": "deactivate",
"-y": "-y",
},
powershell: {
"install": "install",
"remove": "remove",
"update": "update",
"list": "list",
"search": "search",
"create": "create",
"activate": "activate",
"deactivate": "deactivate",
"-y": "-y",
},
cmd: {
"install": "install",
"remove": "remove",
"update": "update",
"list": "list",
"search": "search",
"create": "create",
"activate": "activate",
"deactivate": "deactivate",
"-y": "-y",
}
},
forceArgs: true,
},
{
unix: "composer",
powershell: "composer",
cmd: "composer",
flagMappings: {
unix: {
"install": "install",
"update": "update",
"require": "require",
"remove": "remove",
"list": "list",
"search": "search",
"--no-dev": "--no-dev",
"--optimize-autoloader": "--optimize-autoloader",
},
powershell: {
"install": "install",
"update": "update",
"require": "require",
"remove": "remove",
"list": "list",
"search": "search",
"--no-dev": "--no-dev",
"--optimize-autoloader": "--optimize-autoloader",
},
cmd: {
"install": "install",
"update": "update",
"require": "require",
"remove": "remove",
"list": "list",
"search": "search",
"--no-dev": "--no-dev",
"--optimize-autoloader": "--optimize-autoloader",
}
},
forceArgs: true,
},
{
unix: "cargo",
powershell: "cargo",
cmd: "cargo",
flagMappings: {
unix: {
"build": "build",
"run": "run",
"test": "test",
"install": "install",
"update": "update",
"search": "search",
"new": "new",
"init": "init",
"--release": "--release",
"--verbose": "--verbose",
},
powershell: {
"build": "build",
"run": "run",
"test": "test",
"install": "install",
"update": "update",
"search": "search",
"new": "new",
"init": "init",
"--release": "--release",
"--verbose": "--verbose",
},
cmd: {
"build": "build",
"run": "run",
"test": "test",
"install": "install",
"update": "update",
"search": "search",
"new": "new",
"init": "init",
"--release": "--release",
"--verbose": "--verbose",
}
},
forceArgs: true,
},
{
unix: "go",
powershell: "go",
cmd: "go",
flagMappings: {
unix: {
"build": "build",
"run": "run",
"test": "test",
"install": "install",
"get": "get",
"mod": "mod",
"init": "init",
"fmt": "fmt",
"vet": "vet",
"clean": "clean",
},
powershell: {
"build": "build",
"run": "run",
"test": "test",
"install": "install",
"get": "get",
"mod": "mod",
"init": "init",
"fmt": "fmt",
"vet": "vet",
"clean": "clean",
},
cmd: {
"build": "build",
"run": "run",
"test": "test",
"install": "install",
"get": "get",
"mod": "mod",
"init": "init",
"fmt": "fmt",
"vet": "vet",
"clean": "clean",
}
},
forceArgs: true,
},
{
unix: "dotnet",
powershell: "dotnet",
cmd: "dotnet",
flagMappings: {
unix: {
"build": "build",
"run": "run",
"test": "test",
"restore": "restore",
"publish": "publish",
"new": "new",
"add": "add",
"remove": "remove",
"list": "list",
"clean": "clean",
"--configuration": "--configuration",
"--framework": "--framework",
},
powershell: {
"build": "build",
"run": "run",
"test": "test",
"restore": "restore",
"publish": "publish",
"new": "new",
"add": "add",
"remove": "remove",
"list": "list",
"clean": "clean",
"--configuration": "--configuration",
"--framework": "--framework",
},
cmd: {
"build": "build",
"run": "run",
"test": "test",
"restore": "restore",
"publish": "publish",
"new": "new",
"add": "add",
"remove": "remove",
"list": "list",
"clean": "clean",
"--configuration": "--configuration",
"--framework": "--framework",
}
},
forceArgs: true,
},
{
unix: "mvn",
powershell: "mvn",
cmd: "mvn",
flagMappings: {
unix: {
"compile": "compile",
"test": "test",
"package": "package",
"install": "install",
"clean": "clean",
"deploy": "deploy",
"spring-boot:run": "spring-boot:run",
"-DskipTests": "-DskipTests",
"-X": "-X",
},
powershell: {
"compile": "compile",
"test": "test",
"package": "package",
"install": "install",
"clean": "clean",
"deploy": "deploy",
"spring-boot:run": "spring-boot:run",
"-DskipTests": "-DskipTests",
"-X": "-X",
},
cmd: {
"compile": "compile",
"test": "test",
"package": "package",
"install": "install",
"clean": "clean",
"deploy": "deploy",
"spring-boot:run": "spring-boot:run",
"-DskipTests": "-DskipTests",
"-X": "-X",
}
},
forceArgs: true,
},
{
unix: "gradle",
powershell: "gradle",
cmd: "gradle",
flagMappings: {
unix: {
"build": "build",
"test": "test",
"run": "run",
"clean": "clean",
"assemble": "assemble",
"install": "install",
"bootRun": "bootRun",
"--debug": "--debug",
"--info": "--info",
},
powershell: {
"build": "build",
"test": "test",
"run": "run",
"clean": "clean",
"assemble": "assemble",
"install": "install",
"bootRun": "bootRun",
"--debug": "--debug",
"--info": "--info",
},
cmd: {
"build": "build",
"test": "test",
"run": "run",
"clean": "clean",
"assemble": "assemble",
"install": "install",
"bootRun": "bootRun",
"--debug": "--debug",
"--info": "--info",
}
},
forceArgs: true,
},
{
unix: "ant",
powershell: "ant",
cmd: "ant",
flagMappings: {
unix: {
"compile": "compile",
"test": "test",
"package": "package",
"clean": "clean",
"deploy": "deploy",
"-debug": "-debug",
"-verbose": "-verbose",
},
powershell: {
"compile": "compile",
"test": "test",
"package": "package",
"clean": "clean",
"deploy": "deploy",
"-debug": "-debug",
"-verbose": "-verbose",
},
cmd: {
"compile": "compile",
"test": "test",
"package": "package",
"clean": "clean",
"deploy": "deploy",
"-debug": "-debug",
"-verbose": "-verbose",
}
},
forceArgs: true,
},
{
unix: "make",
powershell: "make",
cmd: "make",
flagMappings: {
unix: {
"all": "all",
"clean": "clean",
"install": "install",
"uninstall": "uninstall",
"test": "test",
"-j": "-j",
"-f": "-f",
},
powershell: {
"all": "all",
"clean": "clean",
"install": "install",
"uninstall": "uninstall",
"test": "test",
"-j": "-j",
"-f": "-f",
},
cmd: {
"all": "all",
"clean": "clean",
"install": "install",
"uninstall": "uninstall",
"test": "test",
"-j": "-j",
"-f": "-f",
}
},
forceArgs: true,
},
{
unix: "cmake",
powershell: "cmake",
cmd: "cmake",
flagMappings: {
unix: {
"..": "..",
"build": "build",
"install": "install",
"test": "test",
"-DCMAKE_BUILD_TYPE": "-DCMAKE_BUILD_TYPE",
"-G": "-G",
},
powershell: {
"..": "..",
"build": "build",
"install": "install",
"test": "test",
"-DCMAKE_BUILD_TYPE": "-DCMAKE_BUILD_TYPE",
"-G": "-G",
},
cmd: {
"..": "..",
"build": "build",
"install": "install",
"test": "test",
"-DCMAKE_BUILD_TYPE": "-DCMAKE_BUILD_TYPE",
"-G": "-G",
}
},
forceArgs: true,
},
// System Administration Commands
{
unix: "systemctl",
powershell: "systemctl",
cmd: "sc",
flagMappings: {
unix: {
"start": "start",
"stop": "stop",
"restart": "restart",
"status": "status",
"enable": "enable",
"disable": "disable",
"reload": "reload",
},
powershell: {
"start": "start",
"stop": "stop",
"restart": "restart",
"status": "status",
"enable": "enable",
"disable": "disable",
"reload": "reload",
},
cmd: {
"start": "start",
"stop": "stop",
"restart": "restart",
"status": "status",
"enable": "enable",
"disable": "disable",
"reload": "reload",
}
},
forceArgs: true,
},
{
unix: "useradd",
powershell: "New-LocalUser",
cmd: "net user",
flagMappings: {
unix: {
"-m": "-m",
"-s": "-s",
"-G": "-G",
"-u": "-u",
},
powershell: {
"-Name": "",
"-Password": "",
"-Description": "",
},
cmd: {
"/add": "/add",
"/comment": "/comment",
}
},
forceArgs: true,
},
{
unix: "userdel",
powershell: "Remove-LocalUser",
cmd: "net user",
flagMappings: {
unix: {
"-r": "-r",
"-f": "-f",
},
powershell: {
"-Name": "",
"-Force": "-f",
},
cmd: {
"/delete": "/delete",
}
},
forceArgs: true,
},
{
unix: "passwd",
powershell: "Set-LocalUser",
cmd: "net user",
flagMappings: {
unix: {
"-l": "-l",
"-u": "-u",
"-d": "-d",
},
powershell: {
"-Name": "",
"-Password": "",
},
cmd: {
"/password": "/password",
}
},
forceArgs: true,
},
{
unix: "su",
powershell: "Start-Process",
cmd: "runas",
flagMappings: {
unix: {
"-": "-",
"-c": "-c",
"-l": "-l",
},
powershell: {
"-Verb": "runas",
"-ArgumentList": "-c",
},
cmd: {
"/user:": "/user:",
"/profile": "-l",
}
},
forceArgs: true,
},
{
unix: "sudo",
powershell: "Start-Process",
cmd: "runas",
flagMappings: {
unix: {
"-u": "-u",
"-E": "-E",
"-s": "-s",
},
powershell: {
"-Verb": "runas",
"-ArgumentList": "",
},
cmd: {
"/user:": "/user:",
}
},
forceArgs: true,
},
{
unix: "shutdown",
powershell: "Stop-Computer",
cmd: "shutdown",
flagMappings: {
unix: {
"-h": "-h",
"-r": "-r",
"-c": "-c",
"-t": "-t",
},
powershell: {
"-Force": "-f",
"-Restart": "-r",
},
cmd: {
"/s": "/s",
"/r": "/r",
"/t": "/t",
"/c": "/c",
}
},
forceArgs: false,
},
{
unix: "reboot",
powershell: "Restart-Computer",
cmd: "shutdown",
flagMappings: {
unix: {
"-f": "-f",
"-n": "-n",
},
powershell: {
"-Force": "-f",
},
cmd: {
"/r": "/r",
"/f": "/f",
}
},
forceArgs: false,
},
{
unix: "halt",
powershell: "Stop-Computer",
cmd: "shutdown",
flagMappings: {
unix: {
"-f": "-f",
"-n": "-n",
},
powershell: {
"-Force": "-f",
},
cmd: {
"/s": "/s",
"/f": "/f",
}
},
forceArgs: false,
},
{
unix: "poweroff",
powershell: "Stop-Computer",
cmd: "shutdown",
flagMappings: {
unix: {
"-f": "-f",
"-n": "-n",
},
powershell: {
"-Force": "-f",
},
cmd: {
"/s": "/s",
"/f": "/f",
}
},
forceArgs: false,
},
{
unix: "uptime",
powershell: "Get-Uptime",
cmd: "net statistics",
flagMappings: {
unix: {
"-p": "-p",
"-s": "-s",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "free",
powershell: "Get-Counter",
cmd: "wmic",
flagMappings: {
unix: {
"-h": "-h",
"-m": "-m",
"-g": "-g",
"-t": "-t",
},
powershell: {
"-Counter": "",
"-SampleInterval": "",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "jobs",
powershell: "Get-Job",
cmd: "tasklist",
flagMappings: {
unix: {
"-l": "-l",
"-p": "-p",
"-r": "-r",
},
powershell: {
"-State": "",
"-Id": "",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "bg",
powershell: "Resume-Job",
cmd: "start",
flagMappings: {
unix: {
"%": "%",
},
powershell: {
"-Id": "",
"-Name": "",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "fg",
powershell: "Wait-Job",
cmd: "wait",
flagMappings: {
unix: {
"%": "%",
},
powershell: {
"-Id": "",
"-Name": "",
},
cmd: {}
},
forceArgs: false,
},
{
unix: "nice",
powershell: "Start-Process",
cmd: "start",
flagMappings: {
unix: {
"-n": "-n",
},
powershell: {
"-PriorityClass": "",
},
cmd: {
"/low": "/low",
"/normal": "/normal",
"/high": "/high",
}
},
forceArgs: true,
},
{
unix: "nohup",
powershell: "Start-Process",
cmd: "start",
flagMappings: {
unix: {},
powershell: {
"-WindowStyle": "Hidden",
},
cmd: {
"/b": "/b",
}
},
forceArgs: true,
},
{
unix: "chgrp",
powershell: "Set-Acl",
cmd: "icacls",
flagMappings: {
unix: {
"-R": "-R",
"-H": "-H",
"-L": "-L",
},
powershell: {
"-Recurse": "-R",
},
cmd: {
"/t": "/t",
}
},
forceArgs: true,
},
{
unix: "umask",
powershell: "umask",
cmd: "umask",
flagMappings: {
unix: {
"-S": "-S",
"-p": "-p",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "mktemp",
powershell: "New-TemporaryFile",
cmd: "mktemp",
flagMappings: {
unix: {
"-d": "-d",
"-u": "-u",
"-t": "-t",
},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "realpath",
powershell: "Resolve-Path",
cmd: "cd",
flagMappings: {
unix: {
"-q": "-q",
"-e": "-e",
"-m": "-m",
},
powershell: {
"-Relative": "",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "less",
powershell: "Get-Content",
cmd: "more",
flagMappings: {
unix: {
"-N": "-N",
"-R": "-R",
"-S": "-S",
"-F": "-F",
},
powershell: {
"-Tail": "",
"-Wait": "",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "more",
powershell: "Get-Content",
cmd: "more",
flagMappings: {
unix: {
"-d": "-d",
"-f": "-f",
"-p": "-p",
"-c": "-c",
},
powershell: {
"-Tail": "",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "top",
powershell: "Get-Process",
cmd: "tasklist",
flagMappings: {
unix: {
"-p": "-p",
"-u": "-u",
"-n": "-n",
"-d": "-d",
},
powershell: {
"-Id": "-p",
"-Name": "-u",
},
cmd: {
"/fi": "/fi",
}
},
forceArgs: false,
},
{
unix: "gzip",
powershell: "Compress-Archive",
cmd: "gzip",
flagMappings: {
unix: {
"-d": "-d",
"-r": "-r",
"-v": "-v",
"-l": "-l",
},
powershell: {
"-DestinationPath": "",
"-Force": "-f",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "gunzip",
powershell: "Expand-Archive",
cmd: "gunzip",
flagMappings: {
unix: {
"-r": "-r",
"-v": "-v",
"-l": "-l",
"-f": "-f",
},
powershell: {
"-DestinationPath": "",
"-Force": "-f",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "git",
powershell: "git",
cmd: "git",
flagMappings: {
unix: {
"clone": "clone",
"pull": "pull",
"push": "push",
"commit": "commit",
"add": "add",
"status": "status",
"log": "log",
"branch": "branch",
"checkout": "checkout",
"merge": "merge",
"reset": "reset",
"stash": "stash",
"remote": "remote",
"fetch": "fetch",
"tag": "tag",
},
powershell: {
"clone": "clone",
"pull": "pull",
"push": "push",
"commit": "commit",
"add": "add",
"status": "status",
"log": "log",
"branch": "branch",
"checkout": "checkout",
"merge": "merge",
"reset": "reset",
"stash": "stash",
"remote": "remote",
"fetch": "fetch",
"tag": "tag",
},
cmd: {
"clone": "clone",
"pull": "pull",
"push": "push",
"commit": "commit",
"add": "add",
"status": "status",
"log": "log",
"branch": "branch",
"checkout": "checkout",
"merge": "merge",
"reset": "reset",
"stash": "stash",
"remote": "remote",
"fetch": "fetch",
"tag": "tag",
}
},
forceArgs: true,
},
// Additional System Tools
{
unix: "lsof",
powershell: "Get-NetTCPConnection",
cmd: "netstat",
flagMappings: {
unix: {
"-i": "-i",
"-p": "-p",
"-u": "-u",
"-t": "-t",
},
powershell: {
"-State": "",
"-LocalPort": "",
},
cmd: {
"-an": "-an",
"-o": "-o",
}
},
forceArgs: false,
},
{
unix: "pkill",
powershell: "Stop-Process",
cmd: "taskkill",
flagMappings: {
unix: {
"-f": "-f",
"-9": "-9",
"-u": "-u",
},
powershell: {
"-Name": "",
"-Force": "-f",
},
cmd: {
"/f": "/f",
"/im": "/im",
}
},
forceArgs: true,
},
{
unix: "pgrep",
powershell: "Get-Process",
cmd: "tasklist",
flagMappings: {
unix: {
"-f": "-f",
"-l": "-l",
"-u": "-u",
},
powershell: {
"-Name": "",
},
cmd: {
"/fi": "/fi",
}
},
forceArgs: true,
},
{
unix: "killall",
powershell: "Stop-Process",
cmd: "taskkill",
flagMappings: {
unix: {
"-9": "-9",
"-u": "-u",
"-v": "-v",
},
powershell: {
"-Name": "",
"-Force": "-f",
},
cmd: {
"/f": "/f",
"/im": "/im",
}
},
forceArgs: true,
},
{
unix: "renice",
powershell: "Set-ProcessPriority",
cmd: "wmic",
flagMappings: {
unix: {
"-n": "-n",
"-p": "-p",
"-g": "-g",
"-u": "-u",
},
powershell: {
"-Id": "-p",
"-PriorityClass": "",
},
cmd: {}
},
forceArgs: true,
},
{
unix: "at",
powershell: "Register-ScheduledJob",
cmd: "at",
flagMappings: {
unix: {
"-f": "-f",
"-l": "-l",
"-d": "-d",
"-m": "-m",
},
powershell: {
"-Name": "",
"-ScriptBlock": "",
"-Trigger": "",
},
cmd: {
"/delete": "/delete",
"/yes": "/yes",
}
},
forceArgs: true,
},
{
unix: "atq",
powershell: "Get-ScheduledJob",
cmd: "at",
flagMappings: {
unix: {},
powershell: {},
cmd: {}
},
forceArgs: false,
},
{
unix: "atrm",
powershell: "Unregister-ScheduledJob",
cmd: "at",
flagMappings: {
unix: {},
powershell: {
"-Id": "",
},
cmd: {
"/delete": "/delete",
}
},
forceArgs: true,
},
{
unix: "dmesg",
powershell: "Get-EventLog",
cmd: "wevtutil",
flagMappings: {
unix: {
"-T": "-T",
"-k": "-k",
"-x": "-x",
"-w": "-w",
},
powershell: {
"-LogName": "System",
"-Newest": "",
},
cmd: {
"qe": "qe",
"System": "System",
}
},
forceArgs: false,
},
{
unix: "journalctl",
powershell: "Get-EventLog",
cmd: "wevtutil",
flagMappings: {
unix: {
"-f": "-f",
"-n": "-n",
"-u": "-u",
"-p": "-p",
},
powershell: {
"-LogName": "System",
"-Newest": "-n",
"-Follow": "-f",
},
cmd: {
"qe": "qe",
"System": "System",
}
},
forceArgs: false,
},
{
unix: "logrotate",
powershell: "logrotate",
cmd: "logrotate",
flagMappings: {
unix: {
"-d": "-d",
"-f": "-f",
"-s": "-s",
"-v": "-v",
},
powershell: {},
cmd: {}