|
go install github.com/meklasdev/thunder-tui@latest
thunder-tui run collection.yaml
|
Postman is slow (10+ second startup), bloated (Electron), and cloud-dependent.
When you're SSH'd into a server or working in a minimal environment, you need something fast, lightweight, and terminal-native.
Thunder-TUI is a blazing-fast HTTP client that runs entirely in your terminal. Built with Go and Bubbletea, it provides:
โ
Instant Startup - No Electron bloat
โ
SSH-Friendly - Works over remote connections
โ
YAML Collections - Version-controlled API tests
โ
Keyboard Driven - Vim-style navigation
โ
Beautiful TUI - Cyberpunk aesthetic with Lipgloss
โ
Zero Dependencies - Single binary, no runtime required
go install github.com/meklasdev/thunder-tui/cmd/thunder-tui@latestgit clone https://github.com/meklasdev/thunder-tui.git
cd thunder-tui
go build -o thunder-tui ./cmd/thunder-tuiDownload pre-built binaries from the Releases page.
Create a collection.yaml file:
requests:
- name: "Get GitHub User"
method: GET
url: "https://api.github.com/users/meklasdev"
headers:
Accept: "application/vnd.github.v3+json"
- name: "Create Post"
method: POST
url: "https://jsonplaceholder.typicode.com/posts"
headers:
Content-Type: "application/json"
body: |
{
"title": "Hello World",
"body": "This is a test",
"userId": 1
}thunder-tui run collection.yaml- โ/โ or j/k - Navigate requests
- Enter - Send request
- Tab - Switch between panels
- q - Quit
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Requests โ ๐ก Response โ
โ โ โ
โ โถ GET Get Users โ Status: 200 OK โ
โ POST Create โ Duration: 234ms โ
โ DELETE Remove โ โ
โ โ Headers: โ
โ โ Content-Type: json โ
โ โ โ
โ โ Body: โ
โ โ { "users": [...] } โ
โโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- ๐ต GET - Blue
- ๐ข POST - Green
- ๐ก PUT - Yellow
- ๐ด DELETE - Red
- ๐ฃ PATCH - Purple
- Status codes
- Response headers
- JSON body (syntax highlighted)
- Request duration
| Key | Action |
|---|---|
โ / k |
Navigate up |
โ / j |
Navigate down |
Enter |
Send request |
Tab |
Switch panels |
q / Ctrl+C |
Quit |
Thunder-TUI uses YAML for collections:
requests:
- name: "Request Name"
method: GET|POST|PUT|DELETE|PATCH
url: "https://api.example.com/endpoint"
headers:
Header-Name: "Header Value"
body: |
Request body (for POST/PUT/PATCH)See example-collection.yaml for a complete example.
| Feature | Thunder-TUI | Postman | Insomnia | curl |
|---|---|---|---|---|
| Startup Time | โก Instant | ๐ 10s+ | ๐ 5s+ | โก Instant |
| Memory Usage | ๐ข ~10MB | ๐ด ~500MB | ๐ก ~200MB | ๐ข ~5MB |
| SSH-Friendly | โ Yes | โ No | โ No | โ Yes |
| Collections | โ YAML | โ Cloud | โ JSON | โ No |
| TUI | โ Beautiful | โ GUI | โ GUI | โ CLI |
| Version Control | โ Git-friendly | โ Scripts |
# Run tests
go test ./...
# Run with coverage
go test -cover ./...
# Build
go build -o thunder-tui ./cmd/thunder-tuiContributions are welcome! See CONTRIBUTING.md for guidelines.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push and open a PR
MIT ยฉ meklasdev