Skip to content

Commit 77fcf00

Browse files
committed
Release 0.7.1: verify all built-in CLIs, complete install/update presets
Audited every built-in agent against current official sources and completed the presets: - Native Windows (PowerShell) installers added for Cursor, Grok, Hermes. - Update commands added for Cursor (cursor-agent update), OpenCode (opencode upgrade), Droid (droid update). - Commands and npm package names confirmed correct for the rest (incl. crush @charmland/crush, droid, mimo).
1 parent 4c9eabb commit 77fcf00

5 files changed

Lines changed: 41 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33
All notable changes to this project are documented here. The format is based on
44
[Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
55

6+
## [0.7.1]
7+
8+
- **Verified every built-in CLI against current official sources** and completed the install/update
9+
presets:
10+
- **Native Windows installers** added for **Cursor**, **Grok**, and **Hermes** (these now ship a
11+
PowerShell installer upstream, so guided install works on native Windows, not only under WSL).
12+
- **Update buttons** added for **Cursor** (`cursor-agent update`), **OpenCode** (`opencode upgrade`),
13+
and **Droid** (`droid update`), which now expose official update commands.
14+
- No changes to commands or package names — claude, codex, copilot, kilo, crush (`@charmland/crush`),
15+
command-code, antigravity, droid (`droid`), and mimo were all confirmed correct.
16+
617
## [0.7.0]
718

819
- **Favorite agent.** Mark an agent as your favorite with the star (★) button next to it in the

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "Super CLI — AI Coding Agent Launcher (Claude Code, Codex, Copilot)",
44
"description": "Launch any AI coding-agent CLI — Claude Code, Codex, GitHub Copilot, Cursor, Crush, OpenCode and more — from one sidebar and side terminal. Works in VS Code, Cursor, Antigravity & Windsurf on Windows, macOS & Linux.",
55
"publisher": "mikesoft",
6-
"version": "0.7.0",
6+
"version": "0.7.1",
77
"repository": {
88
"type": "git",
99
"url": "https://github.com/TheStreamCode/super-cli.git"

src/agents.ts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,11 @@ export const BUILTIN_AGENTS: readonly Agent[] = [
5757
label: 'Grok CLI',
5858
command: 'grok',
5959
icon: 'zap',
60-
// xAI ships a standalone binary via an official shell installer (no npm package).
61-
installCommand: { unix: 'curl -fsSL https://x.ai/cli/install.sh | bash' },
60+
// xAI ships a standalone binary via official installers: shell on macOS/Linux, PowerShell on Windows.
61+
installCommand: {
62+
unix: 'curl -fsSL https://x.ai/cli/install.sh | bash',
63+
windows: 'powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://x.ai/cli/install.ps1 | iex"',
64+
},
6265
autoInstall: true,
6366
},
6467
{
@@ -90,6 +93,7 @@ export const BUILTIN_AGENTS: readonly Agent[] = [
9093
icon: 'code',
9194
installCommand: 'npm install -g opencode-ai',
9295
autoInstall: true,
96+
updateCommand: 'opencode upgrade',
9397
},
9498
{
9599
id: 'command-code',
@@ -112,9 +116,13 @@ export const BUILTIN_AGENTS: readonly Agent[] = [
112116
label: 'Cursor CLI',
113117
command: 'cursor-agent',
114118
icon: 'edit',
115-
// Official shell installer (no npm package). On Windows it runs under WSL.
116-
installCommand: { unix: 'curl https://cursor.com/install -fsS | bash' },
119+
// Official shell installer (macOS/Linux) and native Windows PowerShell installer.
120+
installCommand: {
121+
unix: 'curl https://cursor.com/install -fsS | bash',
122+
windows: 'powershell -NoProfile -ExecutionPolicy Bypass -Command "irm \'https://cursor.com/install?win32=true\' | iex"',
123+
},
117124
autoInstall: true,
125+
updateCommand: 'cursor-agent update',
118126
},
119127
{
120128
id: 'droid',
@@ -123,6 +131,7 @@ export const BUILTIN_AGENTS: readonly Agent[] = [
123131
icon: 'circuit-board',
124132
installCommand: 'npm install -g droid',
125133
autoInstall: true,
134+
updateCommand: 'droid update',
126135
},
127136
{
128137
id: 'crush',
@@ -138,8 +147,11 @@ export const BUILTIN_AGENTS: readonly Agent[] = [
138147
label: 'Hermes',
139148
command: 'hermes',
140149
icon: 'send',
141-
// Official shell installer (no npm package).
142-
installCommand: { unix: 'curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash' },
150+
// Official installers: shell on macOS/Linux/WSL, native PowerShell on Windows.
151+
installCommand: {
152+
unix: 'curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash',
153+
windows: 'powershell -NoProfile -ExecutionPolicy Bypass -Command "iex (irm https://hermes-agent.nousresearch.com/install.ps1)"',
154+
},
143155
autoInstall: true,
144156
updateCommand: 'hermes update',
145157
},

test/agents.test.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ test('agents with a known update command carry their official one', () => {
6161
kilo: 'kilo upgrade',
6262
hermes: 'hermes update',
6363
crush: 'npm install -g @charmland/crush',
64+
opencode: 'opencode upgrade',
65+
cursor: 'cursor-agent update',
66+
droid: 'droid update',
6467
};
6568
for (const [id, cmd] of Object.entries(expected)) {
6669
const agent = BUILTIN_AGENTS.find((a) => a.id === id);
@@ -69,7 +72,7 @@ test('agents with a known update command carry their official one', () => {
6972
});
7073

7174
test('self-updating CLIs have no manual update command', () => {
72-
for (const id of ['opencode', 'cursor', 'droid', 'mimo', 'command-code']) {
75+
for (const id of ['mimo', 'command-code']) {
7376
const agent = BUILTIN_AGENTS.find((a) => a.id === id);
7477
assert.equal(agent.updateCommand, undefined, id);
7578
}
@@ -111,10 +114,10 @@ test("Antigravity inherits Gemini's icon and uses the official OS-specific insta
111114
assert.equal(agy.autoInstall, true);
112115
});
113116

114-
test('Grok uses the official xAI shell installer on Unix only', () => {
117+
test('Grok uses the official xAI installers on both Unix and Windows', () => {
115118
const grok = BUILTIN_AGENTS.find((a) => a.id === 'grok');
116119
assert.match(grok.installCommand.unix, /x\.ai\/cli\/install\.sh/);
117-
assert.equal(grok.installCommand.windows, undefined);
120+
assert.match(grok.installCommand.windows, /x\.ai\/cli\/install\.ps1/);
118121
});
119122

120123
test('Cursor, Droid, Crush, Hermes, and MiMo Code ship as built-in presets', () => {
@@ -123,10 +126,11 @@ test('Cursor, Droid, Crush, Hermes, and MiMo Code ship as built-in presets', ()
123126
assert.equal(byId.droid.command, 'droid');
124127
assert.equal(byId.crush.installCommand, 'npm install -g @charmland/crush');
125128
assert.equal(byId.mimo.installCommand, 'npm install -g @mimo-ai/cli');
126-
// Shell installers are Unix-only objects.
127-
assert.equal(byId.cursor.installCommand.windows, undefined);
129+
// Cursor and Hermes now ship native Windows installers alongside the Unix ones.
128130
assert.match(byId.cursor.installCommand.unix, /cursor\.com\/install/);
131+
assert.match(byId.cursor.installCommand.windows, /cursor\.com\/install\?win32=true/);
129132
assert.match(byId.hermes.installCommand.unix, /hermes-agent\.nousresearch\.com/);
133+
assert.match(byId.hermes.installCommand.windows, /hermes-agent\.nousresearch\.com\/install\.ps1/);
130134
});
131135

132136
test('resolveInstallCommand returns cross-platform strings unchanged', () => {

0 commit comments

Comments
 (0)