@monkeyhub/cli
v0.2.1
Published
Command-line access to MonkeyHub powered by [`@monkeyhub/sdk`](../typescript).
Downloads
293
Readme
@monkeyhub/cli
Command-line access to MonkeyHub powered by @monkeyhub/sdk.
Install
npm install -g @monkeyhub/cliOr run it with npx:
npx @monkeyhub/cli --helpThe binary name is:
monkeyAuthentication
The CLI resolves credentials in this order:
--api-key/--base-urlMONKEYHUB_API_KEY/MONKEYHUB_BASE_URL- Saved local profile
- SDK default API base URL
Profiles are stored in:
~/.monkeyhub/config.jsonSet up a default profile:
monkey auth login
monkey auth showOr set a profile non-interactively:
monkey auth set default --api-key mk_live_your_api_key --base-url http://localhost:3010
monkey auth showCommon auth commands:
monkey auth list
monkey auth use staging
monkey auth remove stagingGlobal Flags
These flags work on executable commands:
--profile <name>
--api-key <key>
--base-url <url>
--json--json prints exact machine-readable output. Without it, the CLI prints human-readable summaries/tables.
Structured Input
Commands that accept complex payloads use --input:
# Inline JSON
monkey queue push email-sends --input '{"payload":{"to":"[email protected]"}}'
# JSON file
monkey db query users --input @query.json
# stdin
cat payload.json | monkey db save users --input -Collections
# List collections
monkey db list
# Save one item
monkey db save users \
--config '{"key":{"hashKey":"id"},"indexes":["email"]}' \
--input '{"id":"user_1","email":"[email protected]"}'
# Get one item
monkey db get users user_1
# Query
monkey db query users --input '{"hashKey":"user_1"}'
# Semantic search
monkey db search docs --input '{"text":"deploy the API","topK":5}'
# Remove
monkey db remove users user_1Queues
# Push a job
monkey queue push email-sends --input '{"payload":{"to":"[email protected]"}}'
# Get a job
monkey queue get email-sends job_123
# Query jobs
monkey queue query email-sends --input '{"status":"queued","limit":10}'
# Cancel a job
monkey queue cancel email-sends job_123Buckets
# Upload a file
monkey bucket put uploads ./logo.png --input '{"visibility":"public","contentType":"image/png"}'
# Get a file URL
monkey bucket url uploads logo.png
# Fetch metadata
monkey bucket meta uploads logo.png
# Query files
monkey bucket query uploads --input '{"ext":"png","limit":20}'
# Remove a file
monkey bucket remove uploads logo.pngBoxes
# Create and inspect
monkey box create --input '{"name":"runner","image":"default"}'
monkey box list
monkey box get box_123
# Lifecycle
monkey box pause box_123
monkey box resume box_123
monkey box set-idle-timeout box_123 1800
monkey box destroy box_123
# Execute commands
monkey box exec box_123 "npm test"
monkey box exec box_123 "npm test" --input '{"cwd":"/app","timeout":30000}'
# File transfer
monkey box upload box_123 ./local.txt /app/local.txt
monkey box download box_123 /app/output.txt ./output.txt
monkey box download box_123 /app/output.txt -
# URL
monkey box url box_123
# Mounts
monkey box mount add box_123 --input '{"source":"monkeyhub://uploads","target":"/mnt/uploads"}'
monkey box mount list box_123
monkey box mount remove box_123 /mnt/uploadsExit Codes
0: success1: SDK/API/runtime failure2: CLI usage or input/config error
