Skip to content

Commit 3b7b120

Browse files
committed
chore: release v1.9.3
1 parent f742dec commit 3b7b120

21 files changed

Lines changed: 494 additions & 63 deletions

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: npm
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
open-pull-requests-limit: 5
8+
commit-message:
9+
prefix: "chore(deps)"
10+
ignore:
11+
# Keep the compiler API surface aligned with engines.vscode (^1.93.0).
12+
- dependency-name: "@types/vscode"
13+
14+
- package-ecosystem: github-actions
15+
directory: /
16+
schedule:
17+
interval: weekly
18+
open-pull-requests-limit: 5
19+
commit-message:
20+
prefix: "chore(deps)"

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ jobs:
2828
runs-on: ${{ matrix.os }}
2929

3030
steps:
31-
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
31+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3232

3333
- name: Set up Node.js
34-
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
34+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
3535
with:
3636
node-version: '22'
3737
cache: npm
@@ -57,4 +57,4 @@ jobs:
5757
# published advisory never blocks local development on an unrelated change.
5858
- name: Audit dependencies
5959
if: runner.os == 'Linux'
60-
run: npm audit --audit-level=moderate
60+
run: npm run audit

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ out/
33
.vscode-test/
44
.vsce/
55
coverage/
6+
.env
7+
.env.*
68
*.vsix
79
*.log
810
*.tsbuildinfo
11+
.DS_Store
12+
Thumbs.db

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22

.vscodeignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,19 @@ CLAUDE.md
55
.vscode/**
66
.vscode-test/**
77
.vsce/**
8+
.nvmrc
9+
.env
10+
.env.*
811
src/**
912
test/**
1013
node_modules/**
14+
coverage/**
1115
**/*.map
1216
**/*.ts
17+
*.log
18+
*.vsix
19+
.DS_Store
20+
Thumbs.db
1321
.gitignore
1422
.gitattributes
1523
.editorconfig

AGENTS.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,24 @@ commands you configure; it never installs, wraps, or modifies a CLI or shell pro
1414
```bash
1515
npm ci # install
1616
npm run compile # tsc build: src/ -> out/
17-
npm run watch # tsc in watch mode
18-
npm run test:unit # compile + fast unit tests (node:test against out/*.js)
19-
npm run test:integration # compile + real VS Code Extension Development Host smoke test
20-
npm run test # unit + integration
21-
npm run check # compile + unit + integration + `vsce ls` packaging dry run
22-
npm run package # build the .vsix via vsce
17+
npm run typecheck # strict tsc check without emitting
18+
npm run watch # tsc in watch mode
19+
npm run test:unit # compile + fast unit tests (node:test against out/*.js)
20+
npm run test:integration # compile + real VS Code Extension Development Host smoke test
21+
npm run test # unit + integration
22+
npm run audit # dependency advisories at moderate severity or higher
23+
npm run check # compile + unit + integration + `vsce ls` packaging dry run
24+
npm run package # build the .vsix via vsce
2325
```
2426

2527
`npm run check` is what CI runs (`.github/workflows/ci.yml`, matrix over Windows/macOS/Linux) — run
2628
it before submitting changes. There is no separate lint script; `tsc --strict` is the only static
2729
check.
2830

31+
Before editing, inspect `git status` and the relevant files. Preserve unrelated local work, keep the
32+
diff focused, and do not commit generated `out/`, `.vscode-test/`, `.vsce/`, coverage, log, `.env`, or
33+
`.vsix` content. Do not bump the extension version unless the task is explicitly a release.
34+
2935
Unit tests `require('../out/<name>.js')`, so they run against **compiled output**, never `src/`
3036
directly. To run a single test file, compile first, then point `node --test` at it:
3137

@@ -103,6 +109,15 @@ just to `package.json`.
103109
commands (see `getEffectiveAgents` in `extension.ts`). The launcher is also disabled outright whenever
104110
`vscode.workspace.isTrusted` is false. Preserve both when touching config-reading code.
105111

112+
The custom-agent schema rejects unknown properties. `installationDocumentationUrl` accepts only a
113+
credential-free HTTPS URL, and every path to `vscode.env.openExternal` must pass through
114+
`normalizeInstallationDocumentationUrl`, including command arguments that bypass settings parsing.
115+
Never add an `installCommand`, automatic installer, shell-profile mutation, or arbitrary URL scheme.
116+
117+
An agent's `env` belongs only to its terminal. Installation-status checks merge those overrides with
118+
the extension host environment so a custom `PATH` is reported consistently; Agent Doctor reports and
119+
raw diagnostic output must continue to exclude environment values and credentials.
120+
106121
### Command resolution
107122

108123
An agent's `command`/`updateCommand`/`versionCommand` is either a plain string or a
@@ -191,9 +206,22 @@ third-party agent marks.
191206
`tsconfig.json` uses `NodeNext` modules — relative imports in `src/` need an explicit `.js`
192207
extension (e.g. `from './agents.js'`) even though the source files are `.ts`. `strict` is on.
193208

209+
### Dependencies, CI, and packaging
210+
211+
Super CLI intentionally has zero runtime dependencies. All packages remain in `devDependencies` and
212+
the lockfile is authoritative. npm install scripts are reviewed and approved by exact package version
213+
in `package.json#allowScripts`; when a dependency update introduces a pending script, inspect it and
214+
update the pin deliberately rather than approving a package name indefinitely.
215+
216+
`.github/dependabot.yml` monitors npm and GitHub Actions weekly. `@types/vscode` is ignored there
217+
because it must stay exactly aligned with `engines.vscode`; raise the two together. Workflow actions
218+
must remain pinned to immutable 40-character commit SHAs. `.vscodeignore` is the packaging boundary:
219+
keep source, tests, local configuration, environment files, source maps, logs, coverage, and generated
220+
VSIX files out of the artifact, then verify the actual list with `vsce ls`.
221+
194222
## Release process
195223

196224
From `CONTRIBUTING.md`: version bumps touch `package.json`, `package-lock.json`, `CHANGELOG.md`, and
197225
`CITATION.cff` together (enforced by a `metadata.test.js` consistency check), followed by
198-
`npm audit` and `npm run check`, then `npm run package` and a manual install-and-verify pass in a
199-
clean Extension Development Host before tagging and publishing.
226+
`npm run audit` and `npm run check`, then `npm run package` and a manual install-and-verify pass in a
227+
clean Extension Development Host before tagging and publishing the same reviewed VSIX.

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ All notable changes to this project are documented here. The format is based on
55

66
## [Unreleased]
77

8+
## [1.9.3] - 2026-08-01
9+
10+
### Added
11+
12+
- Added explicit type-check and dependency-audit scripts, weekly Dependabot coverage for npm and
13+
GitHub Actions, and a pinned npm install-script approval policy. Updated `actions/setup-node` to
14+
its current major release while retaining immutable action references.
15+
16+
### Changed
17+
18+
- Expanded the README and agent guidance with requirements, quick start, environment handling,
19+
development commands, build steps, release distribution, and supply-chain conventions.
20+
- Updated the locked Node.js type definitions within the existing Node 22 compatibility range.
21+
22+
### Fixed
23+
24+
- Restricted external installation documentation to credential-free HTTPS URLs and rejected unknown
25+
custom-agent settings at the configuration-schema boundary.
26+
- Isolated Agent Doctor runner failures so one malformed or unavailable version command cannot abort
27+
the complete report.
28+
- Made executable detection honor each custom agent's configured environment overrides.
29+
- Removed the integration suite's remaining dependency on `vscode.window.terminals` array order by
30+
matching newly created terminals by identity and name.
31+
- Excluded local environment files, logs, coverage output, and generated VSIX files from packages.
32+
833
## [1.9.2] - 2026-08-01
934

1035
### Fixed

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ authors:
55
- family-names: Gasperini
66
given-names: Michael
77
url: "https://github.com/TheStreamCode/super-cli"
8-
version: "1.9.2"
8+
version: "1.9.3"
99
license: MIT

CONTRIBUTING.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Thanks for your interest in improving Super CLI.
44

55
## Prerequisites
66

7-
- Node.js 22
7+
- Node.js 22 (the repository includes `.nvmrc`)
88
- npm (included with Node.js)
99
- VS Code 1.93 or newer for Extension Development Host testing
1010

@@ -49,6 +49,10 @@ Thanks for your interest in improving Super CLI.
4949
- Follow the existing patterns in `src/`; consistency matters more than
5050
personal preference.
5151
- Keep user-facing behavior documented in `README.md`.
52+
- Keep external installation links on credential-free HTTPS URLs. Super CLI opens documentation but
53+
never accepts installer commands.
54+
- Keep credentials out of commands, settings, fixtures, and `.env` files. Use each CLI's supported
55+
credential store or local shell environment.
5256
- Third-party marks must come from an authoritative public source, remain
5357
limited to product identification, and be recorded in
5458
[`media/agents/ATTRIBUTION.md`](media/agents/ATTRIBUTION.md) and
@@ -67,11 +71,22 @@ Thanks for your interest in improving Super CLI.
6771
- Keep PRs focused — one concern per PR is easier to review and merge.
6872
- Do not commit generated `out/`, `.vsix`, `.vscode-test/`, or `node_modules/` content.
6973

74+
## Dependency and supply-chain changes
75+
76+
- Keep dependency changes in `devDependencies`; Super CLI has zero runtime dependencies.
77+
- `@types/vscode` must remain aligned with `engines.vscode` and is intentionally ignored by
78+
Dependabot. Raise both together only when the extension actually needs a newer VS Code API.
79+
- npm install scripts are approved by exact package version in `package.json#allowScripts`. If an
80+
install reports a new pending script, inspect the package and script before approving it; do not
81+
replace the version-pinned entries with an open-ended package-name approval.
82+
- GitHub Actions must use immutable 40-character commit SHAs. Dependabot keeps both npm dependencies
83+
and action references current on a weekly schedule.
84+
7085
## Release checklist (maintainers)
7186

7287
1. Choose the next semantic version and update `package.json`,
7388
`package-lock.json`, `CHANGELOG.md`, and `CITATION.cff` together.
74-
2. Run `npm ci`, `npm audit`, and `npm run check`.
89+
2. Run `npm ci`, `npm run audit`, and `npm run check`.
7590
3. Run `npm run package` and inspect the file list reported by `vsce`.
7691
4. Install the generated VSIX in a clean Extension Development Host and verify
7792
the sidebar, launcher, settings, toolbar icon, and one terminal launch.

README.md

Lines changed: 80 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ model — VS Code itself plus the forks that install from [Open VSX](https://ope
2121
or from a `.vsix`, such as Cursor, Windsurf, Google Antigravity, Kiro, Trae, VSCodium, and Gitpod. It
2222
is free, open source, and has no telemetry or automatic CLI installers.
2323

24+
## Requirements
25+
26+
- VS Code `1.93` or newer, or a compatible desktop editor that can install VS Code extensions.
27+
- At least one supported coding-agent CLI installed and authenticated according to that vendor's
28+
documentation. Super CLI never installs or configures the CLI for you.
29+
- A trusted workspace before launch, update, or version commands can run.
30+
31+
Node.js and npm are required only for developing or packaging Super CLI, not for installing the
32+
extension or launching an agent.
33+
2434
## Install Super CLI in VS Code
2535

2636
[Install Super CLI from the Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=mikesoft.vscode-super-cli),
@@ -53,6 +63,18 @@ This extension is unofficial and is not affiliated with, endorsed by, or sponsor
5363
OpenAI, GitHub, Google, or any other vendor. See the [third-party
5464
notices](TRADEMARKS.md).
5565

66+
## Quick start
67+
68+
1. Install and authenticate the coding-agent CLI you want to use.
69+
2. Install Super CLI, open a folder, and trust the workspace after reviewing it.
70+
3. Open **Super CLI** from the activity bar and select an agent, or run **Super CLI: Launch Coding
71+
Agent** from the Command Palette.
72+
4. Optionally star one or more agents and use `Ctrl+Alt+A` (`Cmd+Alt+A` on macOS) for fast access.
73+
74+
The selected command runs in a native integrated terminal with the active workspace folder as its
75+
working directory. Super CLI does not proxy the CLI or replace the agent's own authentication and
76+
settings.
77+
5678
## Interface
5779

5880
### Agent sidebar and editor launcher
@@ -171,9 +193,9 @@ reuses a built-in `id` — overrides that built-in (for example to point at a cu
171193
paths that contain spaces.
172194
- `icon` — optional [ThemeIcon](https://code.visualstudio.com/api/references/icons-in-labels) id,
173195
e.g. `sparkle` or `rocket`.
174-
- `installationDocumentationUrl` — optional verified official installation documentation URL. When
175-
the command is missing, Super CLI offers to open this URL in your external browser; it does not run
176-
any installation command.
196+
- `installationDocumentationUrl` — optional verified official HTTPS installation documentation URL.
197+
Credential-bearing URLs and non-HTTPS schemes are ignored. When the command is missing, Super CLI
198+
offers to open the URL in your external browser; it does not run any installation command.
177199
- `env` — optional environment variables set for the agent's terminal, e.g. to opt out of a CLI's
178200
IDE-extension auto-install via its own variable: `{ "CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL": "1" }`.
179201
- `updateCommand` — optional command to update the CLI. It accepts the same cross-platform string or
@@ -188,6 +210,16 @@ the command runs inside WSL.
188210
Only the user (global) value of `superCli.agents` is used; workspace overrides are ignored so that
189211
an untrusted repository cannot inject commands.
190212

213+
### Environment variables and secrets
214+
215+
Super CLI itself requires no environment variables and does not load `.env` files. The optional
216+
`env` object on a custom agent applies only to that agent's terminal; executable detection uses the
217+
same overrides so a custom `PATH` is reflected in the sidebar status.
218+
219+
Keep credentials in the CLI vendor's supported credential store or in your normal shell environment.
220+
Do not commit secrets in settings, command strings, or environment files. `.env` variants are ignored
221+
by Git and explicitly excluded from VSIX packages as a defensive safeguard.
222+
191223
## Configuration
192224

193225
| Setting | Default | Description |
@@ -269,8 +301,9 @@ Windows, macOS, Linux, or WSL command variant.
269301
### Which AI coding agents are supported?
270302

271303
Claude Code, Codex, GitHub Copilot CLI, Grok, Kilo, Kiro, OpenClaw, Antigravity, OpenCode, Command
272-
Code, Cursor, Devin CLI, Droid, Crush, Hermes, MiMo Code, Pi, Kimi Code CLI, Qoder CLI, and Qwen Code
273-
CLI out of the box — plus any CLI you add in `settings.json`.
304+
Code, Cursor, Devin CLI, Droid, Crush, Hermes, MiMo Code, Pi, Kimi Code CLI, Qoder CLI, Qwen Code CLI,
305+
Amp, OpenClaude, Oh My Pi, goose, Auggie CLI, Cline CLI, Codebuff, Continue CLI, Mistral Vibe, and Rovo
306+
Dev CLI out of the box — plus any CLI you add in `settings.json`.
274307

275308
### Does Super CLI work on Windows, macOS, Linux, and WSL?
276309

@@ -286,6 +319,8 @@ integrated terminal.
286319
If Super CLI is useful to you, consider [sponsoring its development](https://github.com/sponsors/TheStreamCode).
287320
Bug reports, feature requests, and contributions are welcome on
288321
[GitHub](https://github.com/TheStreamCode/super-cli).
322+
Report suspected vulnerabilities privately according to [SECURITY.md](SECURITY.md), not in a public
323+
issue.
289324

290325
## Privacy
291326

@@ -298,10 +333,47 @@ show the one-time rating nudge described above — neither is ever transmitted a
298333
Keep credentials in each CLI's supported credential store or environment configuration rather than
299334
embedding them directly in launch, update, or version command strings.
300335

301-
## Building
336+
## Development
337+
338+
Development requires Node.js 22, npm, and VS Code 1.93 or newer. The repository includes `.nvmrc` for
339+
Node version managers. Install the exact locked dependency tree before working:
302340

303341
```bash
304342
npm ci
305-
npm run check # compile + unit tests + VS Code integration smoke test
306-
npm run package # produce the .vsix
307343
```
344+
345+
Press `F5` in VS Code to compile and open an Extension Development Host, or use these scripts:
346+
347+
| Command | Purpose |
348+
| --- | --- |
349+
| `npm run compile` | Compile strict TypeScript from `src/` to `out/`. |
350+
| `npm run typecheck` | Run strict TypeScript checks without emitting files. |
351+
| `npm run watch` | Recompile TypeScript while files change. |
352+
| `npm run test:unit` | Compile and run the fast `node:test` unit suite. |
353+
| `npm run test:integration` | Compile and launch the real VS Code Extension Development Host smoke test. |
354+
| `npm run check` | Run compile, unit tests, integration tests, and the VSIX file-list dry run used by CI. |
355+
| `npm run audit` | Check the complete dependency tree for moderate-or-higher known vulnerabilities. |
356+
| `npm run package` | Compile and create an installable `.vsix`. |
357+
358+
There is no separate linter: `tsc --strict`, `noUnusedLocals`, and `noUnusedParameters` are the static
359+
quality gate. Unit tests execute compiled files from `out/`, never TypeScript source directly. See
360+
[CONTRIBUTING.md](CONTRIBUTING.md) for code, test, branding, and pull-request conventions.
361+
362+
## Build and distribution
363+
364+
Before producing a release artifact, run the same gates as CI and inspect the VSIX contents:
365+
366+
```bash
367+
npm ci
368+
npm run audit
369+
npm run check
370+
npm run package
371+
```
372+
373+
For this project, deployment means publishing the reviewed VSIX rather than deploying a server. A
374+
maintainer updates `package.json`, `package-lock.json`, `CHANGELOG.md`, and `CITATION.cff` together,
375+
installs the generated VSIX in a clean Extension Development Host, then publishes that same artifact
376+
to the Visual Studio Marketplace, Open VSX, and the matching GitHub release. Publishing credentials
377+
belong in the platform's secret store or local credential manager and must never be committed.
378+
379+
The complete maintainer checklist is in [CONTRIBUTING.md](CONTRIBUTING.md#release-checklist-maintainers).

0 commit comments

Comments
 (0)