analyze-rust-ffi-crate-surface
Determine which parts of the C codebase use Rust-defined C symbols. Use this when you want to understand which C code files may be impacted by changes to a Rust FFI crate.
build
Compile the project to verify changes build successfully. Use this to verify your changes build properly together with the complete project and dependencies, and make sure to use it before running end to end tests.
check-rust-coverage
Check which Rust lines are not covered by Rust tests. Use this when you developed new Rust code and want to ensure it is tested.
jj-fix-conflicts
Fix merge conflicts in a jj change and its ancestors, starting from the oldest conflict. Use this when a jj change or its ancestors have conflicts that need resolving.
jj-split-changeset
Split a jj (Jujutsu) changeset into smaller, focused changesets. Use when asked to break up a large changeset, split commits, reorganize changes across revisions, or create stacked PRs from a single changeset. Covers safe duplication-based workflows, file-path and hunk-level splitting without interactive commands.
lint
Check code quality and formatting before committing changes. Use this to verify your changes meet our coding standards.
minimize-rust-ffi-crate-surface
Remove Rust-defined C symbols that are either unused or only used in C/C++ unit tests. Use this when you are refactoring a Rust FFI crate and want to remove unused symbols.
port-c-module
Guide for porting a C module to Rust. Use this when starting to port a C module to Rust.
read-unmodified-c-module
Read the source of the C module we are working on, before we made any changes.
review-rust-docs
Review the documentation of a Rust crate to ensure it meets our requirements and standards. Use this when you have done changes to Rust code.
run-python-tests
Run end-to-end Python tests after making changes to verify correctness. Use this when you want to verify your changes from an end-to-end perspective, after ensuring the build and Rust tests pass.
run-rust-benchmarks
Run Rust benchmarks and compare performance with the C implementation. Use this when you work on migrating C code to Rust and want to ensure performance is not regressed.
run-rust-tests
Run Rust tests after making changes to verify correctness. Use this when you want to verify your changes to Rust code.
rust-docs-guidelines
Guidelines for writing Rust documentation. Use this when you want to write Rust documentation.
rust-review
Review Rust code changes for unsafe correctness, documentation quality, and C-to-Rust porting fidelity. Use this when you want to review Rust changes before merging.
rust-tests-guidelines
Guidelines for writing Rust tests. Use this when you want to write Rust tests.
verify
Run full verification before committing or creating a PR. Use this when you want to create a PR.
write-rust-tests
Write Rust tests to verify correctness of Rust code. Use this when you want to write Rust tests.