Skip to content

cloudingcity/gool

Repository files navigation

Gool

Test Lint Deploy codecov Go Report Card

📦 A toolkit make your programmer life easier.

Inspired by Boop

Kapture 2025-07-29 at 00 32 36

Installation

cURL

# macOS Intel
curl -L https://github.com/cloudingcity/gool/releases/latest/download/gool_Darwin_x86_64.tar.gz | \
  tar xz && sudo mv gool /usr/local/bin/

# macOS Apple Silicon  
curl -L https://github.com/cloudingcity/gool/releases/latest/download/gool_Darwin_arm64.tar.gz | \
  tar xz && sudo mv gool /usr/local/bin/

# Linux x86_64
curl -L https://github.com/cloudingcity/gool/releases/latest/download/gool_Linux_x86_64.tar.gz | \
  tar xz && sudo mv gool /usr/local/bin/

# Or for a specific version:
curl -L https://github.com/cloudingcity/gool/releases/download/v1.0.0/gool_Darwin_x86_64.tar.gz | \
  tar xz && sudo mv gool /usr/local/bin/

Homebrew

brew install --cask cloudingcity/tap/gool

Note: On macOS, you may see a security warning since the binary is not signed/notarized (I'm too poor for Apple's $99/year developer fee 😭). To bypass this:

  1. Go to System Preferences → Security & Privacy → General
  2. Click "Allow Anyway" next to the blocked app warning
  3. Or run: sudo xattr -rd com.apple.quarantine /opt/homebrew/bin/gool

Usage

Interactive Shell

$ gool 

 ██████┐  ██████┐  ██████┐ ██┐
██┌────┘ ██┌───██┐██┌───██┐██│
██│  ███┐██│   ██│██│   ██│██│
██│   ██│██│   ██│██│   ██│██│
└██████┌┘└██████┌┘└██████┌┘███████┐
 └─────┘  └─────┘  └─────┘ └──────┘

 /help for more information

ʕ◔ϖ◔ʔ ❯ /jwt-decode
jwt-decode ❯ eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{
  "header": {
    "alg": "HS256",
    "typ": "JWT"
  },
  "payload": {
    "sub": "1234567890",
    "name": "John Doe",
    "iat": 1516239022
  },
  "signature": "SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
jwt-decode ❯

Direct CLI

$ gool jwt-decode eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{
  "header": {
    "alg": "HS256",
    "typ": "JWT"
  },
  "payload": {
    "sub": "1234567890",
    "name": "John Doe",
    "iat": 1516239022
  },
  "signature": "SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

Commands

Command Description
tsconv Smart timestamp/date converter - auto-detects input type (default: show current time as both)
mstsconv Smart millisecond timestamp/date converter (default: show current time as both)
ts2date Covert unix timestamp to date (default: current time)
date2ts Covert date to unix timestamp (default: current time)
jwt-decode Decode JWT
md5 Computes the checksum
url-encode Encode url
url-decode Decode url
url-to-json Convert url to JSON
base64-encode Base64 encode
base64-decode Base64 decode
uuid Generate UUID v4 (default: 1)
count Get the characters length
camel-case Coverts string to camel case (fooBar)
kebab-case Coverts string to kebab case (foo-bar)
lower-case Coverts string to lower case (foo bar)
snake-case Coverts string to snake case (foo_bar)
start-case Coverts string to start case (Foo Bar)
upper-case Coverts string to upper case (FOO BAR)
text-escape Escape quotes and backslashes in text
text-unescape Unescape quotes and backslashes in text (pretty prints JSON)
format-json Cleans and format JSON

Library

package main

import (
	"fmt"

	"github.com/cloudingcity/gool/pkg/cases"
	"github.com/cloudingcity/gool/pkg/date"
	"github.com/cloudingcity/gool/pkg/text"
	"github.com/cloudingcity/gool/pkg/timestamp"
)

func main() {
	fmt.Println(cases.Snake("HelloWorld"))
	// hello_world

	fmt.Println(cases.Camel("hello world"))
	// helloWorld

	fmt.Println(date.ToTimestamp("2020-09-01"))
	// 1598918400 <nil>
	
	fmt.Println(timestamp.ToDate(1598918400))
	// 2020-09-01 08:00:00 +0800 CST

	fmt.Println(text.Escape(`{"key": "say "value""}`))
	// {\"key\": \"say \"value\"\"}

	fmt.Println(text.Unescape(`{\"key\": \"say \"value\"\"}`))
	// {"key": "say "value""}
}

Contributors


Clouding

💻

LeoZhan

💻

Toby Lam

💻

About

📦 A toolkit make your programmer life easier.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5