Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.skyvexsoftware.com/llms.txt

Use this file to discover all available pages before exploring further.

Developer mode is a runtime flag (--dev) you can pass to your installed Stratos app to unlock its full developer surface: a dedicated dev window with login, airline switching and live debug tabs; a debug footer in the main app for quick toggles; and the ability to load plugins from any local Vite dev server. It’s the recommended way to develop plugins, debug your VA integration, and inspect simulator data while flying. This page covers what dev mode is, how to launch it on each platform, and every tool it exposes. For the plugin development workflow specifically, see Getting Started and Build and Deploy.

What dev mode gives you

Launching Stratos with --dev enables, all in one go:
  • A dev window that opens before the main app. Sign in with your Skyvex account, then pick which airline to launch into — no need to reinstall to try a different VA. The dev window stays open alongside the main app and gives you live debug tabs.
  • A debug footer at the bottom of the main app with one-click toggles for theme, VA verbose logging, Discord RPC, React Scan, warp mode (for app screenshots), test sounds, and a “Reset Window” button.
  • DevTools menu itemsToggle Developer Tools is added to the View menu and Cmd/Ctrl+Shift+I opens DevTools on either window.
  • Hot-loading from a plugin dev server — your plugin’s pnpm dev server is auto-discovered and mounted into the sidebar with live reload.
The flag doesn’t change which Skyvex backend the app talks to — you’re still pointed at production. It only unlocks the developer UI.

Launching dev mode

You launch dev mode by passing --dev to your installed Stratos binary. The syntax differs by OS.

macOS

From a terminal:
open -a Stratos --args --dev
Or, to start fresh every time (handy if Stratos is already running):
osascript -e 'quit app "Stratos"' && open -a Stratos --args --dev

Windows

Edit the Stratos shortcut (Start Menu or Desktop) and append --dev to the Target field — e.g. "C:\Users\You\AppData\Local\Programs\Stratos\Stratos.exe" --dev. Or invoke it from PowerShell / cmd:
& "$env:LOCALAPPDATA\Programs\Stratos\Stratos.exe" --dev

Linux

stratos --dev
(Or run the .AppImage / .deb-installed binary directly with --dev appended.)

The dev window

When you launch with --dev, a small frameless window opens before the main app. It has three states:
1

Login

Sign in with your Skyvex account via OAuth — the same one you use at skyvexsoftware.com/login. If valid auth already exists locally, this step is skipped automatically.
2

Airline select

A list of every airline your Skyvex account has access to, plus an input for invite codes. Pick one. Stratos will boot into that airline.Switching airlines later means closing the app and relaunching with --dev — pick a different one from the list.
3

Dev tools

Once the main window is up, the dev window switches to a tabbed dev console you can keep open in the background while you fly or develop.

Dev tools tabs

The console exposes six tabs, each backed by live data from the running app:
TabWhat it shows
SystemApp + machine metadata: version, platform, user data path, active simulator, memory and CPU.
SimulatorLive raw and derived sim data — every field the simulator client surfaces (position, attitude, engines, fuel, surfaces, autopilot state). Useful when authoring event rules or phase logic.
PluginsThe plugin registry: every plugin’s manifest, install path, source (airline/user/dev), version, and load status. From here you can force-reload a plugin without restarting the shell.
LogsA live tail of the main process logger — same content as the daily log file at {userData}/logs/stratos-YYYY-MM-DD.log but streamed. Filter by source, level, and search text.
VA ConfigThe airline’s plugin config payload as resolved by the shell — event rules, system settings, branding. The exact JSON the renderer reads.
VA APIA request inspector for every call the shell makes to your VA’s API. Method, URL, status, response body, headers, timing. Indispensable when wiring up a new VA.
The window has its own DevTools (Cmd/Ctrl+Shift+I while focused) and remembers its position between sessions.
In the main window, the dev footer renders at the very bottom of the layout whenever the app was launched with --dev. It’s a single-row toolbar of buttons:
  • Theme — quick toggle between light and dark, bypassing the Settings page.
  • Reset Window — clears persisted window size/position and re-centres at the default dimensions. Helpful when you’ve dragged the window off-screen or want a clean screenshot baseline.
  • VA Token — logs the current VA airline ID, base URL, and a 20-character preview of the bearer token to the renderer console. The full token is never written to the log file.
  • Sound — plays a random one of the bundled UI sounds (attention, error, flight_start) so you can verify audio output and volume.
  • VA Verbose — toggles verbose request logging in the VA HTTP client. Every request and response gets full-body dumped to the daily log. Off by default because responses can be large.
  • Discord — toggles Discord Rich Presence on for this session without persisting to config. Use it when you want to confirm RPC payloads without permanently enabling the feature.
  • React Scan — opens the React Scan toolbar overlay so you can spot wasted renders in the renderer tree.
  • Warp — a screenshot mode for promotional/mockup imagery. Wraps the app in a 3D CSS transform (perspective, rotation, scale) on a customizable background, then captures the result with a single click. Adjust the tilt and angle via the sliders to match your marketing template.
On the right side of the footer is a live readout of the window’s current size and (MAX/FULL flag where applicable) — the same numbers Reset Window would clear.

Where to go next

  • Getting Started — scaffold your first plugin and load it through the dev console’s Plugins tab.
  • Build and Deploy — the full dev → build → publish loop for plugins.
  • Overview — high-level picture of how plugins and the shell fit together.