A versatile CLI tool for common developer tasks.
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/dimeskigj/jack-cli/main/scripts/install.sh | bashWindows (PowerShell):
iwr https://raw.githubusercontent.com/dimeskigj/jack-cli/main/scripts/install.ps1 -useb | iex- Clone the repository:
git clone https://github.com/dimeskigj/jack-cli.git cd jack-cli - Build and install:
./gradlew installDist
- Add the binary to your
PATH. The binary is located atbuild/install/jack/bin.
To build a standalone executable that doesn't require Java installed:
./gradlew nativeCompileThe executable will be located in build/native/nativeCompile.
Download the latest archive from the releases page, extract it, and add the bin folder to your PATH.
Generate one or more UUIDs or ULIDs using the generate subcommand.
jack uuid generate
jack uuid generate --count 5 --type ULIDValidate a single UUID or ULID value using the validate subcommand.
jack uuid validate <uuid>
echo "3fa85f64-5717-4562-b3fc-2c963f66afa6" | jack uuid validate
jack uuid validate --type ULID <ulid>
jack uuid validate --quiet --verbose <uuid>Generate placeholder text.
jack lorem --count 50Generate a QR code image from text or a URL.
jack qr "https://github.com" --output github.png
jack qr "Hello World" --foregroundColor FF0000 --backgroundColor FFFFFFCompute hashes for strings or files.
jack hash "my secret string" --algorithm SHA256
jack hash --file path/to/file.txt --algorithm MD5Get the current Unix timestamp, or parse/format values.
jack timestamp
jack timestamp --unit MILLISECONDS
jack timestamp 2023-01-01
jack timestamp 1672531200 --unit SECONDS --format ISODecode and pretty print a JWT token.
jack jwt "your.jwt.token"
jack jwt "your.jwt.token" --secret "your-secret"Process, query, and format JSON input.
jack json '{"name":"jack","version":1}'
jack json --file data.json --indent 2
cat data.json | jack jsonExtract values using dot-notation and array indices.
jack json -q ".name" '{"name":"jack"}'
jack json -q ".user.id" '{"user":{"id":123}}'
jack json -q ".items[0]" '{"items":["a","b","c"]}'
jack json -q ".users[1].name" '{"users":[{"name":"alice"},{"name":"bob"}]}'Output minified JSON on a single line.
jack json --compact '{"name": "jack", "version": 1}'
jack json -c -q ".data" '{"data":{"a":1,"b":2}}'Encode or decode text to/from Base64.
jack base64 encode "hello world"
jack base64 decode "aGVsbG8gd29ybGQ="Quick network utilities.
jack net ip
jack net dns google.comWork with cron expressions.
jack cron explain "*/5 * * * *"
jack cron next "0 12 * * *"Manage jack itself.
jack upgrade
jack autocompleteEnable tab completion for jack commands in your shell.
Linux / macOS:
jack completionBash:
echo 'eval "$(_JACK_COMPLETE=bash jack)"' >> ~/.bashrc
source ~/.bashrcZsh:
echo 'eval "$(_JACK_COMPLETE=zsh jack)"' >> ~/.zshrc
source ~/.zshrcFish:
_JACK_COMPLETE=fish jack > ~/.config/fish/completions/jack.fish- UUID/ULID: Validation and bulk generation of unique identifiers.
- Lorem Ipsum: Customizable placeholder text.
- QR Codes: PNG generation with custom colors.
- Hashing: MD5, SHA1, SHA256, SHA512 support.
- Timestamps: Seconds or milliseconds, parsing and formatting.
- JWT Decoding: Pretty print header and payload with signature verification.
- JSON Processing: Query, format, and minify JSON with dot-notation queries.
- Base64: Encoding and decoding utilities.
- Networking: IP lookup and DNS resolution.
- Cron: Human readable descriptions and next execution calculation.
MIT
A big thank you to everyone who contributes!
