rippled Agent Skills & AI Rules

GitHub

Decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++

5,179 stars C++ C++ 1 file ยท ~18,641 tokens #blockchain#c-plus-plus#cplusplus#cryptography#xrp#xrp-ledger#xrpl
RAW Rules
1 Discovered Rules โ€ข ~671 Estimated Tokens
Loading skill content...

check-tools Documentation

nix/check-tools/README.md plugin-manifest ~671 tokens
Raw
# check-tools snapshots

These files capture the output of [`bin/check-tools.sh`](../../bin/check-tools.sh)
โ€” the version and resolved store path of each development tool โ€” in each Nix
environment:

| File                   | Environment                          |
| ---------------------- | ------------------------------------ |
| `nix-ubuntu-amd64.txt` | `nix-ubuntu` CI image, `linux/amd64` |
| `nix-ubuntu-arm64.txt` | `nix-ubuntu` CI image, `linux/arm64` |
| `macos.txt`            | macOS, inside `nix develop`          |

The [`check-tools`](../../.github/workflows/check-tools.yml) workflow regenerates
each snapshot in its environment and fails if it differs from the committed file.
So if you change the environment (bump the image tag in
[`linux.json`](../../.github/scripts/strategy-matrix/linux.json), update
`flake.lock`, change the tool list in `check-tools.sh`, โ€ฆ) you must regenerate
and commit the affected snapshots.

Each snapshot is `check-tools.sh` stdout with the git-clone connectivity check
skipped (`CHECK_TOOLS_SKIP_CLONE=1`), so it is deterministic for a given
environment. On macOS the dev-shell greeting that `nix develop` prints first is
dropped with `sed -n '/^Detected OS:/,$p'`.

The store paths carry their derivation hash, so they change whenever a tool is
rebuilt โ€” a `flake.lock` update generally rewrites most of them even when no
version moves. That is deliberate: it makes tooling changes visible in review.

Tools scoped to a single dev shell rather than to `commonPackages` do not appear
here: `check-tools.sh` keys those off `XRPL_DEVSHELL`, and none of the three
environments above is such a shell. Adding to one needs no snapshot update.

## Regenerating

The two Linux snapshots come from the `nix-ubuntu` image (Docker or a compatible
runtime such as Apple `container`). The image tag is pinned in `linux.json`:

```bash
img="ghcr.io/xrplf/xrpld/nix-ubuntu:$(jq -r .image_tag .github/scripts/strategy-matrix/linux.json)"

for arch in amd64 arm64; do
    container run --rm -i -e CHECK_TOOLS_SKIP_CLONE=1 -a "${arch}" --entrypoint bash "${img}" -s \
        <bin/check-tools.sh >"nix/check-tools/nix-ubuntu-${arch}.txt"
done
```

(With Docker, replace `container run โ€ฆ -a "${arch}"` with
`docker run โ€ฆ --platform "linux/${arch}"`.)

The macOS snapshot is generated locally. `CI=` is unset so `check-tools.sh`
checks the full dev-shell tool set (it otherwise skips some tools when `CI` is
set):

```bash
CI= nix develop -c bash -c 'CHECK_TOOLS_SKIP_CLONE=1 bash bin/check-tools.sh' |
    sed -n '/^Detected OS:/,$p' \
        >nix/check-tools/macos.txt
```