OpenGyver
March 31, 2026 ยท View on GitHub
A Swiss-army-knife CLI tool with 47 commands and 180+ subcommands for everyday conversions, encoding, hashing, generation, formatting, validation, and more. Built in Go for zero-dependency, single-binary distribution across Linux, macOS, and Windows.
Designed to be used standalone, or hooked into CI/CD pipelines, shell scripts, and AI agents.
Installation
Claude Code Plugin (use openGyver as AI tools)
/plugin marketplace add https://raw.githubusercontent.com/create-flow-ai/openGyver/main/plugin/marketplace.json
/plugin install opengyver
/reload-plugins
This gives Claude 16 native MCP tools for encoding, hashing, conversion, generation, weather, stocks, and more.
CLI
# Homebrew
brew tap create-flow-ai/tap
brew install opengyver
# Go
go install github.com/mj/opengyver@latest
# From source
git clone https://github.com/create-flow-ai/openGyver.git
cd openGyver && go build -o openGyver .
Quick Start
openGyver convert 100 cm in # unit conversion
openGyver convert 100 usd eur # live currency rates
openGyver encode base64 "hello world" # encoding
openGyver hash sha256 "hello" # hashing
openGyver generate password --length 32 # password generator
openGyver stock AAPL -f price # stock price
openGyver epoch # current Unix epoch
openGyver timex now --tz Asia/Tokyo # time in Tokyo
openGyver qr "https://example.com" # QR code in terminal
openGyver uuid # random UUID v4
openGyver json format '{"a":1}' # JSON beautify
openGyver validate html --file index.html # HTML validation
openGyver format sql "select * from users" # SQL formatting
openGyver color convert "#ff5733" --to rgb # color conversion
openGyver finance loan --principal 300000 --rate 6.5 --years 30
openGyver testdata person --count 5 -j # fake test data
openGyver weather "New York" # current weather
openGyver weather Tokyo --date 2024-12-25 # historical weather
Output Modes
Every command supports multiple output modes:
| Mode | Flag | Description |
|---|---|---|
| JSON | --json / -j | Structured JSON output for scripting and piping |
| Abbreviated | -a, -f, -b | Single value output (command-specific) |
| Quiet | --quiet / -q | Suppress confirmation messages (file converters) |
openGyver convert -j 100 cm in # {"input_value":100,"output_value":39.37,...}
openGyver stock AAPL -f price # 248.80
openGyver timex now -b # 2026-03-28T08:44:46-04:00
openGyver convertFile data.csv -o data.xlsx -q # silent
Commands
Conversion Tools
| Command | Description | Docs |
|---|---|---|
| convert | Unit & currency conversions (9 categories, 38 currencies) | details |
| convertAudio | Audio format conversion (33 formats via ffmpeg) | details |
| convertCAD | CAD file conversion (DWG, DXF, DWF) | details |
| convertEbook | Ebook format conversion (25 formats via Calibre) | details |
| convertFile | Document & spreadsheet conversion (CSV, XLSX, MD, HTML, DOCX, PDF, PS) | details |
| convertFont | Font format conversion (TTF, OTF, WOFF, WOFF2, EOT + 7 more) | details |
| convertImage | Image format conversion (PNG, JPEG, GIF, BMP, TIFF, WebP, RAW, SVG) | details |
| convertPresentation | Presentation conversion (PPTX, KEY, ODP via LibreOffice) | details |
| convertVector | Vector graphics conversion (SVG, EPS, AI, CDR + 20 more) | details |
| convertVideo | Video format conversion (37 formats via ffmpeg) | details |
| toGif | Create animated GIF from images | details |
| toIco | Create Windows ICO from images | details |
| trimVideo | Trim video to time range (stream copy or re-encode) | details |
| extractFrame | Extract frames from animated GIF/APNG | details |
Encoding & Hashing
| Command | Description | Docs |
|---|---|---|
| encode | Encode/decode: Base64, Base32, Base58, URL, HTML, hex, binary, ROT13, Morse, Punycode, JWT | details |
| hash | Hashing: MD5, SHA-1/256/384/512, HMAC, bcrypt, CRC32, Adler-32 | details |
| checksum | File checksum calculator and verifier (MD5, SHA-1/256/512, CRC32) | details |
Data & Format Tools
| Command | Description | Docs |
|---|---|---|
| dataformat | Convert between YAML, TOML, XML, CSV, and JSON | details |
| json | JSON format, minify, validate, path query, escape/unescape | details |
| format | Format/beautify/minify HTML, XML, CSS, SQL | details |
| validate | Validate HTML, CSV, XML, YAML, TOML | details |
| diff | Compare files: text (unified diff), JSON (structural), CSV | details |
| regex | Regex test, replace, extract | details |
Generators
| Command | Description | Docs |
|---|---|---|
| generate | Password, passphrase, API key, secret, OTP, nanoid, snowflake, short ID | details |
| uuid | UUID v4 (random) and v6 (time-sorted) | details |
| qr | QR code generator (ASCII terminal, PNG, SVG) | details |
| barcode | Barcode generator (Code128, EAN-13, QR, DataMatrix) | details |
| testdata | Fake data: people, CSV, JSON, random numbers | details |
Time & Date
| Command | Description | Docs |
|---|---|---|
| epoch | Unix epoch: current time, add/subtract durations | details |
| timex | Time tools: now, to-utc, to-tz, to-unix, from-unix, format, diff, add, info | details |
| cron | Cron expression parser, validator, and next-run calculator | details |
Lookup & Reference
| Command | Description | Docs |
|---|---|---|
| stock | Stock ticker lookup from 35+ global markets (Yahoo Finance, no API key) | details |
| weather | Weather: current, forecast (16 days), historical (back to 1940) for any city | details |
| network | DNS lookup, public IP, WHOIS, CIDR calculator, URL parser, HTTP status codes | details |
| color | Color convert (hex/RGB/HSL/CMYK), WCAG contrast, palette, name lookup | details |
| number | Number base conversion (2-36), Roman numerals, IEEE 754 | details |
| mime | MIME type lookup, reverse lookup, and file detection | details |
| ascii | ASCII art banners, table reference, character lookup | details |
| phone | Phone number formatter, validator, and country code lookup | details |
Text Tools
| Command | Description | Docs |
|---|---|---|
| text | Count, case convert, reverse, sort, dedupe, slug, lorem, diff, wrap, trim, replace | details |
Math & Calculators
| Command | Description | Docs |
|---|---|---|
| math | Math expression evaluator, percentage, GCD, LCM, factorial, Fibonacci | details |
| chmod | Unix file permission calculator (octal/symbolic/umask) | details |
File Tools
| Command | Description | Docs |
|---|---|---|
| PDF merge, split, page count, metadata (pure Go, no external tools) | details |
Crypto & Security
| Command | Description | Docs |
|---|---|---|
| crypto | AES encrypt/decrypt, RSA keygen, SSH keygen, self-signed cert, CSR | details |
Science & Engineering
| Command | Description | Docs |
|---|---|---|
| electrical | Ohm's law, resistor color codes, LED resistor, voltage divider | details |
| geo | Haversine distance, DMS/decimal converter, lat/lon to UTM | details |
| accessibility | WCAG contrast checker, Flesch/Gunning Fog readability scores | details |
Finance
| Command | Description | Docs |
|---|---|---|
| finance | Loan/mortgage, compound interest, ROI, tip, tax, salary, discount, margin | details |
Archive
| Command | Description | Docs |
|---|---|---|
| archive | Create/extract ZIP, TAR, TAR.GZ, 7Z, RAR | details |
Claude Code Integration
openGyver is available as a Claude Code plugin with native MCP tools. Once installed, Claude can call openGyver commands directly.
Install as Claude Code Plugin
Option A: MCP server (recommended)
Add to your Claude Code MCP config (~/.claude/mcp.json):
{
"mcpServers": {
"opengyver": {
"command": "npx",
"args": ["-y", "mcp-server-opengyver"]
}
}
}
Or clone and build locally:
git clone https://github.com/create-flow-ai/openGyver.git
cd openGyver/plugin/mcp-server
npm install && npm run build
# Add to ~/.claude/mcp.json:
# "opengyver": { "command": "node", "args": ["/path/to/plugin/mcp-server/dist/index.js"] }
Option B: Skill file (simplest)
Copy the skill into your project:
mkdir -p .claude/skills
cp -r openGyver/plugin/skills/opengyver .claude/skills/
This gives Claude 16 native tools: opengyver_encode, opengyver_hash, opengyver_convert, opengyver_json, opengyver_generate, opengyver_color, opengyver_time, opengyver_network, opengyver_dataformat, opengyver_validate, opengyver_format, opengyver_crypto, opengyver_weather, opengyver_stock, opengyver_math, and opengyver_run (catch-all).
See plugin/README.md for details.
Plugin Architecture
openGyver uses a plugin-based architecture where each command is a self-contained Go package. Adding a new command requires no changes to existing code.
Adding a New Command
- Create a new package under
cmd/:
// cmd/yourcommand/yourcommand.go
package yourcommand
import (
"github.com/mj/opengyver/cmd"
"github.com/spf13/cobra"
)
var yourCmd = &cobra.Command{
Use: "yourcommand <args>",
Short: "One-line description",
Long: `Detailed help text with examples.`,
RunE: func(c *cobra.Command, args []string) error {
// implementation
return nil
},
}
func init() {
yourCmd.Flags().StringVarP(&output, "output", "o", "default", "description")
cmd.Register(yourCmd)
}
- Add a blank import in
main.go:
_ "github.com/mj/opengyver/cmd/yourcommand"
- Build and run. Your command appears in
openGyver --help.
Building from Source
git clone https://github.com/create-flow-ai/openGyver.git
cd openGyver
go build -o openGyver .
Run tests:
go test ./...
Cross-Compilation
GOOS=linux GOARCH=amd64 go build -o openGyver-linux-amd64 .
GOOS=linux GOARCH=arm64 go build -o openGyver-linux-arm64 .
GOOS=windows GOARCH=amd64 go build -o openGyver-windows-amd64.exe .
GOOS=darwin GOARCH=arm64 go build -o openGyver-darwin-arm64 .
GOOS=darwin GOARCH=amd64 go build -o openGyver-darwin-amd64 .
GOOS=freebsd GOARCH=amd64 go build -o openGyver-freebsd-amd64 .
Each produces a single static binary with zero runtime dependencies.