一键导入
build
Builds the GenVM project. Use after making code changes to compile Rust binaries.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Builds the GenVM project. Use after making code changes to compile Rust binaries.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | build |
| description | Builds the GenVM project. Use after making code changes to compile Rust binaries. |
To build the GenVM project:
If ninja fails with missing and no known rule to make it (e.g., after adding/removing/renaming source files), regenerate the build file first:
./configure.rb
This runs the configure.rb Ruby script at the project root, which regenerates build/build.ninja with the current file list.
Build all Rust binaries:
nix develop .#full --command bash .claude/skills/build/scripts/run-ninja.sh -C build all/bin
This runs ninja silently and only shows output on failure (to save tokens).
Available ninja targets:
| Target | Description |
|---|---|
all | Build everything |
all/bin | Build all Rust binaries |
all/data | Build data about runners using Nix |
codegen | Run code generation |
Output locations:
out/bin/genvm-modules - modules binaryout/executor/<version>/bin/genvm - executor binary (one dir per built version, e.g. out/executor/v0.3.0-rc7/; the concrete version comes from executors/<line>.x/manifest.json and is recorded in build/info.json)Runners can only be built on x86_64 using the all target. On other platforms, download them instead.
Download runners:
nix develop .#full --command python3 build/out/bin/post-install.py --create-venv false --default-step false --runners-download true --error-on-missing-executor false
To develop/modify a runner (e.g., cloudpickle):
Enable dev mode:
Set runners/support/versions/dev-mode.nix to true
Set hash to "test":
In runners/support/versions/current.nix, set the runner's hash to "test"
Make your modifications and run tests With dev-mode enabled and hash set to "test", you can build and run tests.
Disable dev mode:
Set runners/support/versions/dev-mode.nix back to false. The build will now tell you to set hashes to null.
Set hashes to null and build:
Set the runner's hash (and dependent runners' hashes) to null, then build:
nix develop .#full --command ninja -C build all
The build will fail with a hash mismatch showing the new hash.
Update hashes:
Copy the new hash from the error message back into hashes.nix. Repeat for dependent runners.
Rebuild to verify: Run the build again to confirm all hashes are correct.
Reviews the current GenVM branch by fanning out three specialized review agents (spec, security, implementation). Use when asked to "review this branch", "review the PR", or do a full code review of a diff.
GenVM Rust test conventions and style. Use when writing, adding, or modifying Rust tests — inline `#[cfg(test)] mod tests`, integration tests under a crate's `tests/`, helpers, assertions, and how `genvm-tool test` discovers them.
Runs tests for the GenVM project. Use after making code changes to verify correctness.