ucx-development
Develop, build, and test UCX code. Use when asked to change UCX internals, compile UCX, run UCX tests, or report verification coverage.
来源信息
- 仓库
- openucx/ucx
- 最近来源活动
- 2026年5月17日 10:13
- 检测到的 SKILL.md 语言
- 英语
- 星标
- 1,727
- 分支
- 617
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- ucx-development
- description
- Develop, build, and test UCX code. Use when asked to change UCX internals, compile UCX, run UCX tests, or report verification coverage.
# UCX Development
## Overview
Use this skill for changing UCX itself. Durable code rules live in `AGENTS.md`
files and project docs; this skill defines the end-to-end development workflow,
including build and test commands.
## Required Reading
Before editing or judging code:
- Follow the `AGENTS.md` discovery rule from the root guide.
- Read `docs/CodeStyle.md`, `docs/LoggingStyle.md`, or
`docs/OptimizationStyle.md` when the change touches style, logging, or
performance-sensitive code.
- Read `REVIEW.md` when matching UCX reviewer expectations matters.
## Edit Workflow
1. Identify the owning subtree and nearby implementation pattern before
editing.
2. Apply the rules from the applicable `AGENTS.md` files and project docs.
3. Make the code or test change.
4. Build UCX or explain why the local environment cannot build it.
5. Run focused tests that cover the changed behavior.
6. Report the build/test commands used and any hardware, optional dependency,
or coverage gaps.
## Build
The two main helpers are `configure-devel` and `configure-release`: pick `configure-devel` for failure investigation, debug-oriented and feature work (logging, assertions, gtest, and valgrind enabled), `configure-release` for performance work (those checks disabled and optimized for speed).
From a fresh checkout, create an out-of-source build:
```sh
./autogen.sh
mkdir -p build-<flavor> # <flavor> is "devel" or "release"
cd build-<flavor>
../contrib/configure-<flavor> --prefix=$PWD/install
make -j$(nproc)
make install
```
Run `autogen.sh` and configure once per build directory. For incremental
builds, run `make -j$(nproc)` again from `build-<flavor>`; use `make clean`
before a fresh rebuild when necessary.
Prefer repository configure helpers over ad hoc flag sets. If a dependency or optional transport is unavailable, report the missing capability instead of editing around it.
When build configuration details matter, inspect `autogen.sh`,
`contrib/configure-devel`, `configure.ac`, and `config/m4`.
## Unit Tests
From `build-devel`, run the C++ unit test target with:
```sh
make -C test/gtest test
```
Use `make check` when broader automake test coverage is needed.
## Result Interpretation
- Capture the command, failing test name, relevant log lines, and environment
variables.
- Distinguish test failures from unavailable optional dependencies or hardware.
- Do not hide flakes behind broad reruns. If a rerun is useful, say whether the
failure reproduced.
在 GitHub 查看