QuadrastackQuadrastack
Documentation

Docs

CLI Reference

Complete command-line reference for Quadrastack CLI

CLI Reference

Complete reference for the Quadrastack CLI (quadrastack), including usage, flags, environment variables, and configuration.

Overview

Quadrastack is a single-binary CLI tool that finds and executes HTTP workflows defined in YAML playbooks.

Syntax

quadrastack [flags]

Basic Examples

# Run all requests in the current directory
quadrastack

# Validate playbooks without executing
quadrastack --dry-run

# Run with verbose logging
quadrastack --verbose

Flags

All flags are optional. You can also configure most of these via a config file or environment variables.

FlagShortDefaultDescription
--playbook-dir-d.Directory containing playbook YAML files (recursive)
--requestNoneNoneRun specific named request(s) (repeatable)
--scenarioNoneNoneRun requests matching a scenario's label selector (repeatable)
--profileNonedefaultName of the variables profile to use from vars.yaml
--output-dir-o.Directory to write results to
--output-dir-modeNonetimestampedtimestamped (creates unique subdir) or flat (overwrites)
--output-detailNonecompactcompact (truncated bodies) or full (complete bodies)
--mock-serverNoneNoneStart named mock server(s) instead of running tests
--configNoneNonePath to a YAML config file
--dry-runNonefalseValidate inputs/YAML without executing requests
--verboseNonefalseEnable detailed debug logging
--license-infoNonefalseDisplay license information and exit
--version-vfalseDisplay version information
--help-hfalseDisplay help

Detailed Usage Examples

Run All Tests in a Directory (-d)

Recursively searches for .yaml files in the given directory.

quadrastack -d ./tests/integration

Run Specific Tests (--request)

Run specific requests by their ID. You can repeat the flag to run multiple.

# Single request
quadrastack --request create-user

# Multiple requests (execution order is preserved)
quadrastack --request create-user --request delete-user

Run Scenarios (--scenario)

Run requests matching a scenario's label selector.

# Run 'smoke' scenario
quadrastack --scenario smoke

# Run multiple scenarios in parallel (Pro tier)
quadrastack --scenario smoke --scenario regression

Output Configuration

Control where and how results are saved.

# Flat output mode (overwrites files, great for CI)
quadrastack --output-dir ./results --output-dir-mode flat

# Full detail mode (includes complete response bodies in JSON)
quadrastack --output-detail full

Mock Server Mode

Start one or more mock servers defined in your playbooks. This mode blocks until stopped (Ctrl+C).

# Start a specific mock server
quadrastack --mock-server payment-api

# Start multiple servers
quadrastack --mock-server payment-api --mock-server user-api

Environment Variable Overrides

You can override any value in your vars.yaml profile using system environment variables. This is critical for CI/CD security (injecting API keys).

Syntax

Quadrastack maps environment variables to variable keys by:

  1. Lowercasing the env var.
  2. Replacing underscores _ with dots ..

Examples

Environment VariableMaps to Variable KeyValue
BASE_URLbase.urlhttps://api.com
STRIPE_KEYstripe.keysk_test_...
AUTH_USER_PASSWORDauth.user.password12345

Usage

# Provide a dynamic API URL and secret token
BASE_URL=https://staging.api.com 
AUTH_TOKEN=secret-123 quadrastack --profile staging

Configuration File

You can allow defaults using a YAML configuration file.

Flag Precedence:

  1. CLI Flags (Highest)
  2. Environment Variables (for vars)
  3. Config File
  4. Defaults (Lowest)

Usage

quadrastack --config ./quadrastack.config.yaml

File Format

# quadrastack.config.yaml

# Directory containing playbook YAML files
playbookDir: ./tests/e2e

# Profile to use from vars.yaml
profile: staging

# Output configuration
outputDir: ./artifacts
outputDirMode: flat
outputDetail: compact

# Default scenarios to run if no flags provided
scenarios:
  - smoke-tests

# Default mock servers to start
mockServers:
  - api-mock

Exit Codes

Quadrastack returns standard exit codes to indicate success or failure, making it effectively for CI/CD pipelines.

CodeMeaning
0Success: All requests executed and all assertions passed.
1Failure: At least one test failed, or there was a configuration/validation error.
CLI Reference - Quadrastack Docs