Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

callme-cli

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

callme-cli

Professional command-line runner for API collections exported from the Callman desktop app. Runs requests, scripts, and contract checks via callman-core; emits HTML/JSON reports; CI-friendly exit codes.

latest
Source
npmnpm
Version
1.6.0
Version published
Weekly downloads
83
-60.29%
Maintainers
1
Weekly downloads
 
Created
Source

Callme CLI

Callme CLI is a professional command-line runner for API collections. It runs exported collections outside the desktop UI, loads exported environment variables, executes requests sequentially, runs scripts and contract checks through callman-core, prints terminal results, generates reports, and returns CI-friendly exit codes.

The CLI is intentionally thin: it handles file loading, orchestration, output, reports, and exit codes. Core execution logic stays inside callman-core.

Who This Is For

Business users can use Callme CLI to prove that a business flow still works outside the desktop application, generate shareable HTML reports, and see a clear pass/fail summary.

QA engineers can run regression collections, validate response contracts, inspect failed script tests, and stop early with --bail when a flow is broken.

Developers can debug request execution with --verbose, inspect resolved headers/body/query values, verify environment mutations, and compare CLI behavior with the desktop app.

DevOps engineers can run collections in CI/CD pipelines, enforce exit codes, generate JSON/HTML artifacts, and use --no-fail when a pipeline stage should collect evidence without blocking deployment.

Features

  • Runs API collection JSON files.
  • Loads environment JSON files exported from the desktop app.
  • Resolves environment variables through callman-core.
  • Executes requests sequentially.
  • Runs pm.* test scripts through core.
  • Runs contract validation through core.
  • Supports request headers, query params, request body, response body, and response headers in reports.
  • Generates JSON and HTML reports.
  • Supports CI/CD exit codes.
  • Supports advanced execution flags: --no-fail, --bail, --verbose, --silent.

Project Structure

callme_cli/
  src/
    index.ts       CLI command registration and exit handling
    execution.ts   CLI orchestration loop around callman-core
    loaders.ts     Collection and environment file loading/normalization
    format.ts      Terminal output formatting
    reports.ts     JSON and HTML report generation
    summary.ts     Failure detection and summary helpers
    types.ts       CLI TypeScript types
  data/
    register-collection.json
    environment.json
  dist/            Compiled output

Requirements

  • Node.js 18 or newer is recommended.
  • callman-core must be available. In this workspace it is linked locally with:
"callman-core": "file:../callman_core"

Install And Build

From the callme_cli directory:

npm install
npm run build

Run locally without installing the global command:

npm run start -- run ./data/register-collection.json --env ./data/environment.json

After global linking, the command is:

callme run ./data/register-collection.json --env ./data/environment.json

If global linking fails with a permission error on macOS, use npm run start -- ... during development or configure npm to use a user-owned global prefix.

Basic Command

Callme CLI supports two run modes:

File mode (legacy)

callme run <collection.json> --env <environment.json>

Reads JSON files exported from the desktop app off the local disk. Useful for ad-hoc local runs.

callme run \
  --collection-id <collectionId> \
  --environment-id <environmentId> \
  --workspace <workspaceId> \
  --token <cm_pat_...>

CLI fetches the collection + environment from the backend at runtime — no JSON files committed to your repo. The freshest version always runs.

Workspace + collection + environment IDs are visible in the desktop app:

  • Workspace ID → Workspace Settings → General → Copy.
  • Collection ID → right-side menu next to each collection → Copy ID.
  • Environment ID → open the environment → header → Copy.

Personal Access Tokens (PATs) are created in the desktop app: Workspace Settings → CI Tokens → New CI Token. The plain token is shown ONCE on creation — copy it immediately into your CI secret store. Tokens are workspace-scoped and revocable from the same UI.

Configuration sources (remote mode)

Each value falls back through this chain (high → low):

ValueCLI flagEnv varDefault
API URL--api-urlCALLME_API_URLhttps://api.callman.io
Token--tokenCALLME_TOKEN(required)
Workspace ID--workspaceCALLME_WORKSPACE_ID(required)
Collection ID--collection-idnone(required)
Environment ID--environment-idnone(required)

Cloud user

Default URL works — set 3 secrets (CALLME_TOKEN, CALLME_WORKSPACE_ID) plus the two IDs as command args.

On-prem user

Point the CLI at your internal backend:

export CALLME_API_URL=https://api.callman.acme.local
export CALLME_TOKEN=cm_pat_...
export CALLME_WORKSPACE_ID=...

callme run \
  --collection-id <collectionId> \
  --environment-id <environmentId>

A PAT minted on one backend only works against that backend; cloud PATs do not authenticate against on-prem and vice versa.

Equivalent local development commands

# File mode
npm run start -- run <collection.json> --env <environment.json>

# Remote mode (against local backend)
npm run start -- run \
  --api-url http://localhost:4000 \
  --token <cm_pat_...> \
  --workspace <workspaceId> \
  --collection-id <collectionId> \
  --environment-id <environmentId>

Scenario Runs (Server-Side)

callme scenario run triggers a Callman scenario on the backend worker and (by default) polls until it finishes. Unlike callme run, the scenario does not execute locally — the worker has the DB / Kafka / Redis pools the scenario nodes need.

# Trigger + wait (default). Exit code reflects the run result.
callme scenario run \
  --scenario-id <scenarioId> \
  --environment-id <scenarioEnvId> \
  --workspace <workspaceId> \
  --token <cm_pat_...>

# Fire-and-forget — return as soon as the run is queued.
callme scenario run --scenario-id <id> --no-wait \
  --workspace <id> --token <cm_pat_...>

# Save a JSON report when finished.
callme scenario run --scenario-id <id> \
  --workspace <id> --token <cm_pat_...> \
  --report json --output ./scenario.json


npm run start -- scenario run \
  --api-url http://localhost:4000 \
  --token cm_pat_J_acaYXOAxs1jSIMBL-R34p522QiHj5RQBJlXyQDcIQ \
  --workspace 69ee34951f9f4d2754369276 \
  --scenario-id 69f8f261f7f688ff34f50a79 \
  --environment-id e76e66f1-3000-475c-a8d8-344886e7c829 \
  --report json --output ./scenario-report.json \
  --timeout 4000

PAT scope

Scenario triggers require the PAT to carry the pipeline:trigger scope. Generate a new token from the desktop app (Workspace Settings → CI Tokens → "New CI Token" → check Trigger). Tokens created before this scope existed will get 403 with the message Token is missing the 'pipeline:trigger' scope.

Flag semantics

FlagBehaviour
--scenario-id <id>Required. Or set CALLME_SCENARIO_ID.
--environment-id <id>Optional. Names the scenario's inline environment to use (NOT a Mongo _id). Or set CALLME_SCENARIO_ENV_ID. Falls back to the first environment when omitted.
--no-waitTrigger and exit immediately with 0. The run keeps going server-side.
--timeout <ms>How long the CLI is willing to wait for a terminal state. Default: 1800000 (30 min). Hitting it exits 2 (fatal); the server-side run continues, it is not cancelled.
--max-runtime <ms>Advisory cap forwarded to the worker.
--no-failForce exit 0 on failed / completed_with_failures / stopped. Overrides the priority gate.
--fail-threshold <level>Lowest scenario priority that flips the exit code on failure. Accepts critical, high, medium, low. Default: critical. See Scenario priority & pipeline gating below.
--bailParsed but no-op for scenarios. Logged in non-silent mode. Kept for parity with callme run.
--report json --output <file>Dumps the slim report shape to disk. HTML reports are not yet supported for scenarios.

Scenario priority & pipeline gating

Every scenario carries a priority (critical / high / medium / low), set in the desktop UI on the scenario itself. When a scenario run fails, callme scenario run decides the exit code by comparing that priority against --fail-threshold:

  • Default --fail-threshold criticalonly critical scenario failures break the pipeline (exit 1). high, medium, low failures exit 0 and print a Pipeline not failed: notice so reviewers know nothing was silently swallowed.
  • --fail-threshold high → both critical and high failures break the pipeline.
  • --fail-threshold low → every failure breaks the pipeline (legacy behaviour, all-or-nothing).
  • --no-fail short-circuits the gate entirely — always exit 0.

Pre-existing scenarios that never had a priority assigned report as medium automatically (no migration required). The priority shown in the report is snapshotted at trigger time, so changing the scenario's priority after a run was triggered does not retroactively change the report's exit code.

Exit codes

State--no-fail off (default)--no-fail on
success00
failed / completed_with_failures / stopped, priority --fail-threshold10
failed / completed_with_failures / stopped, priority < --fail-threshold0 (gated)0
Timeout / network / auth error22
--no-wait trigger succeeded00

Examples

# Only critical scenarios break this stage (default).
callme scenario run --scenario-id <id> --token "$CALLME_TOKEN"

# Make any high-or-above failure break the pipeline.
callme scenario run --scenario-id <id> --fail-threshold high --token "$CALLME_TOKEN"

# Treat every failure as a pipeline break (legacy behaviour).
callme scenario run --scenario-id <id> --fail-threshold low --token "$CALLME_TOKEN"

# Collect evidence without ever breaking the pipeline.
callme scenario run --scenario-id <id> --no-fail --token "$CALLME_TOKEN"

Running a folder

A single --folder-id invocation runs every enabled scenario inside a folder — useful when one pipeline stage is logically "all smoke tests in the Auth area". Each scenario uses its own default environment (environments[0]), so you don't need to pass --environment-id.

callme scenario run --folder-id <folderId> --token "$CALLME_TOKEN"

Two settings are configured on the folder in the desktop app (Sidebar → folder menu → Pipeline config):

  • Execution mode (sequential | parallel)
    • sequential (default) — scenarios run one at a time. Logs stay ordered; the next scenario starts only after the previous finishes.
    • parallel — every scenario is triggered at once. Faster wall clock, interleaved logs, higher backend load.
  • Pipeline scenarios — uncheck any scenario that should be skipped by the CLI. Defaults to all enabled (opt-out), so newly added scenarios participate automatically.

Exit code semantics match single-scenario runs, but applied across the whole folder:

  • Any scenario that fails and sits at or above --fail-threshold flips the folder run to exit 1.
  • --no-fail still forces exit 0.
  • --fail-threshold low makes any failure break the pipeline.

The summary line at the end of a folder run reports N passed, M failed so CI logs always show the aggregate result before the Exit code: line.

Restrictions in folder mode:

  • --scenario-id, --environment-id, --report, --output, and --no-wait are rejected upfront — folder runs always poll all scenarios and don't emit a per-folder report file.
  • Disabled or missing scenarios surface in the desktop config; the CLI never errors when an old pipelineDisabledScenarioIds entry no longer matches a real scenario.
# Run every enabled scenario in the folder, default thresholds.
callme scenario run --folder-id <folderId> --token "$CALLME_TOKEN"

# Same, but break the pipeline on any failure regardless of priority.
callme scenario run --folder-id <folderId> --fail-threshold low \
  --token "$CALLME_TOKEN"

Command Reference

callme run <collection> [options]

Arguments:

ArgumentRequiredMeaning
<collection>YesPath to a collection JSON file.

Options:

OptionValueMeaning
--env <envFile>File pathLoads environment variables from an exported environment JSON file.
--report <json|html>json or htmlGenerates a report in the selected format.
--output <file>File pathOutput path for the report. Required when --report is used.
--no-failBooleanAlways exits with code 0 after a completed run, even if requests, scripts, or contracts fail. Failures are still printed and included in reports.
--bailBooleanStops execution after the first failed request. Summary and reports include only executed requests.
--verboseBooleanPrints detailed debug information for each executed request.
--silentBooleanPrints only request status lines and summary. Overrides --verbose.

Input Files

Collection File

The CLI accepts the exported collection shape used by the desktop app and normalizes it before passing requests to callman-core.

Minimum normalized shape:

{
  "name": "Registration",
  "requests": [
    {
      "id": "request-1",
      "name": "Login",
      "method": "POST",
      "url": "https://api.example.com/login",
      "headers": {
        "Content-Type": "application/json"
      },
      "query": {
        "source": "cli"
      },
      "body": {
        "username": "{{env.username}}",
        "password": "{{env.password}}"
      },
      "tests": "pm.test(\"status is 200\", () => { pm.response.to.have.status(200); });",
      "contracts": [
        {
          "path": "data.token",
          "rules": {
            "required": true,
            "type": "string",
            "notEmpty": true
          }
        }
      ]
    }
  ]
}

The CLI also understands desktop export fields such as:

  • collection.name
  • headers as key/value arrays
  • query as key/value arrays
  • auth
  • testsScript
  • postResponseScript
  • contractRules

Environment File

Expected environment format:

{
  "name": "staging",
  "variables": {
    "base_url": "https://api.example.com",
    "AccessToken": "token-value"
  }
}

Only variables are passed to callman-core.

Execution Flow

For each request, the CLI:

  • Takes an environment snapshot before the request.
  • Calls callman-core to run the request.
  • Receives response, script results, contract results, and updated environment.
  • Takes an environment snapshot after the request.
  • Prints output based on selected flags.
  • Stops early if --bail is enabled and the request failed.
  • Builds a summary from executed requests.
  • Writes reports if requested.
  • Returns the correct process exit code.

Failure Rules

A request is considered failed if any of these are true:

Failure TypeRule
Request failureHTTP status is 0 or >= 400. Status 0 usually means network/request execution failure.
Script failureAny script test result has status FAIL.
Contract failureAny contract check result has status FAIL.

This means a request can have HTTP 200 and still fail because a script test or contract check failed.

Exit Codes

Exit CodeMeaningWhen It Happens
0SuccessAll executed requests passed, or --no-fail was used.
1Run failureAt least one executed request, script test, or contract check failed.
2Fatal errorInvalid command, invalid file, invalid JSON, unsupported report type, missing report output, or unexpected runtime error.

Exit Code Examples

Normal run with failures:

callme run collection.json --env environment.json
# exits 1 if any request/script/contract fails

Collect failures but do not fail the process:

callme run collection.json --env environment.json --no-fail
# exits 0 even if failures exist

Stop early but do not fail the process:

callme run collection.json --env environment.json --bail --no-fail
# stops on first failure, exits 0

Output Modes

Normal Output

Normal mode prints:

  • collection header
  • request status line
  • script test details
  • contract check details
  • summary
  • report path when a report is generated

Example:

Running collection: Registration

[1/8] POST /api/v3/registration/pin .... 200 OK (316ms)
  Script Tests:
    PASS Status code is 200
  Contract Checks:
    PASS Contract: data.last_sms

Summary:
Requests: 8
Passed: 7
Failed: 1

Silent Output

Silent mode prints only:

  • request status lines
  • summary

It hides:

  • collection header
  • script test details
  • contract check details
  • verbose debug logs
  • report written message

Command:

callme run collection.json --env environment.json --silent

Example:

[1/8] POST /api/v3/registration/pin .... 200 OK (316ms)
[2/8] POST /api/v2/login .... 200 OK (89ms)

Summary:
Requests: 8
Passed: 7
Failed: 1

Verbose Output

Verbose mode prints normal output plus:

  • full resolved request URL
  • request headers
  • query params
  • request body
  • response headers
  • response body
  • environment changes after each request

Command:

callme run collection.json --env environment.json --verbose

Verbose output is useful for developers and QA when comparing CLI behavior with desktop execution.

Important: verbose output may print secrets such as tokens, API keys, cookies, and personal data. Avoid using --verbose in shared CI logs unless logs are protected.

Advanced Flags

--no-fail

Use --no-fail when you want the CLI to complete and produce evidence without failing the shell process.

Behavior:

  • failures are still detected
  • failures are still printed
  • failures are still included in reports
  • final exit code is forced to 0 unless a fatal error occurs

Typical use cases:

  • nightly diagnostics where reports should be collected
  • non-blocking monitoring jobs
  • demo runs
  • investigation runs in CI where artifacts matter more than gating

Example:

callme run collection.json --env environment.json --no-fail

--bail

Use --bail when later requests depend on earlier successful requests.

Behavior:

  • execution stops after the first failed request
  • summary includes only executed requests
  • reports include only executed requests
  • exit code is still 1 if a failure occurred, unless --no-fail is used

Typical use cases:

  • authentication flow fails, so later API calls are useless
  • registration flow depends on previous tokens
  • fast feedback in CI
  • reducing noise after the first broken step

Example:

callme run collection.json --env environment.json --bail

--verbose

Use --verbose for debugging.

Behavior:

  • disables spinner output
  • prints detailed request/response data
  • prints environment mutations
  • still prints script and contract results

Example:

callme run collection.json --env environment.json --verbose

--silent

Use --silent for compact CI logs.

Behavior:

  • prints only request status lines and summary
  • hides script details
  • hides contract details
  • hides verbose logs
  • hides report written message
  • overrides --verbose

Example:

callme run collection.json --env environment.json --silent

Flag Priority

CombinationResult
--silent --verboseSilent wins. Verbose logs are hidden.
--bail --no-failExecution stops early, but final exit code is 0.
--report ... --silentReport is still written, but the report path message is hidden.
--report without --outputFatal error, exit code 2.
--output without --reportFatal error, exit code 2.

Flag Combination Matrix

The following table describes all combinations of the four execution flags.

FlagsExecutionOutputExit Code On Run Failure
noneRuns all requestsNormal1
--no-failRuns all requestsNormal0
--bailStops after first failureNormal1
--verboseRuns all requestsDetailed debug1
--silentRuns all requestsMinimal1
--no-fail --bailStops after first failureNormal0
--no-fail --verboseRuns all requestsDetailed debug0
--no-fail --silentRuns all requestsMinimal0
--bail --verboseStops after first failureDetailed debug1
--bail --silentStops after first failureMinimal1
--verbose --silentRuns all requestsMinimal because silent wins1
--no-fail --bail --verboseStops after first failureDetailed debug0
--no-fail --bail --silentStops after first failureMinimal0
--no-fail --verbose --silentRuns all requestsMinimal because silent wins0
--bail --verbose --silentStops after first failureMinimal because silent wins1
--no-fail --bail --verbose --silentStops after first failureMinimal because silent wins0

Reports

Callme CLI supports JSON and HTML reports.

JSON Report

Command:

callme run collection.json --env environment.json --report json --output report.json

Output shape:

{
  "collectionName": "Registration",
  "summary": {
    "total": 8,
    "passed": 7,
    "failed": 1
  },
  "results": []
}

Use JSON reports for:

  • CI parsing
  • dashboards
  • automated trend analysis
  • archival evidence

HTML Report

Command:

callme run collection.json --env environment.json --report html --output report.html

The HTML report includes:

  • collection name
  • summary cards
  • expandable request rows
  • request URL
  • request headers
  • query params
  • request body
  • response headers
  • response metadata
  • response body
  • script test results
  • contract check results

Use HTML reports for:

  • QA review
  • business sharing
  • release evidence
  • manual investigation

Report And Flag Combinations

Generate a JSON report and fail CI on failures:

callme run collection.json --env environment.json --report json --output report.json

Generate an HTML report and fail CI on failures:

callme run collection.json --env environment.json --report html --output report.html

Generate a report but never fail the process:

callme run collection.json --env environment.json --report html --output report.html --no-fail

Stop early and write a report for executed requests:

callme run collection.json --env environment.json --report html --output report.html --bail

Stop early, write a report, but exit 0:

callme run collection.json --env environment.json --report html --output report.html --bail --no-fail

Write a report with minimal terminal logs:

callme run collection.json --env environment.json --report json --output report.json --silent

Debug and write an HTML report:

callme run collection.json --env environment.json --report html --output report.html --verbose

Common Usage By Role

Business User

Run a flow and generate a readable report:

callme run registration.json --env staging.json --report html --output registration-report.html

Meaning:

  • executes the exported business flow
  • creates an HTML report
  • shows which checks passed or failed
  • suitable for sharing with non-developers

QA Engineer

Run regression tests and stop at the first broken step:

callme run regression.json --env qa.json --bail --report html --output regression.html

Meaning:

  • stops quickly when the flow becomes invalid
  • keeps the failure focused
  • writes a report for the executed part of the flow

Developer

Debug variable resolution, request body, response body, and env changes:

callme run collection.json --env local.json --verbose

Meaning:

  • shows resolved request URL
  • shows headers and body sent by CLI
  • shows response payloads
  • shows variables written by scripts

DevOps Engineer

Run in CI and fail the pipeline on test or contract failures:

callme run collection.json --env ci.json --silent --report json --output callme-report.json

Meaning:

  • compact logs
  • machine-readable artifact
  • non-zero exit code when the API flow fails

Non-Blocking CI Evidence

Run a collection, collect the report, but do not block the pipeline:

callme run collection.json --env ci.json --silent --no-fail --report html --output callme-report.html

Meaning:

  • failures are still recorded
  • report is generated
  • process exits 0

CI/CD Examples

GitHub Actions

name: API Regression

on:
  pull_request:
  workflow_dispatch:

jobs:
  api-regression:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Install CLI
        working-directory: callme_cli
        run: npm ci

      - name: Build CLI
        working-directory: callme_cli
        run: npm run build

      - name: Run API collection
        working-directory: callme_cli
        run: npm run start -- run ./data/register-collection.json --env ./data/environment.json --silent --report json --output report.json

      - name: Upload report
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: callme-report
          path: callme_cli/report.json

Non-Blocking Scheduled Check

- name: Run non-blocking API health check
  working-directory: callme_cli
  run: npm run start -- run ./data/register-collection.json --env ./data/environment.json --silent --no-fail --report html --output report.html

Fail Fast In CI

callme run collection.json --env ci.json --silent --bail --report json --output report.json

Meaning:

  • stops on first failure
  • keeps logs small
  • returns 1 on failure
  • still writes a report for executed requests

Local Development Commands

Build:

npm run build

Run with sample data:

npm run start -- run ./data/register-collection.json --env ./data/environment.json

Run and generate HTML:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --report html --output report.html

Run and generate JSON:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --report json --output report.json

Run silently:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --silent

Run verbose:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --verbose

Run fail-fast:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --bail

Run without failing the shell:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --no-fail

Troubleshooting

zsh: command not found: callme

The global callme command is not linked or installed.

Use the local development command:

npm run start -- run ./data/register-collection.json --env ./data/environment.json

Or link the CLI globally after building:

npm run build
npm link

If npm tries to write into /usr/local/lib/node_modules and fails with EACCES, your global npm prefix is not writable by your user.

Recommended options:

  • use npm run start -- ... during development
  • configure a user-owned npm global prefix
  • use a Node version manager that owns its global npm directory

Avoid changing system permissions unless you understand the impact.

Fatal: Collection.name must be a non-empty string

The collection file does not have a supported collection name.

Supported examples:

{
  "name": "Registration",
  "requests": []
}

or:

{
  "collection": {
    "name": "Registration"
  },
  "requests": []
}

Unsupported report type

Only these report types are supported:

  • json
  • html

Correct:

callme run collection.json --report html --output report.html

Incorrect:

callme run collection.json --report hml --output report.html

--report Requires --output

This is invalid:

callme run collection.json --report html

Use:

callme run collection.json --report html --output report.html

--output Requires --report

This is invalid:

callme run collection.json --output report.html

Use:

callme run collection.json --report html --output report.html

HTTP 200 But Request Is Failed

A request can fail even when HTTP status is 200.

That happens when:

  • a script test fails
  • a contract check fails

Example:

GET /userinfo .... 200 OK
Contract Checks:
  FAIL pin length expected at least 8, got 7

The CLI treats this as a failed request because the API contract is not satisfied.

Security Notes

Environment files may contain tokens, API keys, passwords, customer data, or other secrets.

Be careful with:

  • --verbose, because it prints headers, request body, response body, and environment changes
  • HTML reports, because they include request and response details
  • JSON reports, because they include raw execution results
  • CI artifacts, because they may persist sensitive values

Recommended practices:

  • store environment files securely
  • avoid committing real secrets
  • use secret management in CI
  • restrict access to generated reports
  • prefer --silent in public logs

Architecture

Callme CLI is split from callman-core.

callman-core owns:

  • request execution
  • variable resolution
  • environment store behavior
  • script execution
  • contract validation
  • per-request core execution logic

Callme CLI owns:

  • command parsing
  • file loading
  • desktop export normalization
  • per-request orchestration for flags
  • terminal formatting
  • reports
  • exit codes

This separation keeps the core reusable by CLI, desktop, frontend, and future automation tools.

For local debugging:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --verbose

For QA regression:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --bail --report html --output report.html

For CI gating:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --silent --report json --output report.json

For non-blocking CI evidence:

npm run start -- run ./data/register-collection.json --env ./data/environment.json --silent --no-fail --report html --output report.html

npm run start -- scenario run --api-url http://localhost:4000 --token cm_pat_6G6Eic2bc3PO6ET3zU6_BYtCAL5j7hJfHWrHkTRYFVo --workspace 6a00d92f0288bc493f4cf846 --folder-id 6a14726b680ab39a0b921fa0

Keywords

callman

FAQs

Package last updated on 31 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts