terminal-native · local-first · git-friendly

The API client that
lives in your terminal.

Arbor brings familiar API request and testing workflows to a keyboard-first terminal UI, with k9s-style navigation and readable YAML files that belong in Git. Define requests, environments, and scenarios once, then run the same definitions from the TUI, CLI, or CI.

brew install jagadishg/tap/arbor

arbor

Arbor terminal UI: browsing a request, running it, and inspecting the split request/response view

Why Arbor?

⌨️ Terminal native

Fast keyboard workflows, Vim navigation, fuzzy filtering, command mode, and contextual help.

📁 Local first

No account, cloud workspace, or background service. Your API lives on your machine.

🌿 Git friendly

Requests, environments, and scenarios are ordinary YAML files you can diff and review.

⚙️ One engine everywhere

The TUI, command line, and CI execute the exact same definitions.

🔒 Secrets stay secret

Resolve values from env vars or the OS keychain, with automatic redaction and reveal-on-demand.

🤖 Agent ready

Descriptions on every resource and --json output make a workspace legible to coding agents.

See it in action

Same workspace, same definitions — explored two ways.

Quickstart

Create a workspace, add a request, and run it — then open the TUI or let a coding agent build the workspace from your API code.

# install
brew install jagadishg/tap/arbor

# create a workspace, a collection, and a request
arbor init myapi && cd myapi
arbor new collection users -d "User endpoints"
arbor new request users.get -m GET -u '{{base_url}}/users/1' -n "Get user"

# definitions live in .arbor/ and are ready for Git
arbor validate

# explore and run from the CLI
arbor list requests
arbor describe users.get
arbor run users.get

# install the skill for coding agents
arbor skill install --agent all

# or open the interactive terminal UI
arbor