with one click
with one click
Build and test the libuipc project using XMake. Use when building with xmake, running xmake f / xmake build / xmake run commands, selecting release/releasedbg/debug modes, or running Catch2 tests produced by xmake.
Build and test the libuipc project using CMake. Use when building the project, running cmake configure/build commands, compiling with RelWithDebInfo, running Catch2 tests, or when the user asks how to build or test libuipc.
General simulation development best practices for correctness, stability, and debuggability. Use when implementing or modifying simulation systems, solvers, constraints, or GPU kernels, especially for index safety, NaN/Inf issues, and diagnostics.
Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend architecture, C++ style, GPU code, and Python bindings. Optionally post review comments via `gh`. Use when the user provides a PR number, asks to review a PR, or wants to inspect a libuipc GitHub PR.
Push a version tag and optionally create a GitHub release
Conventional commit message format and rules for this project
| name | commit |
| description | Create a well-formatted conventional commit |
| disable-model-invocation | true |
Create a well-formatted, conventional commit locally. Do NOT push unless the user explicitly asks to push.
Run format command on all changed C++ files before staging.
git add <files>
Or stage all changes:
git add -A
Review what's staged:
git diff --cached --stat
Use a temp file to avoid shell escaping issues (output/ is gitignored):
mkdir -p output/.cursor
Write the commit message to output/.cursor/commit_msg.txt following the commit convention.
git commit -F output/.cursor/commit_msg.txt
rm -r output/.cursor
Only push when the user says "push", "commit and push", or similar. Otherwise, stop after step 4.
git push
If the branch has no upstream yet:
git push -u origin HEAD