Repository navigation
SEGO Stack v0.1.0 — Portable Windows Package Manager
Download: SEGO-Stack-Portable-0.1.0-x64.exe (74.4 MB, single EXE, no install) — release/SEGO-Stack-Portable-0.1.0-x64.exe · Data in SEGO-Stack-Data/ next to the EXE · Alt: release/win-unpacked/SEGO Stack.exe
Highlights
-
33 curated apps (20 + 13 new OSS):
GIMPInkscapeBlenderAudacityLibreOfficeThunderbirdFileZillaqBittorrentHandBrakeShareXKeePassXCBitwardenJoplin+VS CodeChromeFirefoxBrave7-ZipVLCSpotifyDiscordGitNode LTSPythonNotepad++SteamOBS StudioPowerToysDocker DesktopZoomSlackMalwarebytesEverything—catalog.jsonlive fromhttps://raw.githubusercontent.com/Sword-Saint69/SEGO-Stack/main/catalog.json(jsDelivr fallback, cacheduserData/catalog-cache.json, offline bundled fallback, portablecatalog.jsonoverride). -
Wraps what you trust: Priority
winget → choco → scoopper app (electron/providers/router.ts:1), auto-detects providers, falls back if one fails. Safe spawnspawn(cmd, args, {shell:false})+SAFE_ID_REGEX /^[a-zA-Z0-9._\-]+$/. -
Grid built for scanning:
4-per-row(responsive3/2/1)68pxoriginal brand logos (public/icons/*.svg35files, now colour viahttps://cdn.simpleicons.org),11px IBM Plex Monopackage ID,6pxcards,68px→46pxcentred, accent#1955A8reserved for actions (src/App.css:150,src/index.css:3bg-canvas #F6F6F7). -
Install UX: Strict
isInstalled(winget list --id --exactexact-token + version checkwinget.ts:16,choco list --limit-outputchoco.ts:16), GUI installers auto-start interactive (winget --interactiveforDiscord/VLC/Steam/OBS/Zoom/Slack/Notepad++etc.winget.ts:44— fixesSquirrel4294967295/AggregateExceptionfile-lock),Discord.exe/DiscordUpdater.exepre-kill (main.ts:313), progress in card (card-progress11.48kB CSS163kB JSApp.tsx:391,main.ts:324curProgressparses12%/Downloading→25%Verifying→55%Installing→75% →100%),View logexpandable tail (2500chars) +humanizeError(cannot access file→Close Discord…). -
Fixes:
tsconfig.electron.json:7rootDir:electron→dist-electron/main.js 18538flat (wasdist-electron/electron/main.jsnested,main: dist-electron/main.jsloaded stale8550B),preload.cjsCJS (const {contextBridge}=require('electron')preload.cjs:1,main.ts:154sandbox:false+preloadCandidates+existsSynclog) fixeshasWindowApi=false(08:57preload failed),Activitybar removed (progress now in card per request,App.tsx:410),· Installing…header removed,catalog.jsonBOM stripped,D:\+releaseDefender exclusions ford3dcompiler_47.dll/ portableoutput file is lockedwait. -
Docs:
README.md:2logopublic/icons/vscode.svg→public/icons/main.png72×72, removed### Screenshotdocs/screenshot.pngblock (README.md:35),public/icons14 colour fixes viacdn.simpleicons.org(brandfill="#..."vscurrentColorblack).
Quick Start
You just want to install apps:
- Download
SEGO-Stack-Portable-0.1.0-x64.exefrom Releases - Double-click — no install
- Search, tick apps, click Install N apps (or Install on a single card) — watch card
Installing… 42%+ bar +View log→Installed
You want to add your own app:
Create catalog.json next to the EXE:
[
{
"id": "myapp",
"name": "My App",
"description": "Does useful stuff",
"category": "Utilities",
"icon": "icons/myapp.svg",
"providers": {
"winget": "Publisher.MyApp",
"choco": "myapp",
"scoop": "myapp"
}
}
]Find IDs with winget search <name> or choco search <name>.
Project Structure
sego-stack/
├── catalog.json # 33 apps, live via GitHub Raw
├── public/icons/ # 35 original brand SVGs/PNGs (colour)
│ └── main.png, vscode.svg, gimp.svg, ...
├── electron/
│ ├── main.ts # window + portable userData + catalog loader + progress + Discord kill
│ ├── preload.cjs # CJS secure IPC bridge (contextIsolation)
│ └── providers/
│ ├── base.ts # safe spawn, ID validation
│ ├── winget.ts # strict isInstalled + interactive GUI
│ ├── choco.ts # strict --limit-output
│ └── router.ts # winget > choco > scoop
├── src/
│ ├── App.tsx # 4-per-row grid + card progress/log
│ └── App.css / index.css # tokens, IBM Plex Sans/Mono
└── release/
└── SEGO-Stack-Portable-0.1.0-x64.exe
Development
npm install
npm run dev # http://localhost:5173 (browser preview, simulated)
npm run build && npm start # full desktop (Vite + Electron 32.3.3)
npm run build && npm run package:portable # → release/SEGO-Stack-Portable-*.exeKnown Issues
- Discord Squirrel fails if
Discord.exerunning — now autotaskkill /IM Discord.exe /F+ 1.5s wait, else close via Task Manager andRetry(fallback tochoco). - Some icons still monochrome (
vscode/chrome/vlc404 on colour CDN) — next will usedeviconcolour. - First portable build downloads Electron ~113 MB once (cached
%LOCALAPPDATA%/electron/Cache).
Commits: d145574 docs logo + colour icons · 1b7a1c4 strict/progress/OSS · b19aa01 live catalog · 48fcca6 merge · 4f9418c v0.1.0 portable
Publish:
gh release create v0.1.0 release/SEGO-Stack-Portable-0.1.0-x64.exe --title "SEGO Stack v0.1.0" --notes-file release.mdSEGO — tools that feel like system utilities, not marketing pages.
github.com/Sword-Saint69/SEGO-Stack