Skip to main content
Version: 0.21.0

Run Configurations

The Concord IntelliJ Plugin allows you to execute Concord flows locally directly from the IDE. This is powered by the Concord CLI, enabling rapid feedback loops during development without pushing changes to the server.

Prerequisites

Before running flows, you need to configure the Concord CLI.

  1. Open Settings | Tools | Concord CLI.
  2. Either:
    • Download: Click "Download..." to fetch the CLI directly from Maven Central. The plugin will download and configure it automatically.
    • Manual path: If you already have the CLI installed, specify the path to the executable.
  3. The plugin validates the path and displays the detected version. If the path is incorrect, you will see a specific error: "File not found" if the file does not exist, or "File is not executable" if the file exists but cannot be run (with a suggestion to select a Java runtime or use a .sh distribution).
  4. Optionally, select a Java runtime to use for running the CLI. By default, the CLI uses java from the system PATH. You can choose any JDK registered in IntelliJ to run the CLI via java -jar instead.
Concord CLI Settings
Concord CLI Settings
Custom JDK

Selecting a specific Java runtime is useful when the Concord CLI requires a different JDK version than your system default, or when java is not on the system PATH.

Running a Flow

There are multiple ways to start a flow execution.

1. Gutter Icons

Quick Run

The easiest way to run a specific flow is using the Run icon in the editor gutter (left margin) next to the flow definition.

Run Gutter Icon
Click the Play icon next to a flow name

Clicking the icon will create a temporary run configuration and start the flow immediately.

2. Context Menu

Right-click anywhere inside a flow definition and select Run <flowName>.

3. Run Configuration Dialog

You can manually create and edit configurations via Run | Edit Configurations.... Click the + button and select Concord.

Run Configuration Dialog
Concord Run Configuration Editor

Configuration Options

When editing a Concord Run Configuration, you can customize the execution environment:

  • Entry Point: The name of the flow to execute.
  • Working Directory: The root directory for the execution (usually the folder containing concord.yml).
  • Parameters: Process arguments passed to the execution (accessible via ${...} in the flow).
  • Additional Arguments: Any extra flags to pass directly to the CLI command (e.g., --verbose).

Execution Modes

The plugin supports two distinct execution modes, which can be configured globally in Settings | Tools | Concord Run Mode.

Direct Mode (Default)

In this mode, the selected flow is executed directly as the entry point.

  • Command: concord run --entry-point <flowName>
  • Use case: Testing independent flows or simple processes.

Delegating Mode

In this mode, the plugin always runs a specific "Main" entry point (e.g., a main flow) and passes the actual target flow name as a parameter.

  • Command: concord run --entry-point <MainEntryPoint> -e <FlowParamName>=<TargetFlowName>
  • Use case: Complex projects where a wrapper flow handles initialization, logging, or error handling before calling the target business logic.

Configuration:

  • Main Entry Point: The flow that acts as the wrapper (default: default).
  • Flow Parameter Name: The variable name used to pass the target flow (default: flow).
Run Mode Settings
Run Mode Settings

Target Directory

The Target directory setting in Settings | Tools | Concord Run Mode controls where the Concord CLI copies project files during execution. The default is .concord/target, relative to the project root.

When set, the plugin passes --target-dir=<path> to the CLI automatically. You can specify either a relative path (resolved against the project root) or an absolute path.

Automatic Index Exclusion

The target directory is automatically excluded from IntelliJ's indexing. Without this, the copied files inside the target directory would appear in Search Everywhere, Find in Files, and other IDE-wide searches, polluting results with duplicates.

This exclusion happens transparently -- there is nothing to configure. The excluded path updates automatically when you change the target directory setting.

tip

If you notice duplicate results in searches from a previous CLI run, check that the Target directory setting points to the correct location.

Interactive Console

The execution output is displayed in the Run tool window. The console supports:

  • ANSI Colors: Full color support for logs.
  • Hyperlinks: Error messages in the output (e.g., (concord.yml): Error @ line 10) are clickable and navigate directly to the source code location.