RedEXCompile is RedX Development’s cross-platform desktop IDE: Monaco editing in an original Crimson Void interface, native .RedEX tooling, safe .RedEXP plugins, multi-shell terminals, bring-your-own AI, GitHub Copilot Agent, dependency discovery, live collaboration, and phone-to-PC development.
- Original blood-red, black, ultraviolet interface with a layered Red X identity.
- Monaco—the editor core used by VS Code—with smooth cursor movement, multicursor editing, suggestions, snippets, bracket guides, minimap, word wrap, find/replace, formatting actions, and broad syntax support.
.RedEXtokenization, snippets, formatter, reference outline, diagnostics, preview runner, and red-X file icon..RedEXPdeclarative plugin packages and a GitHub-backed public registry.- File, Edit, Selection, View, Go, Run, Terminal, and Help menus; closable tabs; double-click opening; Save All; Auto Save; and visible dirty markers.
- Multiple persistent terminals with PowerShell, PowerShell 7, Command Prompt, Git Bash, WSL, Bash, Zsh, Fish, and POSIX shell detection where available.
- Toolchain Vault auto-discovery, fuzzy search, project links, and global links that avoid copying runtimes into each project.
- One-click project Python
.venvcreation with.gitignoreprotection and automatic activation for new terminals, Run actions, package installs, and Copilot. - Recommended runtime catalog with the latest available versions and native system installers.
- Live package search for npm, PyPI/pip, crates.io/Cargo, NuGet, Maven Central, RubyGems, Packagist/Composer, and pub.dev; installs are scoped to the open project.
- OS-encrypted global and per-project secrets, with optional global secret-name completion.
- Help Write: bring an API key for OpenAI, Anthropic, Gemini, OpenRouter, or a custom OpenAI-compatible provider, then Write, Fix, Explain, Refactor, Test, or Document from the editor.
- Official GitHub Copilot SDK Agent with device login, selectable models, streaming, project context, and explicit permission prompts.
- Red squiggles, Problems entries, and red/warning glyphs beside line numbers for RedEX errors, missing project packages, and missing linked runtimes.
- Local phone editing with rotating pairing code, or explicit away-from-home access through a temporary Cloudflare Quick Tunnel.
- Live Collaboration with unique temporary usernames, shared edits, QuickChat text, and WebRTC voice/video. Hosts end the whole session; guests leave individually.
- Cumulative GitHub Release updates with a live 0–100 progress bar, stacked missed-release notes, and workspace restoration after restart.
- Windows, macOS, and Linux package definitions and release automation.
A release can contain several different files:
| Asset | Purpose |
|---|---|
RedEXCompile-Setup-…-x64.exe |
Actual Windows NSIS installer with Quick Start / Advanced choice |
RedEXCompile-Portable-…-x64.exe |
Portable Windows app; no installation |
RedEXCompile-Setup-…-macOS-….dmg |
macOS drag-to-Applications installer image |
RedEXCompile-…-macOS-….zip |
macOS update/archive payload |
RedEXCompile-…-Linux-….AppImage |
Portable Linux desktop app and supported auto-update format |
RedEXCompile-…-Linux-….deb |
Debian/Ubuntu package |
Source code (zip) |
Developer source; requires Node.js and is not an installed app |
Do not mistake release/win-unpacked/RedEXCompile.exe for the installer. The installer filename must begin with RedEXCompile-Setup- and should be a complete NSIS package, not just the inner IDE executable.
Install Node.js 22 or newer, then open a terminal in the directory that actually contains package.json:
npm install
npm run devOn Windows, verify the directory before running npm:
cd C:\path\to\RedEXCompile
dir package.json
npm install
npm run devAn ENOENT … package.json error means the terminal is in the wrong folder. An interrupted npm install can leave commands such as concurrently unavailable; restore public npm configuration and rerun installation:
npm config delete proxy
npm config delete https-proxy
npm config set registry https://registry.npmjs.org/
npm install --include=devBuild on the target operating system for the most reliable result:
npm test
npm run check
npm run build
npm run dist:win # Windows NSIS Setup + Portable EXE
npm run dist:mac # macOS DMG + ZIP
npm run dist:linux # Linux AppImage + DEBPackages are written to release/. Windows should produce both RedEXCompile-Setup-…exe and RedEXCompile-Portable-…exe.
Windows SmartScreen and macOS Gatekeeper can warn about unsigned builds. Public production builds should be code-signed; macOS auto-update also requires a valid signed application. Configure WINDOWS_CSC_* and MACOS_CSC_* GitHub secrets for signed CI packages.
RedEXCompile includes starter templates and Monaco syntax modes for RedEX, JavaScript, TypeScript, JSX/TSX, JSON, HTML, CSS/SCSS/Less, Python, Ruby, PHP, Java, Kotlin, Swift, Go, Rust, C/C++, C#, F#, shell scripts, PowerShell, SQL, XML, YAML, TOML/INI, Lua, Dart, R, Perl, GraphQL, Scala, Elixir, Clojure, Solidity, Protocol Buffers, Dockerfiles, and plain text.
Like VS Code, language depth varies. Monaco supplies broad editing and syntax features; full language-specific IntelliSense, compilers, debuggers, and language servers require those external tools. Toolchain Vault makes those installations reusable without copying them into every project.
Editor Settings can turn autocomplete and syntax highlighting on or off globally or per language. The editor also supports Auto Save, minimap, word wrap, smart suggestions, parameter hints, linked editing, format-on-type/paste, drag-and-drop, mouse-wheel zoom, validation decorations, and a glyph margin.
| Extension | Purpose |
|---|---|
.RedEX |
RedEX programming-language source |
.RedEXP |
Declarative RedEXCompile plugin |
.rexdb |
RedEX database |
.rexv |
RedEX reference/version history |
REX.sig |
Project signature |
RedEX uses readable names plus permanent numeric references:
@module $"Main"[100] {
use "redex/io";
@entry
public fn {Main}[99]() -> void {
io.print("Hello from RedEX");
}
}
The complete in-app guide is also stored at docs/RedEX-Language-Reference.md. The included runner remains a preview rather than a complete production compiler.
An available native shell is opened automatically on startup. Press New Terminal to choose another profile; each session has its own tab and close button. Commands are sent to a persistent shell process, and command history is available with Up/Down.
On Windows, missing PowerShell 7, Git Bash, or WSL profiles show Install. After the installer process exits, RedEXCompile rescans the real installation path and changes the action to Open when detection succeeds. Some system installs require an IDE restart or Windows restart before PATH changes are visible.
- Open the Copilot activity icon.
- Choose Sign in with GitHub.
- Complete the OAuth device flow shown in the integrated terminal/browser.
- Choose I finished signing in.
The bundled CLI stores its data under RedEXCompile’s application-data directory and creates its cache before login, avoiding the missing-cache error seen in earlier builds. Copilot still requires a GitHub account with an eligible Copilot plan and network access to GitHub. RedEXCompile never needs a GitHub password.
If login fails, keep the entire terminal error, verify the account has Copilot access, and confirm a firewall or proxy is not blocking GitHub. The automated test suite launches copilot login --help through the exact bundled loader on each build platform.
Open Settings → Help Write, choose a provider/model, and save an API key. The key is encrypted through Electron’s operating-system storage and is never returned to the renderer. Open a file and use the floating Red X AI button or the Edit menu.
Help Write sends the instruction, selected code, and file context directly to the selected provider. Provider charges and policies apply. Always review generated changes before saving or running them.
- Global secrets are available to all projects.
- Project secrets live in
.redexcompile/secrets.enc; RedEXCompile adds that file to.gitignore. - The OS-backed vault encrypts values at rest.
- Completion suggests names only, never values.
- Global secret-name completion can be disabled.
- Linked terminals and agent processes receive the effective project environment.
Toolchain Vault discovers runtimes, SDKs, compilers, package managers, build tools, shells, Git, container tools, and common CLIs. Fuzzy search accepts close spellings such as pyton, nodjs, or compser.
- Add Here links a global installation only to the active project.
- All Future makes it available to future projects and terminals.
- Choose a folder manually registers an unknown/custom installation.
- No runtime binaries are copied into a project.
- Package Catalog uses the native ecosystem manager and lockfile, so project packages remain project-specific.
Open Toolchain Vault → VENV to create a Python .venv with one click. RedEXCompile uses the Python already detected or linked in Toolchain Vault, adds .venv/ to the project .gitignore, and keeps the generated environment out of the Explorer tree. Once creation finishes, every new integrated terminal, Run action, project package install, and Copilot session receives VIRTUAL_ENV and the environment's executable directory at the front of PATH. The environment is used only by that project and global runtimes are not copied.
- Open a project.
- Open the Phone activity.
- Enable local access.
- On the phone, open a displayed address and enter the rotating six-digit code.
- If the devices are on different networks, install
cloudflaredfrom the Phone panel and explicitly enable the temporary HTTPS address.
Phone access is off by default. The internet tunnel is optional, temporary, and stops with the IDE. Anyone with both a live address and pairing code can reach the selected project, so stop access when finished.
To collaborate, open the Collaboration activity and either host the current project or enter another host’s address/code. Every participant chooses a unique temporary username. QuickChat and call controls exist only during the session. Voice/video uses WebRTC; an HTTPS address is required by many mobile browsers, and some restrictive networks need a TURN relay that RedEXCompile does not currently provide.
.RedEXP is JSON and cannot contain code, main, or scripts. Registry metadata is fetched from plugins/registry.json on this GitHub repository. Community authors submit a pull request/issue with a versioned HTTPS download URL; after validation and merge, every app sees the entry on refresh.
{
"redexp": 1,
"name": "My Plugin",
"version": "0.1.0",
"description": "Adds RedEX snippets.",
"contributes": { "snippets": [] }
}Packaged release builds check the official GitHub Release channel at startup and every five minutes. A newer compatible release downloads automatically, reports byte and percentage progress from 0 to 100, collects every missed release note, and offers a controlled restart into the previous workspace.
Updates require a tagged GitHub Release containing the correct platform binary, blockmap, and latest*.yml metadata. Pushing source code alone is not a runnable update. Supported self-update formats are Windows NSIS, signed macOS application/ZIP, and Linux AppImage; DEB users may install the next DEB through their package workflow.
- Context isolation and a narrow preload bridge keep Node APIs out of editor code.
- File operations are contained beneath the selected project root.
- Pairing codes rotate, sessions expire, and repeated wrong codes are rate-limited.
- Internet phone access is explicit and stoppable.
- Plugins are declarative and validated before installation.
- Secrets and Help Write keys use OS-backed encryption.
- Copilot permission requests are never silently approved.
- No proprietary RedX analytics or advertising telemetry is included.
Read TERMS.md, PRIVACY.md, and LICENSE. These are protective templates and still require qualified legal review before commercial distribution.
npm test # unit/integration coverage for RedEX, terminals, phone pairing, collaboration, secrets, AI adapters, catalogs, updates, and Copilot loader
npm run check # syntax validation for Node/Electron modules
npm run build # production renderer compilationNo responsible software project can promise “100% bug-free” behavior across every machine, network, provider, shell, and package registry. Releases should therefore be gated on the checks above plus clean-machine installer tests on each target operating system.