ActionHelm Overview
Environment matrices

Model the same product across every environment.

Rows identify environments. Columns identify applications or views. Each cell tells ActionHelm where that combination lives, so navigation commands can be generated automatically.

Create a matrix

  1. Create or choose a project groupA matrix belongs to one group, keeping generated navigation inside that project.
  2. Add environment rowsCreate rows such as Local, QA, Staging, and Production.
  3. Add application columnsCreate columns such as App, Admin, API, or Jenkins.
  4. Fill the cellsEnter the primary base URL for every available environment/application combination and save the matrix.
Small matrix
QA / App
https://qa.example.com/
QA / Admin
https://admin.qa.example.com/
Production / App
https://example.com/
One matrix per project context

Disabling a group—or one of its parent groups—also hides its environments and generated commands.

Choose the default environment

Select one row in the Default column. A matrix always has exactly one default; when necessary, the first row becomes the default automatically. It provides fallback context when the current page does not identify an environment in that matrix.

The default marker belongs to the matrix, so different project groups can choose different defaults.

Add URL variants to a cell

The URL visible in the matrix is the cell's primary or Default variant. Choose + Variants to add named alternatives for the same environment/application combination.

App variants
Default
https://stg.example.com/
Localized
https://stg.example.com/{LANG}/
Legacy
https://legacy.stg.example.com/

Variant names distinguish results in the launcher. ActionHelm can match both primary and variant templates against the current URL, and sibling variants remain available as destinations.

Define matrix variables

Open Variables, add a name such as LANG, then choose its type and default. Variable names use uppercase letters, digits, and underscores and are referenced as {LANG} inside cell URLs.

  • Text matches one URL segment.
  • Number matches signed integers and decimals.
  • Enum matches only configured values and requires a default from that list.
Language variable
Name
LANG
Type
enum
Values
en, de, pl
Default
en
Template
https://stg.example.com/{LANG}/

If the current URL is https://qa.example.com/pl/orders/42, ActionHelm extracts LANG=pl and reuses it in a compatible destination. Outside a matching URL, it uses the configured default.

Define every placeholder before saving

A cell URL containing an unknown matrix variable is rejected. Provide valid example/default values so the URL template can also be validated.

Understand generated commands

When the current page matches a matrix

  • Sibling variants of the current cell are offered.
  • Other application columns in the current environment are offered.
  • The same application column in other environments is offered.
  • The unmatched path, query string, and hash are appended to compatible destinations.
  • Values captured by matrix variables are carried into destination templates.

When no matrix URL matches

ActionHelm generates direct routes for configured environment/application cells and their variants. These commands use variable defaults until you provide another accepted value.

Naming and conflicts

Direct route patterns combine the environment label, application label, and required variable placeholders—for example Staging App {LANG}. Context switches use labels such as Switch to Production - App. A user-created command or alias with the same pattern takes priority.

Next guideBack up and move your setup