Settings allow your plugin to be configured by pilots (user-scoped) or by the VA admin platform (airline-scoped). They’re declared inDocumentation Index
Fetch the complete documentation index at: https://docs.skyvexsoftware.com/llms.txt
Use this file to discover all available pages before exploring further.
plugin.json and the shell renders a settings UI for pilots automatically — no settings page required in your plugin.
Declaring Settings
Add anavailableSettings array to your plugin.json:
Setting Types
| Type | Rendered As | Extra Fields |
|---|---|---|
boolean | Toggle switch | default?: boolean |
text | Text input | default?, pattern?, placeholder? |
longtext | Textarea | default?, placeholder? |
number | Number input | default?, min?, max?, step? |
range | Slider | default?, min (required), max (required), step? |
list | Dropdown select | default?, options (required) |
radio | Radio group | default?, options (required) |
date | Date picker | default? |
json | Monospace textarea | default? |
list and radio types, options is an array of { value: string; label: string } objects.
Setting Scopes
"user" scope
Appears in the Stratos Settings page under your plugin’s section. Each pilot can configure their own value independently. Use user-scoped settings for:
- Unit system preferences (imperial vs metric)
- Display toggles (show/hide sections)
- Notification preferences
- Refresh intervals
"airline" scope
Managed by the VA admin platform and pushed to all pilots. Read-only in the client. The shell fetches airline-scoped values from the platform when the pilot authenticates. Use airline-scoped settings for:
- Welcome messages and branding
- Quick links and resources
- Event detection rules
- Route configurations
- Any content the VA wants to control centrally
Reading Settings in the UI
UseusePluginContext() to access settings from any component:
useShellConfig() hook directly:
Note: config.get() in the UI context reads airline-scoped settings only — those managed by the VA admin on the Skyvex platform. User-scoped settings (personal preferences like unit system, display toggles, and refresh intervals) are managed through the shell’s settings UI and are not accessible via this API.
Reading Settings in a Background Module
Background config access usesctx.config and is async:
Always Provide Defaults
Your plugin should work out of the box without any settings configured. The second argument toconfig.get is the fallback value returned when the setting has not been set: