Skip to main content

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 查看