@amritk/galaxy-staging-cli
v0.2.0
Published
The Scalar Galaxy is an example OpenAPI document to test OpenAPI tools and libraries. It's a fictional universe with fictional planets and fictional data. Get all the data for all planets.
Readme
Demo API (Scalar Galaxy)
This library provides convenient access to the Demo API (Scalar Galaxy) from the command line.
The full API of this library can be found in api.md.
Contents
- Installation
- Usage
- API Reference
- File Arguments
- Shell Completion
- Manual Pages
- Authentication
- Errors
- Client Options
- Retries and Timeouts
- Helpers
- Logging
- Requirements
Installation
# npm (requires Node.js)
npm install -g @amritk/galaxy-staging-cli
# Homebrew — standalone binary, no Node.js required
brew install amritk/galaxy-staging-tap/demoapiscalargalaxy
# Direct download — standalone binary, no Node.js required
curl -fsSL https://github.com/amritk/galaxy-staging-cli/releases/latest/download/demoapiscalargalaxy-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/').tar.gz | tar xz
sudo mv demoapiscalargalaxy /usr/local/bin/
# Windows — download and extract demoapiscalargalaxy-windows-x64.zip, then add it to PATH
# https://github.com/amritk/galaxy-staging-cli/releases/latest/download/demoapiscalargalaxy-windows-x64.zipUsage
demoapiscalargalaxy [resource] [command] [flags]
demoapiscalargalaxy planets list --bearer-auth "$BEARER_AUTH" --limit '10' --offset '0'The examples in the following sections assume a client configured as shown above.
See the API reference for every available operation.
File Arguments
Any command flag or credential reads its value from a file when the value begins with @, so a body field holding a whole document does not have to survive shell quoting. @file:// always sends the file as text and @data:// always sends it base64-encoded; a bare @ lets the file decide. A flag that uploads a file takes its path with or without the @. Escape a literal value that begins with @ as \@. The global options (--base-url, --timeout, --format and the rest) are read exactly as written.
demoapiscalargalaxy COMMAND --FLAG @./body.json
demoapiscalargalaxy COMMAND --FLAG @file://./notes.txt
demoapiscalargalaxy COMMAND --FLAG @data://./logo.png
demoapiscalargalaxy COMMAND --FLAG '\@not-a-file'Shell Completion
demoapiscalargalaxy completion <shell> prints a completion script for bash, zsh, and fish. Add the matching line to your shell startup file to complete commands, subcommands, and flags with Tab.
# bash (~/.bashrc)
eval "$(demoapiscalargalaxy completion bash)"
# zsh (~/.zshrc)
eval "$(demoapiscalargalaxy completion zsh)"
# fish (~/.config/fish/config.fish)
demoapiscalargalaxy completion fish | sourceManual Pages
Installing the package globally also installs man pages. man demoapiscalargalaxy lists every command, and each command has its own page named after the command with spaces and : replaced by -.
man demoapiscalargalaxy
man demoapiscalargalaxy-<resource>-<command>Authentication
Pass credentials to the generated client constructor. Environment variables are read automatically when supported by the target runtime.
| Option | Type | Default | Description |
| --- | --- | --- | --- |
| --bearer-auth | string \| provider | - | JWT Bearer token authentication Defaults to BEARER_AUTH. |
| --basic-auth-username | string \| provider | - | Basic HTTP authentication Defaults to BASIC_AUTH_USERNAME. |
| --basic-auth-password | string \| provider | - | Basic HTTP authentication Defaults to BASIC_AUTH_PASSWORD. |
| --api-key-header | string \| provider | - | API key request header Defaults to API_KEY_HEADER. |
| --api-key-query | string \| provider | - | API key query parameter Defaults to API_KEY_QUERY. |
| --api-key-cookie | string \| provider | - | API key browser cookie Defaults to API_KEY_COOKIE. |
| --o-auth2 | string \| provider | - | OAuth 2.0 authentication Defaults to O_AUTH2. |
| --open-id-connect | string \| provider | - | OpenID Connect Authentication Defaults to OPEN_ID_CONNECT. |
Declared schemes:
bearerAuthbearer tokenbasicAuthbasic authenticationapiKeyHeaderAPI key in headerX-API-KeyapiKeyQueryAPI key in queryapi_keyapiKeyCookieAPI key in cookieapi_keyoAuth2OAuth2/OpenID ConnectopenIdConnectOAuth2/OpenID Connect
Errors
Failed requests print a structured error to standard error and exit with a status that identifies the failure class. The error body carries the API's own message plus a stable code, the HTTP status, the requestId, and — where one applies — an actionable hint. Usage errors (exit 2) are reported as a plain message instead, since no request was made. Exit statuses: 0 success, 1 error, 2 usage, 10 auth-failed, 11 not-found, 12 rate-limited, 13 client-error, 14 server-error, 15 connection-error.
Documented error statuses: 400, 401, 403, 404, 409, 422.
Client Options
Configure the generated client by setting any of these options when you create it.
| Option | Type | Default | Description |
| --- | --- | --- | --- |
| --base-url | <url> | - | Override the base URL for API requests. |
| --timeout | <ms> | - | Request timeout in milliseconds. |
| --max-retries | <count> | - | Number of retries for retryable failures. |
| --debug | flag | - | Enable SDK debug logging. |
Retries and Timeouts
Generated clients support request timeouts and retry temporary failures such as network errors, 408, 409, 429, and 5xx responses. Retry delays honor Retry-After headers when present. Tune the retry and timeout client options shown above, or override them per request.
Helpers
--format <format>— output format:auto,json,jsonl,pretty,raw,toon, oryaml.--format-error <format>— error output format:auto,json,jsonl,pretty,raw,toon, oryaml.--format toon— token-efficient structured output for AI agents; uniform lists collapse into one header plus a row per item, with a definitive item count.--transform <path>and--transform-error <path>— dot-path transform for data/error output.--raw-output,-r— print transformed string values without JSON quotes.--max-items <count>— bound iterator, streaming, and WebSocket command output.- Errors carry a stable
codeand an actionablehintbeside the API's own message, and each failure class exits with its own status:1error,2usage,10auth-failed,11not-found,12rate-limited,13client-error,14server-error,15connection-error.
Logging
- Pass
--debugto any command to enable SDK debug logging on stderr.
Requirements
- Node.js 20 or newer — for the npm install only; the standalone binaries bundle their own runtime.
Powered by Scalar.
