UStackUStack
openGyver icon

openGyver

openGyver is an open-source Go CLI with conversions, encoding, hashing, formatting, validation, and generators—runs standalone or with automation and AI agents.

openGyver

What is openGyver?

openGyver is an open source Go-based Swiss-army-knife CLI tool that provides 47 commands and 180+ subcommands for everyday conversions and utilities. It covers tasks such as encoding/decoding, hashing, file formatting, validation, generation (for example passwords, QR codes, UUIDs), and time-related helpers.

The project is designed to run as a standalone single-binary executable on Linux, macOS, and Windows, and it can also be hooked into automation workflows such as CI/CD pipelines, shell scripts, and AI agents.

Key Features

  • Single-binary Go CLI with zero-dependency distribution for Linux, macOS, and Windows, so you can run the same tool across common environments.
  • Broad conversion coverage, including unit & currency conversions (9 categories, 38 currencies), and file conversions for common formats across audio, documents/spreadsheets, images, video, vector graphics, fonts, presentations, and CAD.
  • Encoding, hashing, and checksum utilities, including Base64/Base32/Base58/URL/HTML/hex/binary, ROT13 and Morse, plus hashes like MD5 and SHA-1/SHA-2 variants and HMAC/bcrypt where listed.
  • Data and format tooling, such as JSON formatting/validation and YAML/TOML/XML/CSV conversions, plus HTML/XML/CSS/SQL formatting/minification and file diffs (text/json/csv).
  • Generation commands for common artifacts like passwords, API keys/secrets, OTP, nanoid/snowflake/short IDs, UUID v4/v6, and QR/barcode creation (ASCII in terminal, plus PNG/SVG for QR).
  • Multiple output modes per command (notably JSON output for scripting, abbreviated single-value output, and a quiet mode to suppress confirmation messages for file converters).

How to Use openGyver

  1. Install it using one of the options shown in the repository: Homebrew (via a tap), Go install, or by building from source with go build.
  2. Start with a simple command based on your task. Examples from the project include unit conversion (convert), encoding (encode), hashing (hash), and generation (generate password).
  3. When you want to integrate it into scripts or automation, use output modes such as --json/-j for structured results and --quiet/-q to reduce interactive messaging for file conversions.

Use Cases

  • Convert units and currencies in a shell: for example, openGyver convert 100 cm in or openGyver convert 100 usd eur to get converted values.
  • Encode or hash strings without writing a custom script: e.g., openGyver encode base64 "hello world" and openGyver hash sha256 "hello".
  • Generate identifiers and security-related test data: openGyver generate password --length 32 for a password, openGyver uuid for a random UUID v4, or openGyver testdata person --count 5 -j for fake records in JSON.
  • Convert documents and spreadsheets from the command line: use convertFile to transform formats like CSV/XLSX/MD/HTML/DOCX/PDF/PS into another target format (with options like -o for output and -q for quiet behavior).
  • Validate and format markup/data formats during development: run openGyver validate html --file index.html, openGyver json format with format/beautify/minify, or compare files using diff (text/json/csv) when reviewing changes.

FAQ

  • Is openGyver available as a compiled binary? The repository states it’s built in Go for “zero-dependency, single-binary distribution” across Linux, macOS, and Windows.

  • Can it be used for automation and scripting? Yes. Each command supports output modes including JSON output (--json/-j) and quiet mode (--quiet/-q), which are useful for piping and scripting.

  • How do I install it? The page lists installation options via Homebrew, Go (go install github.com/mj/opengyver@latest), and building from source with git clone and go build.

  • Can it be used with AI tools/agents? The repository mentions a Claude Code plugin that installs “native MCP tools” and points to a plugin marketplace configuration, including examples for installing opengyver and reloading plugins.

  • What kinds of conversions does it support? The README lists conversion commands for unit & currency, plus multiple file type conversions including audio, CAD, ebooks, documents/spreadsheets, fonts, images, presentations, vectors, and video.

Alternatives

  • General-purpose file conversion suites (for example, command-line tools that convert media and documents): these may be broader within specific domains, but openGyver is positioned as a single CLI covering conversions plus encoding/hashing/validation/generation workflows.
  • Scripting-based conversion approaches (shell scripts or small programs calling language libraries): flexible, but you would typically need to assemble multiple tools and handle formatting/validation/output yourself; openGyver packages many common tasks under one command interface.
  • Other CLI utility collections that focus on encoding/hash/format operations: depending on what you need, those may cover a subset (like encoding/hashing only), whereas openGyver spans conversions, generators, validation, and structured output modes.
  • Dedicated data formatting/validation tools: they can be more specialized for one format, while openGyver provides a multi-format workflow under one CLI with JSON/quiet output options.