Get the FREE Ultimate OpenClaw Setup Guide →
w

Pywayne Bin Gettool

Scanned

@wangyendt

npx machina-cli add skill @wangyendt/gettool --openclaw
Files (1)
SKILL.md
4.1 KB

Pywayne Bin Gettool

Tool fetcher for C++ libraries from cpp_tools repository. Supports sparse checkout, optional building with CMake/make, and installation scripts.

Quick Start

# List all supported tools
gettool -l

# Fetch a tool to default path (based on name_to_path_map.yaml)
gettool <tool_name>

# Fetch to specific path
gettool <tool_name> -t <target_path>

# Fetch and build (if buildable)
gettool <tool_name> -b

# Fetch and install (if installable)
gettool <tool_name> -i

Usage Patterns

1. List Available Tools

When user wants to see what tools are available:

gettool -l

2. Simple Fetch

Download tool source code to default path (determined by name_to_path_map.yaml in current directory):

gettool opencv
gettool eigen

3. Fetch with Custom Target

Download tool to a specific directory:

gettool opencv -t third_party/opencv
gettool eigen -t external/eigen

4. Build from Source

Build the tool using CMake and make. Requirements:

  • Tool must be marked as buildable: true in name_to_path_map.yaml
  • Tool must have a CMakeLists.txt file
  • Build output (lib/) is copied to target directory
gettool apriltag_detection -b
gettool <tool_name> -b -t build/<tool_name>

5. Clean Copy (src + include only)

Fetch only src/ and include/ directories if they exist:

gettool eigen -c

6. Fetch and Install

After fetching, execute the tool's installation script (if configured):

gettool pcl -i
gettool pcl -i --global-install-flag true  # Use sudo make install

7. Fetch Specific Version

Check out a specific version/tag/branch (only works for tools that are submodules):

gettool fmt -v 9.1.0

8. Manage Repository URL

# Show current URL
gettool --get-url

# Set custom URL
gettool --set-url <URL>

# Reset to default URL
gettool --reset-url

Command Reference

ArgumentDescription
<name> or -n <name>Tool name from name_to_path_map.yaml
-t <path>Target output directory (default: based on mapping)
-b / --buildBuild using CMake + make (if buildable)
-c / --cleanCopy only src/include directories
-v <version>Checkout specific version (submodules only)
-i / --installRun installation script (if installable)
--global-install-flagSet to true for sudo make install
-l / --listList all supported tools
--get-urlShow current repository URL
--set-url <URL>Set repository URL
--reset-urlReset to default URL

Tool Types and Behavior

Submodule Tools

  • Cloned as full independent repositories
  • Support -v for version checkout
  • Not built via CMake (use -b for source-level build if configured)

Non-Submodule Tools (Sparse Checkout)

  • Fetched via git sparse-checkout from cpp_tools repo
  • Can be built with -b (requires buildable=true and CMakeLists.txt)
  • Build output (lib/) copied to target directory

Default Path Mapping

When -t is not specified, the target path is determined by the path field in name_to_path_map.yaml relative to the current working directory.

Example: If opencv maps to third_party/opencv, running gettool opencv creates ./third_party/opencv.

Prerequisites

  • Git
  • CMake and make (for -b flag)
  • Appropriate C++ toolchain (for building)
  • Write permissions for target directory

Common Tool Names

Typical tools available (run gettool -l for current list):

  • eigen - Linear algebra library
  • opencv - Computer vision library
  • pcl - Point Cloud Library
  • fmt - Formatting library
  • apriltag_detection - AprilTag detection
  • spdlog - Fast C++ logging library

Source

git clone https://clawhub.ai/wangyendt/gettoolView on GitHub

Overview

Pywayne Bin Gettool fetches C++ libraries and tools from the cpp_tools repository. It supports sparse checkout, optional builds with CMake/make, and installation scripts. This makes it easy to acquire third-party libraries like eigen, opencv, pcl, and fmt for building from source.

How This Skill Works

Tools are fetched either as full submodules or via sparse-checkout from cpp_tools. After fetching, you can optionally build with -b (requires buildable=true and a CMakeLists.txt) or install with -i (using an installation script). The tool also supports version checkout (-v) for submodules and custom targets (-t) to specify the output directory.

When to Use It

  • You want to see what tools are available with gettool -l.
  • You need to download opencv or eigen to the default path.
  • You want to fetch a tool to a custom directory with -t.
  • You need to build from source using CMake via -b.
  • You want to install after fetching with -i (and possibly --global-install-flag).

Quick Start

  1. Step 1: List tools with gettool -l or fetch a tool with gettool <tool_name>.
  2. Step 2: If needed, specify -t <path>, -b for build, or -i for install.
  3. Step 3: Run the appropriate command to build or install as required.

Best Practices

  • Verify a tool's buildability and the presence of a CMakeLists.txt before using -b.
  • Use -t to control the output location and ensure the target directory is writable.
  • Prefer sparse checkout for large tools to save bandwidth and disk space when not using submodules.
  • Use -v only for submodules to ensure deterministic versioning.
  • Use --get-url / --set-url to manage the cpp_tools repository URL when needed.

Example Use Cases

  • gettool -l to see all supported tools.
  • gettool opencv to fetch to the default path determined by name_to_path_map.yaml.
  • gettool opencv -t third_party/opencv to fetch to a custom directory.
  • gettool apriltag_detection -b to build from source when buildable.
  • gettool pcl -i to run its installation script after fetching.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers