Skip to content

RedXDevelopment/RedEXCompile

Repository files navigation

RedEXCompile

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.

RedEXCompile logo

Highlights

  • 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.
  • .RedEX tokenization, snippets, formatter, reference outline, diagnostics, preview runner, and red-X file icon.
  • .RedEXP declarative 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 .venv creation with .gitignore protection 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.

Downloaded release vs. source folder

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.

Run from source

Install Node.js 22 or newer, then open a terminal in the directory that actually contains package.json:

npm install
npm run dev

On Windows, verify the directory before running npm:

cd C:\path\to\RedEXCompile
dir package.json
npm install
npm run dev

An 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=dev

Build packages

Build 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 + DEB

Packages 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.

Editor and language support

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.

RedEX files

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.

Terminals

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.

GitHub Copilot Agent

  1. Open the Copilot activity icon.
  2. Choose Sign in with GitHub.
  3. Complete the OAuth device flow shown in the integrated terminal/browser.
  4. 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.

Help Write

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.

Secrets

  • 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 and package catalog

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.

Isolated project environments

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.

Phone access and collaboration

  1. Open a project.
  2. Open the Phone activity.
  3. Enable local access.
  4. On the phone, open a displayed address and enter the rotating six-digit code.
  5. If the devices are on different networks, install cloudflared from 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.

Plugins and public store

.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": [] }
}

Automatic updates

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.

Security and privacy

  • 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.

Verification

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 compilation

No 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.

About

Crimson cross-platform IDE with RedEX tooling, Monaco editing, AI, live collaboration, phone access, terminals, and automatic updates.

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors