Stealth GitHub is a VS Code extension that lets you open, browse, edit, and save GitHub repositories without a full local clone. It builds a shallow remote index, hydrates only the files you open, and enforces a disk budget under ~/.stealth/ — built for limited SSD space, many repos, and fast “open and fix” workflows.
Works in VS Code, VSCodium, and other editors that use the Open VSX marketplace.
- Why Stealth
- Install
- How to use (after install)
- Pro & 14-day trial
- Features
- Settings
- Stealth vs git clone
- Terminal commands
- Development
- Contributing
- License
| You want to… | Stealth | git clone |
GitHub Codespace |
|---|---|---|---|
| Open a repo quickly | ✅ Shallow index | ❌ Full download | ✅ Cloud VM |
| Edit a few files & push | ✅ Cmd+S → GitHub API | ✅ | ✅ |
| Cap disk usage | ✅ Per-workspace + global cache | ❌ Full repo size | ✅ Cloud |
| Run tests / terminal in repo | ❌ | ✅ | ✅ |
Use Stealth when you need lightweight GitHub editing on your machine. Use a clone or Codespace when you need a full dev environment.
- Open Extensions (
Cmd+Shift+X/Ctrl+Shift+X) - Search
Stealth GitHub - Install kingpranav21.stealth-github
Or install from the registry page:
https://open-vsx.org/extension/kingpranav21/stealth-github
git clone https://github.com/kingpranav21/stealth.git
cd stealth
npm install
npm run packageIn the editor: Cmd+Shift+P → Extensions: Install from VSIX… → select packages/extension/stealth-github-*.vsix → Reload Window.
Cmd+Shift+P → Developer: Reload Window after installing.
Use only one Stealth GitHub install (Open VSX or a local VSIX/dev build — not both).
Cmd+Shift+P → Stealth GitHub: Sign in to GitHub
Cmd+Shift+P → Stealth GitHub: Open GitHub Repository…
Enter owner/repo (e.g. kingpranav21/stealth). You need push access to save.
- Sidebar → Remote Repository
- Or Stealth GitHub: Find File… (
Cmd+Alt+F)
Files load from GitHub on first open (hydration). Stubs in Explorer are replaced when you open them.
Edit → Cmd+S / Ctrl+S → wait for “Pushed to GitHub”.
Click Stealth GitHub in the status bar (bottom-right) or run Stealth GitHub: Dashboard.
| Action | Command palette |
|---|---|
| Open repo | Stealth GitHub: Open GitHub Repository… |
| Find file | Stealth GitHub: Find File… |
| Reload file from GitHub | Stealth GitHub: Hydrate Active File from GitHub |
| All commands | Stealth GitHub: Menu… |
| Disk / cache | Stealth GitHub: Cache Actions… or Dashboard |
| Upgrade / license | Stealth GitHub: Upgrade to Pro… / Activate License Key |
Full walkthrough (same as Open VSX listing): packages/extension/README.md
Older listing: The extension was renamed on Open VSX to kingpranav21.stealth-github. The previous
kingpranav21.stealthlisting is deprecated — install Stealth GitHub for updates, trial, and Pro.
Stealth GitHub includes a 14-day free trial (full features). After that, you need Pro via Lemon Squeezy.
| Phase | What you can do |
|---|---|
| Trial (14 days) | Open repos, edit, push, hydrate — everything |
| After trial (no license) | Sign in, dashboard, Upgrade, Activate License Key only — no open repo, save, hydrate, or sync |
| Pro (paid) | Full access again with your license key |
After purchase
- Lemon Squeezy emails a license key.
- Cmd+Shift+P → Stealth GitHub: Activate License Key → paste the key.
Subscriptions: If you sell a subscription on Lemon, license validation follows the subscription — cancelled subs stop validating on the next check (about every 24 hours).
Setup for publishers: docs/lemonsqueezy-setup.md
Push to GitHub from the shell — same workspaces as the editor (~/.stealth/workspaces/).
Auth (once per machine):
export GITHUB_TOKEN=$(gh auth token) # or set GITHUB_TOKEN / STEALTH_GITHUB_TOKEN
npm run build
npm run stealth -- authFrom a Stealth workspace folder (open the repo in the editor first, or cd into its workspace):
cd ~/.stealth/workspaces/<workspace-id>
# Pipe content → create/update on GitHub
echo '# Deploy notes' | npm run stealth -- write docs/deploy.md -m "Add deploy notes"
# Push files already on disk
npm run stealth -- push src/config.ts package.json
# Create empty file on GitHub
npm run stealth -- touch scripts/run.sh -m "Add run script"
# Read remote file
npm run stealth -- cat README.md
# List workspaces
npm run stealth -- workspacesInstall globally after build: npm link (optional), then run stealth directly.
| CLI command | Saves to GitHub? | Saves locally under ~/.stealth? |
|---|---|---|
stealth write <path> |
Yes | Yes |
stealth push <file…> |
Yes | Uses existing file |
stealth touch <path> |
Yes (empty file) | Yes |
stealth cat <path> |
No (read only) | No |
- No local
.git— remote workspace backed by GitHub APIs - Shallow / lazy index — fast open; deep index optional
- On-demand hydration — only opened files use cache disk
- Stub Guard — warns if the editor shows stub placeholders instead of real code (helps AI-assisted editing)
- Disk Governor — optional Mac-wide cap across all
~/.stealthworkspaces - Stealth Dashboard — disk usage, API quota, workspace actions
- Find file, branch switch, compare/pull from remote, open PR in browser, Codespace link
| Setting | Default | Description |
|---|---|---|
stealth.cacheMaxMb |
500 |
Max hydrated bytes per workspace |
stealth.globalCacheMaxMb |
0 |
Mac-wide cap under ~/.stealth (0 = off) |
stealth.indexMode |
shallow |
shallow or full tree when opening a repo |
stealth.stubGuard |
true |
Warn when stub content is in the editor |
stealth.bloatBlocklist |
on | Block hydrating huge paths (node_modules, etc.) |
stealth.checkRemoteBeforeSave |
true |
Warn if the file changed on GitHub before save |
stealth.licensing.enabled |
true |
Trial + Pro gate (set false to disable paywall) |
stealth.trialDays |
14 |
Free trial length per machine |
stealth.checkoutUrl |
Lemon checkout | Upgrade to Pro button |
stealth.licensing.provider |
lemonsqueezy |
Validate keys with Lemon Squeezy (no custom server) |
Local data: ~/.stealth/indexes/ and ~/.stealth/workspaces/.
Stealth is a GitHub remote workspace extension: browse and edit like a normal project, but without cloning the full history and tree to disk.
Choose Stealth for quick edits, small SSDs, or juggling many repositories.
Choose git clone for local builds, tests, and git CLI workflows.
Choose Codespaces for a full cloud dev box.
Run from the repo root after git clone and npm install:
| Command | What it does |
|---|---|
npm test |
Unit tests + extension build (CI-safe, ~30s) |
npm run test:unit |
Unit tests only (shared logic + manifest) |
npm run build |
Compile shared + extension + CLI |
npm run stealth -- <cmd> |
Stealth CLI (push, write, touch, cat) |
npm run smoke |
Full pipeline: build, package VSIX, manifest checks |
npm run package |
Build and create packages/extension/stealth-github-*.vsix |
npm run demo-gif |
Regenerate docs/stealth-demo.gif (needs Playwright) |
Example — clone, test, package:
git clone https://github.com/kingpranav21/stealth.git
cd stealth
npm install
npm test
npm run package##new edit
Requires Node.js 18+ (20+ recommended). Tests use the built-in node:test runner — no extra test framework
npm install
npm testPress F5 → Run Stealth Extension (Extension Development Host) for manual testing in the editor.
Optional: STEALTH_SMOKE=1 npm test then npm run smoke for a release VSIX check.
Bug reports and PRs are welcome: github.com/kingpranav21/stealth/issues
##new edit
MIT © contributors
