REDDECK / DOCS

Development setup

Everything needed to work on REDdeck, in order. A fresh machine should be able to follow this top to bottom. The shared tools (Git, Node, Python, winget) are the same as in REDnode’s setup guide.

Reference machine: Windows 11 Home (build 26200), 16 GB RAM, no administrator session available.

1. Base tools

Tool Version used Why Install
Git for Windows 2.55.0 Source control winget install --id Git.Git -e
Node.js 24 Builds the extension winget install --id CoreyButler.NVMforWindows -e, then nvm install 24
VS Code 1.80 or later Runs the extension; 1.80 is the first release with checkboxes in tree views winget install --id Microsoft.VisualStudioCode -e
Python 3.14.6 Brand tooling Any Python 3.10 or later
Chrome or Edge any Renders the brand images Already present on Windows

2. Repository and GitHub

git clone https://github.com/Edgemodders/REDdeck.git
cd REDdeck
git config user.name  "CyberbuildsAI"
git config user.email "340969962+CyberbuildsAI@users.noreply.github.com"
npm install

3. Build and run

Script Runs
npm run build Bundles src/extension.ts to dist/extension.js with esbuild
npm run watch The same, rebuilding on every change
npm run typecheck tsc --noEmit over src/
node bin/reddeck.mjs <command> The command line over dist/core.js; --library and --game pick the folders, --json prints JSON
npm run smoke Runs scripts/smoke.mjs: classifies sample layouts, adds them to a temp library, deploys into a fake game folder with hardlinks, changes a file by hand, undoes, and imports from Vortex if it is installed (read-only)
npm run package Builds a .vsix into dist/ with vsce

To run it, open the repo in VS Code and press F5. A second VS Code window opens with REDdeck loaded; its Mods view is in the activity bar. Set reddeck.gamePath in that window’s settings if the game is not in the Steam default folder.

The mod library defaults to %USERPROFILE%\REDdeck. Point reddeck.libraryPath at a scratch folder while developing, so tests never touch a real library.

Archives: zip and 7z are opened by the 7za.exe from the 7zip-bin package, which the build copies to bin/ so the .vsix carries it (the folder is git-ignored). rar needs 7-Zip or WinRAR installed; REDdeck looks in both Program Files folders.

Archive conflicts need a REDbridge build (0.4.0 or later). With the REDbridge repo cloned and built next to this one, REDdeck finds ..\REDbridge\src\REDbridgein\Release et10.0\REDbridge.exe on its own; otherwise set reddeck.bridgePath. With a per-user .NET runtime also set reddeck.dotnetRoot (the smoke test reads DOTNET_ROOT or falls back to %LOCALAPPDATA%\Microsoft\dotnet).

Nexus: the API key is entered with the command REDdeck: Nexus: set API key and kept in VS Code’s secret storage, never in settings or the library. REDdeck sends REDdeck/<version> as its user agent and application name, as Nexus asks. Rate limits are 2,500 requests a day; an update check costs one or two requests per mod.

npm run test:ui downloads a VS Code build into .vscode-test/ (about 350 MB, once) and runs src/uiTest.ts inside it with a scratch library and a fake game folder.

A real-game test needs a game folder that Vortex does not manage. REDdeck refuses to deploy while vortex.deployment.json is present; purge in Vortex first, or point reddeck.gamePath at a copy of the game folder.

4. Docs site and brand images

The site at https://edgemodders.github.io/REDdeck/ is built by .github/workflows/pages.yml on every push to main. Settings > Pages > Source must be GitHub Actions.

.\tools\brand\render.ps1   # banner, social preview, icon, badges
Output Used by
docs/assets/brand/banner.png README header
docs/assets/brand/social.png Upload by hand in Settings > General > Social preview
docs/assets/brand/icon.png Extension and site icon (copied to images/icon.png)
docs/assets/brand/badges/*.svg README badges. Edit the list in tools/brand/badges.py