Install
$ agentstack add skill-xmake-io-xmake-skills-xrepo-cli ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Xrepo CLI
xrepo is xmake's standalone C/C++ package manager. It shares the xmake runtime but is a full package tool on its own — use it outside of any project to install, query, or enter an environment with C/C++ libraries and tools.
> xrepo manages global repositories and installed packages. xmake repo is a project-local variant. If you want the change to apply everywhere on your machine, use xrepo.
Packages come from the official xmake-repo by default, plus any private repos you register, plus bridges to vcpkg/brew/conan/pacman/apt etc.
Installing packages
xrepo install zlib tbox
xrepo install "zlib 1.2.x" # semver range — QUOTE the spec
xrepo install "zlib >=1.2.0"
Mode / kind
xrepo install -m debug zlib # debug build
xrepo install -m release zlib
xrepo install -k shared zlib # dynamic library
xrepo install -k static zlib
Platform / arch
xrepo install -p iphoneos -a arm64 zlib
xrepo install -p android -a arm64-v8a --ndk=~/android-ndk-r26 zlib
xrepo install -p mingw --mingw=/opt/llvm-mingw zlib
xrepo install -p cross --sdk=/opt/arm-linux-musleabi-cross zlib
xrepo install -p wasm --toolchain=emcc zlib
Package configs
Pass recipe options via -f:
xrepo install -f "runtimes='MD'" zlib
xrepo install -f "regex=true,thread=true" boost
xrepo install -f "shared=true,pic=true" openssl
From third-party package managers
xrepo can install through other package managers and still hand you xmake-style link info:
xrepo install brew::zlib
xrepo install vcpkg::zlib
xrepo install conan::zlib/1.2.11
xrepo install pacman::zlib
xrepo install apt::zlib1g-dev
Force / clean
xrepo install --force zlib # rebuild even if cached
xrepo remove zlib # uninstall
xrepo clean # clean caches
xrepo clean --all
Searching and inspecting
xrepo search zlib "pcr*"
xrepo info zlib
xrepo info shows description, versions, upstream URLs, hashes, supported platforms, and available configs — use it to discover which -f "..." options a package accepts before installing.
Getting link / cflags info (xrepo fetch)
fetch resolves an installed package and prints the info you would otherwise get through add_packages. Great for dropping xrepo packages into a non-xmake build.
xrepo fetch pcre2 # Lua table (linkdirs/links/defines/includedirs)
xrepo fetch --cflags openssl
xrepo fetch --ldflags openssl
xrepo fetch --cflags --ldflags conan::zlib/1.2.11
xrepo fetch -p iphoneos --cflags "zlib 1.2.x"
Pipe into a Makefile / CMake toolchain:
CFLAGS="$(xrepo fetch --cflags openssl)"
LDFLAGS="$(xrepo fetch --ldflags openssl)"
Downloading source only
xrepo download zlib
xrepo download "zlib 2.x"
xrepo download -o /tmp zlib # output directory
Does not build or install — just fetches and extracts the upstream source.
Exporting an installed package
Copy an installed package (headers, libs, cmake files, …) into a standalone directory so you can ship it or hand it to another toolchain:
xrepo export -o /tmp/output zlib
xrepo export -o /tmp/output -p android -a arm64-v8a "zlib 1.2.x"
Repository management
xrepo add-repo myrepo https://github.com/mygroup/myrepo
xrepo add-repo myrepo https://github.com/mygroup/myrepo dev # branch
xrepo rm-repo myrepo
xrepo list-repo
xrepo update-repo # pull the latest recipes
Private, air-gapped setups typically: add-repo an internal mirror, then install everything from there.
Package virtual environments
xrepo env drops you into a shell (or runs a single command) with selected packages on PATH / LD_LIBRARY_PATH / PKG_CONFIG_PATH. This is a sizable topic on its own — see the xrepo-env skill for ad-hoc, project-local (./xmake.lua), and named environments, plus CI usage and --show debugging.
Quick reference
| Command | Purpose | | --- | --- | | xrepo install | install a package | | xrepo remove | uninstall | | xrepo update | update to newer version | | xrepo search | search available recipes | | xrepo info | show recipe metadata + configs | | xrepo fetch [--cflags/--ldflags] | print link/compile info | | xrepo export -o | export installed package | | xrepo download [-o dir] | fetch source only | | xrepo add-repo / rm-repo / list-repo / update-repo | global repo management | | xrepo env ... | virtual environments — see xrepo-env skill | | xrepo clean [--all] | clean caches |
Common flags
-m debug|release— build mode-k static|shared— library kind-p/-a— target platform / arch-f "k=v,k=v"— recipe configs (per package)--runtimes=MD|MT|MDd|MTd— MSVC runtime--ndk=,--sdk=,--mingw=,--vs=— toolchain roots--toolchain=— force a specific toolchain-v/-vD— verbose / diagnosis
Pitfalls
- Unquoted version strings.
xrepo install zlib 1.2.xparses1.2.xas a second package name. Always quote:"zlib 1.2.x". xrepovsxmake repo.xrepois global;xmake repois for project-local repos inside anxmake.lua. They are not interchangeable.- Forgetting to update repos. If a recipe was added upstream after your last sync,
xrepo update-repobeforeinstall. - Exported/fetched paths are absolute.
xrepo fetch --cflagsprints paths into~/.xmake/packages/...— fine for local builds, not portable across machines. Usexrepo exportto get a self-contained directory.
When to branch out
- Virtual environments (
xrepo env) →xrepo-env - Using packages from inside an
xmake.luaproject →xmake-packages - Writing / testing a package recipe →
xmake-repo-testing - Cross-toolchain setup used by
-p/-a→xmake-toolchains
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: xmake-io
- Source: xmake-io/xmake-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.