Skip to content
ThiraSoftPublic

About

Fast, keyboard-driven HTTP client & API test runner for the terminal

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🕊️ Pigeon

Fast, keyboard-driven HTTP client & API test runner for the terminal.

Pigeon brings the power of Postman to your terminal with zero bloat. Organize your requests, manage environments, chain requests into workflows (flows), and assert responses directly in a fast, responsive TUI or from the command line.


✨ Features

  • ⚡ Blazing fast TUI — Powered by Bubble Tea and Lip Gloss. Instant startup, keyboard-first navigation with vim-like bindings.
  • 📬 Flows & Playlists — Chain multiple HTTP requests, extract and pass variables automatically between steps.
  • 📋 Seamless cURL Import — Paste cURL commands directly with automatic variable and secret detection.
  • 🎨 Built-in Themes — Beautiful terminal palettes (pigeon-dark, pigeon-light, gruvbox, nord, tokyo-night, catppuccin-mocha, solarized-dark).
  • 🤖 CI/CD & Script Friendly — Run requests (pigeon run <path>) or flows (pigeon flow <name>) headlessly with --json or --cli.

🚀 Installation

go install github.com/ThiraSoft/pigeon@latest

Or build from source:

git clone https://github.com/ThiraSoft/pigeon.git
cd pigeon
go build -o pigeon .

📖 Usage

Interactive TUI Mode

Simply run pigeon inside your terminal:

pigeon

🧭 Quick Start Guide (TUI)

Action How-to Description
🚀 Send a request Enter (or :run) Executes the selected request. Ctrl+c aborts a running request.
✨ Create a request <Space> n (or :new <path>) Creates a request template (e.g. users/get-all) and opens your $EDITOR.
📋 Import from cURL p Creates a request by parsing a cURL command directly from your clipboard.
✏️ Edit a request i Opens the current request file directly in your $EDITOR (vim, nano, code, etc.).
📑 Duplicate <Space> d (or :dup <new_path>) Duplicates the selected request.
🗑️ Delete dd Prompts to delete the selected request.
🧭 Navigate h / j / k / l or Ctrl+w + direction Move cursor and switch between panels (Request Tree, Request details, Response).
🔍 Search / (or ?) Incremental search in the request tree. n / N for next / previous match, Esc to clear.
📦 Organize / Move m Grab a request, move it with h/j/k/l, then press Enter (or m) to drop, Esc to cancel.
🌐 Switch Environment <Space> e (or :e <name>) Opens the environment picker or switches active environment.
⚙️ Edit Environment <Space> E (or :e) Opens and edits the current environment in $EDITOR.
📋 Copy Response / cURL yy / yc / yp Copy response body (yy), resolved cURL command (yc), or resolved URL (yp).
🎨 Change Theme <Space> th (or :theme) Opens the interactive theme switcher.
❓ In-App Help <Space> ? / <Space> h Shows the interactive keymaps cheatsheet (<Space> ?) or opens reference.yaml (<Space> h).
🚪 Quit :q or ZZ Exits Pigeon.

CLI / Headless Mode

# Execute a single request
pigeon run users/get-profile

# Output JSON for jq integration
pigeon run users/get-profile --json | jq .body

# Execute a flow / scenario
pigeon flow authentication-sequence

# Import a curl snippet from your clipboard
pigeon import --curl users/created-user

🛠️ Configuration & Environment

  • PIGEON_PASSPHRASE : Passphrase used to encrypt environment and session variables at rest. It is strongly recommended to set your own custom passphrase in your shell (e.g. export PIGEON_PASSPHRASE="your-secret-passphrase").
  • PIGEON_CONFIG_DIR : Path to your configuration folder (default: ~/.config/pigeon or $XDG_CONFIG_HOME/pigeon).
  • PIGEON_THEME : Override theme for the current session.
  • PIGEON_ENV : Default environment to activate.

📄 License

Licensed under the MIT License.

About

Fast, keyboard-driven HTTP client & API test runner for the terminal

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages