Consistent CLI Parameters Naming Across Technologies

Motivation

The main purpose of standardizing CLI parameter naming across all SeaLights agents is to simplify onboarding and improve usability across multi-technology environments.

By ensuring that the same concept is represented by the same parameter name across all supported technologies, we achieve:

  • Faster onboarding – users don’t need to relearn configurations per technology

  • Consistency – predictable and intuitive CLI usage

  • Scalability – easier adoption in complex, multi-stack environments

  • Reduced errors – fewer misconfigurations caused by inconsistent naming

Backward Compatibility

All agents must continue supporting existing CLI parameters until deprecation is technically feasible via Remote Config.

  • New standardized parameters should be implemented as aliases

  • Existing parameters must remain functional during the transition period

Naming Convention

All CLI parameters must follow a consistent format:

  • Prefix: -- (double dash)

  • Format: lower camel case

    • First word starts with lowercase

    • Each subsequent word starts with uppercase

Example


CLI Commands Standardisation

Purpose
Standard Command

Create Build Session ID

config

PR Build Session

prConfig

Scan / Build Mapping

scan

End Build / Scan Notification

completeScan

Instrument Code

instrument

Run Application with Agent

run

Start Test Execution

start (alias: startTestStage, openTestStage)

End Test Execution

end (alias: endTestStage, closeTestStage)

Upload Test Reports

uploadReports


CLI Parameters Standardisation

Purpose
CLI Parameter
Notes

Token (direct)

--token

Token File

--tokenFile

Build Session ID

--buildSessionId

Build Session ID File

--buildSessionIdFile

Application Name

--appName

Branch Name

--branchName

Build Name / ID

--buildName

Workspace / Source Path

--scanDir

Aliases per technology. Examples, .NET: --binDir, Java: --workspacePath

--include<item>

.NET: --includeNamespace, Java: --includePackages, Python and Nodejs: --includeFiles

--exclude<item>

.NET: --excludeNamespace, Java: --excludePackages, Python and Nodejs: --excludeFiles

Lab ID

--labId

Test Stage

--testStage

Test Project ID

--testProjectId

Test Group ID

--testGroupId

Node, Python

Disable TIA

--disableTia

Fail Build on Error

--failOnError

Node, Go, Java

Log Level

--logLevel

Node, Go, Java

Recursive Scan

--recursive

Node, Java

SCM Type

--scmType

Repository URL

--repositoryUrl

Alias: --scmUrl

SCM Provider

--scmProvider

SCM Version

--scmVersion

PR Number

--pullRequestNumber

Target Branch

--targetBranch

Latest Commit

--latestCommit

Report File

--file

Report Files Folder

--filesFolder

Report Type

--type

Report Source

--source

Has More Requests

--hasMoreRequests

Module Name

--moduleName

Dependencies File

--dependenciesFile

Node, Java

Send Contributors

--sendContributors

Node, Java

Collector URL

--collectorUrl

Node, Python, Go

Build Tags

--tags

.NET, Go

Last updated

Was this helpful?