Skip to content

meklasdev/thunder-tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โšก Thunder-TUI

Blazing Fast HTTP Client | Terminal Based | Keyboard Driven

Typing SVG

โšก Quick Insights

Go Version License PRs Welcome


๐Ÿ› ๏ธ The Arsenal

Core
Format
Platform

๐Ÿš€ Quick Start

go install github.com/meklasdev/thunder-tui@latest

thunder-tui run collection.yaml

๐ŸŽฏ The Problem

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.


โœจ The Solution

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


๐Ÿš€ Installation

Via Go Install (Recommended)

go install github.com/meklasdev/thunder-tui/cmd/thunder-tui@latest

From Source

git clone https://github.com/meklasdev/thunder-tui.git
cd thunder-tui
go build -o thunder-tui ./cmd/thunder-tui

Binary Releases

Download pre-built binaries from the Releases page.


๐Ÿ“– Usage

1๏ธโƒฃ Create a Collection

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
      }

2๏ธโƒฃ Run Thunder-TUI

thunder-tui run collection.yaml

3๏ธโƒฃ Navigate & Test

  • โ†‘/โ†“ or j/k - Navigate requests
  • Enter - Send request
  • Tab - Switch between panels
  • q - Quit

๐ŸŽจ Features

๐ŸŽฏ Split-Panel Interface

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ๐Ÿ“‹ Requests         โ”‚ ๐Ÿ“ก Response              โ”‚
โ”‚                     โ”‚                          โ”‚
โ”‚ โ–ถ GET    Get Users  โ”‚ Status: 200 OK           โ”‚
โ”‚   POST   Create     โ”‚ Duration: 234ms          โ”‚
โ”‚   DELETE Remove     โ”‚                          โ”‚
โ”‚                     โ”‚ Headers:                 โ”‚
โ”‚                     โ”‚   Content-Type: json     โ”‚
โ”‚                     โ”‚                          โ”‚
โ”‚                     โ”‚ Body:                    โ”‚
โ”‚                     โ”‚ { "users": [...] }       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŒˆ Method Color Coding

  • ๐Ÿ”ต GET - Blue
  • ๐ŸŸข POST - Green
  • ๐ŸŸก PUT - Yellow
  • ๐Ÿ”ด DELETE - Red
  • ๐ŸŸฃ PATCH - Purple

โšก Real-time Response

  • Status codes
  • Response headers
  • JSON body (syntax highlighted)
  • Request duration

๐ŸŽฎ Keyboard Shortcuts

Key Action
โ†‘ / k Navigate up
โ†“ / j Navigate down
Enter Send request
Tab Switch panels
q / Ctrl+C Quit

๐Ÿ“ฆ Collection Format

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)

Example Collection

See example-collection.yaml for a complete example.


๐Ÿ›ก๏ธ Why Thunder-TUI?

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 โš ๏ธ Export โš ๏ธ Export โŒ Scripts

๐Ÿงช Testing

# Run tests
go test ./...

# Run with coverage
go test -cover ./...

# Build
go build -o thunder-tui ./cmd/thunder-tui

๐Ÿค Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push and open a PR

๐Ÿ“œ License

MIT ยฉ meklasdev


๐Ÿ”— Connect With Me

โญ Star this repo if you find it useful!

Made with โšก Go by meklasdev

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages