Thanks for your interest in improving Super CLI.
- Node.js 22 (the repository includes
.nvmrc) - npm (included with Node.js)
- VS Code 1.93 or newer for Extension Development Host testing
-
Fork the repository and clone your fork locally.
-
Install the locked dependency tree:
npm ci
-
Create a focused branch from an up-to-date
main:git switch main git pull --ff-only git switch -c fix/agent-detection-wsl
-
Make your changes, then run the same verification used by CI:
npm run check
-
Commit with a clear message, push to your fork, and open a Pull Request against
main. Fill in the PR template completely.
- Search existing issues — your problem may already be reported.
- Use the Bug report or Feature request template.
- For questions ("how do I...?", "does it work with...?"), open a Discussion instead of an issue.
- Report vulnerabilities privately according to SECURITY.md.
- TypeScript strict mode — no
anyunless justified. - Follow the existing patterns in
src/; consistency matters more than personal preference. - Keep user-facing behavior documented in
README.md. - Keep external installation links on credential-free HTTPS URLs. Super CLI opens documentation but never accepts installer commands.
- Keep credentials out of commands, settings, fixtures, and
.envfiles. Use each CLI's supported credential store or local shell environment. - Third-party marks must come from an authoritative public source, remain
limited to product identification, and be recorded in
media/agents/ATTRIBUTION.mdandTRADEMARKS.md. - Package only static, safe SVGs without scripts, embedded images, or external
references. See
docs/BRAND.mdbefore changing Super CLI's own logo or interface marks.
- Link the related issue (
Fixes #123) when applicable. - Add or update tests for launcher behavior, agent presets, and package metadata.
- Include screenshots or a short recording for any UI-visible change.
- Run
npm run checkbefore submitting. - Keep PRs focused — one concern per PR is easier to review and merge.
- Do not commit generated
out/,.vsix,.vscode-test/, ornode_modules/content.
- Keep dependency changes in
devDependencies; Super CLI has zero runtime dependencies. @types/vscodemust remain aligned withengines.vscodeand is intentionally ignored by Dependabot. Raise both together only when the extension actually needs a newer VS Code API.- npm install scripts are approved by exact package version in
package.json#allowScripts. If an install reports a new pending script, inspect the package and script before approving it; do not replace the version-pinned entries with an open-ended package-name approval. - GitHub Actions must use immutable 40-character commit SHAs. Dependabot keeps both npm dependencies and action references current on a weekly schedule.
- Choose the next semantic version and update
package.json,package-lock.json,CHANGELOG.md, andCITATION.cfftogether. - Run
npm ci,npm run audit, andnpm run check. - Run
npm run packageand inspect the file list reported byvsce. - Install the generated VSIX in a clean Extension Development Host and verify the sidebar, launcher, settings, toolbar icon, and one terminal launch.
- Commit and push the reviewed files, then create the matching
v<version>tag and publish the same VSIX to the intended registries.