Skip to content

atyou2happy/openclaw-cli-toolkit

Repository files navigation

OpenClaw CLI Toolkit

One-click installer for 50+ curated CLI tools that supercharge your OpenClaw agent.
Linux / WSL2 / macOS β€’ bash / zsh / fish

License: MIT Tools: 140+ 26 Categories Shell Support δΈ­ζ–‡ζ–‡ζ‘£


Why This Exists

OpenClaw (an AI coding agent) works best when your system has modern, fast CLI tools installed. This toolkit researches, evaluates, and installs the best free & open-source CLI replacements β€” so your agent can search faster, display better, and handle data smarter.

Every tool is:

  • Free & open-source β€” zero hidden costs
  • Battle-tested β€” compared against alternatives with real benchmarks
  • Agent-friendly β€” auto-generates openclaw-tools.yaml for AI consumption
  • One-command management β€” install, configure, and uninstall

Features

  • 26 categories of tools β€” search, viewing, data, system, network, git, terminal, dev, security, archive, docs, download, ai, latex, formats, container, database, media, diagram, api-testing, text-processing, kubernetes, golang, observability, git-helpers, testing
  • One-click install β€” automatic system detection (WSL2 / Linux / macOS)
  • Config-driven β€” config.yaml controls exactly which tools get installed
  • Shell-aware β€” auto-detects bash / zsh / fish and configures accordingly
  • Resume support β€” safely re-run to continue interrupted installs
  • Idempotent β€” run multiple times without side effects
  • Go install β€” go install supported as a 5th installation method
  • Security-hardened β€” no command injection, --no-install-recommends for apt

Quick Start

git clone https://github.com/atyou2happy/openclaw-cli-toolkit.git
cd openclaw-cli-toolkit

# Install everything (interactive)
./install.sh

# Preview what will be installed
./install.sh --dry-run

# Install specific categories only
./install.sh -c search -c data

# Force reinstall
./install.sh --force

Usage

Install

./install.sh                          # Install all enabled tools
./install.sh --dry-run                # Preview only (no changes)
./install.sh -c search -c data        # Specific categories
./install.sh --force                  # Force reinstall
./install.sh --skip-config            # Skip configuration step
./install.sh --clean-state            # Clear state and start fresh
./install.sh --help                   # Show all options

Uninstall

./uninstall.sh                        # Remove all tools + config
./uninstall.sh --keep-config          # Keep configuration files
./uninstall.sh --yes                  # Skip confirmation prompt

Generate Tool Definitions

python3 src/generator.py                          # Generate openclaw-tools.yaml
python3 src/generator.py --installed-only         # Only installed tools
python3 src/generator.py --output /path/to/file   # Custom output path

Run Tests

bash tests/test_install.sh            # Structure & syntax tests
bash tests/test_tools.sh              # Tool functionality tests

Project Structure

openclaw-cli-toolkit/
β”œβ”€β”€ install.sh              # Entry point β€” thin orchestrator
β”œβ”€β”€ uninstall.sh            # Uninstaller
β”œβ”€β”€ config.yaml             # User configuration (enable/disable tools)
β”œβ”€β”€ VERSION                 # Single source of truth for version
β”œβ”€β”€ Makefile                # Developer convenience targets
β”œβ”€β”€ pyproject.toml          # Ruff + pytest config (dev-only)
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ paths.sh            # Centralized path management
β”‚   β”œβ”€β”€ common.sh           # Logging, colors, progress bar, helpers
β”‚   β”œβ”€β”€ state.sh            # Pure-bash install state tracking
β”‚   β”œβ”€β”€ detector.sh         # OS / arch / package manager detection
β”‚   β”œβ”€β”€ installer.sh        # Method dispatcher + tool install logic
β”‚   β”œβ”€β”€ methods/            # Modular install methods
β”‚   β”‚   β”œβ”€β”€ apt.sh          #   apt-get install
β”‚   β”‚   β”œβ”€β”€ brew.sh         #   brew install
β”‚   β”‚   β”œβ”€β”€ cargo.sh        #   cargo install
β”‚   β”‚   β”œβ”€β”€ pip.sh          #   pip install --user
β”‚   β”‚   β”œβ”€β”€ go.sh           #   go install (with proxy fallback)
β”‚   β”‚   └── github.sh       #   GitHub release binary download
β”‚   β”œβ”€β”€ configurator.sh     # Shell aliases, tool configs, integrations
β”‚   β”œβ”€β”€ generator.py        # Generate openclaw-tools.yaml for agents
β”‚   └── parse_tools.py      # Parse tool YAML + config filtering
β”œβ”€β”€ tools/                  # Tool definitions (26 YAML files)
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ test_install.sh     # Structure & syntax tests
β”‚   β”œβ”€β”€ test_tools.sh       # Tool functionality tests
β”‚   β”œβ”€β”€ test_structure.sh   # Project integrity validation
β”‚   └── python/             # pytest suite (229 tests)
β”‚       β”œβ”€β”€ conftest.py
β”‚       β”œβ”€β”€ test_generator.py
β”‚       β”œβ”€β”€ test_parse_tools.py
β”‚       └── test_yaml_schema.py
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ research.md         # Tool evaluation research report
β”‚   └── dev/                # Development specs
β”œβ”€β”€ .github/workflows/
β”‚   └── ci.yml              # CI: shellcheck + syntax + test + pytest + dry-run
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ LICENSE
└── README.md               # This file

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  install.sh                      β”‚
β”‚              (thin orchestrator)                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚detector β”‚installer β”‚configurat β”‚   generator    β”‚
β”‚  .sh    β”‚  .sh     β”‚  or.sh    β”‚     .py        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ OS/Arch β”‚ apt      β”‚ aliases   β”‚ openclaw-      β”‚
β”‚ PM det  β”‚ brew     β”‚ rc files  β”‚  tools.yaml    β”‚
β”‚ Shell   β”‚ cargo    β”‚ git pager β”‚                β”‚
β”‚ WSL2    β”‚ pip      β”‚ fzf/zoxideβ”‚                β”‚
β”‚         β”‚ go       β”‚ starship  β”‚                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚              common.sh + state.sh                β”‚
β”‚         (logging, progress, state file)          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Flow: install.sh β†’ detect system β†’ parse tools/*.yaml + filter by config.yaml β†’ install each tool β†’ configure shell β†’ generate openclaw-tools.yaml

Tool Categories

Category Tools Replaces
πŸ” Search ripgrep, fd grep, find
πŸ‘οΈ Viewer bat, eza, tree cat, ls
πŸ“Š Data jq, yq, miller, dasel manual parsing
πŸ–₯️ System btop, dust, duf, procs, hyperfine htop, du, df, ps
🌐 Network httpie, doggo curl, dig
πŸ”€ Git delta, lazygit, tig, gh default git UI
πŸŽ›οΈ Terminal fzf, zoxide, tmux, starship manual navigation
πŸ› οΈ Dev shellcheck, shfmt, hadolint manual review
πŸ”’ Security age, sops gpg
πŸ“¦ Archive zstd, p7zip gzip
πŸ“„ Docs pandoc, glow, poppler-utils manual conversion
⬇️ Download aria2 wget
πŸ€– AI llm, sgpt, aider β€”
πŸ“ LaTeX tectonic, chktex, latexmk pdflatex + manual builds
πŸ“„ Formats qpdf, weasyprint, visidata, xsv, gron, yamllint, taplo, htmlq, tidy, xmllint, xmlstarlet, lychee manual format processing
🐳 Container docker, docker-compose manual environment setup
πŸ—„οΈ Database sqlite3, usql GUI database tools
🎨 Media imagemagick, exiftool, ffmpeg GUI media editors
πŸ“ Diagram d2, graphviz manual diagram drawing
πŸ§ͺ API Testing wrk, hey, oha, hurl, grpcurl ab, siege, manual API testing
βœ‚οΈ Text Processing sd, gum, choose, grep-ast, tabulate sed, cut, manual text transforms
☸️ Kubernetes kubectl, helm, k9s, stern kubectl, helm
🦬 Go Dev golangci-lint, goimports, staticcheck go vet
πŸ“Š Observability stern, ctop, glances top, htop
πŸ”€ Git Helpers git-lfs, ghq, myrepos git submodule
πŸ§ͺ Testing bats, coverage, junit2html manual testing

Installation priority: apt > brew > cargo > pip > go install

Configuration

Edit config.yaml to customize which tools and categories are installed:

categories:
  search:
    enabled: true
    tools:
      ripgrep:
        enabled: true
      the_silver_searcher:
        enabled: false  # skip this tool

Requirements

  • OS: Linux (Ubuntu 20.04+), WSL2, or macOS
  • Shell: Bash 4.0+ / Zsh / Fish
  • Package manager: at least one of apt, brew, cargo, pip, or go
  • Python: 3.8+ (for YAML parsing and generation)

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-tool)
  3. Add/edit tool definitions in tools/
  4. Test with ./install.sh --dry-run and bash tests/test_install.sh
  5. Ensure shellcheck passes: shellcheck -s bash install.sh uninstall.sh src/*.sh tests/*.sh
  6. Submit a pull request

License

MIT License β€” free to use, modify, and distribute.

Changelog

See CHANGELOG.md for release history.


δΈ­ζ–‡ζ–‡ζ‘£

About

πŸš€ Curated CLI toolkit to supercharge OpenClaw agent - 50+ tools, one-click install, auto-generated tool descriptions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors