id = "resterm"
name = "Resterm"
homepage = "https://github.com/unkn0wn-root/resterm"
description = "Terminal API client for HTTP, GraphQL, gRPC, WebSockets, SSE, and workflows."
executables = ["resterm"]
[dotfiles]
paths = [
"[configHome]/resterm/settings.toml",
"[configHome]/resterm/themes/",
]
exclude = [
"[configHome]/resterm/history.db",
"[configHome]/resterm/runner/",
]
secret = []
side_effect = false
[commands]
format = 1
label = "Resterm"
description = "Run requests from a .http/.rest file without the UI (resterm run). The TUI, mock, record, import and collection commands are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["run"]
label = "Run request file"
description = "Run selected requests or a workflow from a request file and print results. Compare, profile, artifact and persistence flags are left out."
[[commands.subcommand.source]]
id = "cli"
kind = "manual"
url = "https://github.com/unkn0wn-root/resterm/blob/main/docs/cli/run.md"
revision = "main 2026-10-27"
evidence = """
resterm run [flags] <file>
| `--request <name>` | `-r <name>` | Run one named request. |
| `--workflow <name>` | `-W <name>` | Run one named workflow. |
| `--tag <tag>` | `-g <tag>` | Run every request tagged with the given tag. |
| `--line <n>` | `-l <n>` | Run the request or workflow whose source range contains line `n`. |
| `--all` | `-a` | Run every request in the file. |
| `--format <format>` | `-f <format>` | One of `auto`, `text`, `json`, `junit`, `pretty`, or `raw`. |
| `--body` | `-b` | Print only the response body for exactly one request result. |
| `--headers` | `-H` | Include request and response headers when a single-request view is rendered. |
| `--fail-fast` | `-ff` | Stop after the first failed top-level result and mark the remaining selected requests as skipped. |
| `--workspace <dir>` | `-w <dir>` | Workspace root used for file discovery and relative resolution. |
| `--env <name>` | `-e <name>` | Select an environment explicitly. |
| `--env-file <path>` | `-E <path>` | Use an explicit environment file, either JSON or dotenv. |
| `--timeout <duration>` | `-t <duration>` | Default HTTP timeout. The default is `30s`. |
| `--insecure` | `-k` | Skip TLS certificate verification. |
| `--follow` | `-L` | Follow redirects. |
"""
[[commands.subcommand.field]]
id = "file"
label = "Request file"
type = "path"
position = 0
path = { kind = "file", role = "input" }
sources = ["cli"]
[[commands.subcommand.field]]
id = "request"
label = "Request name"
type = "string"
option = ["--request", "-r"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "workflow"
label = "Workflow name"
type = "string"
option = ["--workflow", "-W"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "tag"
label = "Tag"
type = "string"
option = ["--tag", "-g"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "all"
label = "Run every request"
type = "boolean"
option = ["--all", "-a"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "env"
label = "Environment"
type = "string"
option = ["--env", "-e"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "env_file"
label = "Environment file"
type = "path"
option = ["--env-file", "-E"]
path = { kind = "file", role = "input" }
sources = ["cli"]
[[commands.subcommand.field]]
id = "format"
label = "Output format"
type = "enum"
choices = [{ value = "auto", label = "Auto" }, { value = "text", label = "Text" }, { value = "json", label = "JSON" }, { value = "junit", label = "JUnit XML" }, { value = "pretty", label = "Pretty" }, { value = "raw", label = "Raw" }]
option = ["--format", "-f"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "body"
label = "Print only the body"
type = "boolean"
option = ["--body", "-b"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "headers"
label = "Include headers"
type = "boolean"
option = ["--headers", "-H"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "fail_fast"
label = "Stop at first failure"
type = "boolean"
option = ["--fail-fast"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "timeout"
label = "HTTP timeout"
description = "A duration such as 30s."
type = "string"
option = ["--timeout", "-t"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "insecure"
label = "Skip TLS verification"
type = "boolean"
option = ["--insecure", "-k"]
sources = ["cli"]
[[commands.subcommand.task]]
id = "run_request"
label = "Run one request"
fields = ["file", "request", "env", "format"]
required = ["file", "request"]
[[commands.subcommand.task]]
id = "run_all_ci"
label = "Run all requests for CI"
fields = ["file", "all", "env", "format", "fail_fast"]
required = ["file", "all"]
set = { all = [true], format = ["junit"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["file", "request", "workflow", "tag", "all", "env", "format"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["env_file", "body", "headers", "fail_fast", "timeout", "insecure"]