con un clic
finalizing-pr
// Runs build, clippy, formatting, and lint checks across all targets before a PR. Use when asked to finalize, prepare, or clean up before submitting a pull request.
// Runs build, clippy, formatting, and lint checks across all targets before a PR. Use when asked to finalize, prepare, or clean up before submitting a pull request.
Guides development workflow for the embedded skeleton crate. Use when modifying files under crates/wasm-rquickjs/skeleton/, working on JavaScript runtime APIs, or troubleshooting skeleton build issues.
Scaffolds and registers a new Node.js-compatible built-in module in the skeleton. Use when asked to add a new node:X module, implement a new built-in, or create a new native+JS module pair.
Cleans up and refactors a Node.js-compatible built-in module for improved code quality. Use when asked to clean up, simplify, refactor, or improve the coding style of an existing built-in module (e.g., node:buffer, node:path, node:crypto).
Tests a 3rd-party npm library against the wasm-rquickjs runtime. Use when asked to test an npm package, check library compatibility, or pick the next untested library from the tracker.
Fixes failing Node.js compatibility tests in the node_compat suite. Use when asked to make a node_compat test pass, unskip a test, fix a test-crypto/test-path/test-* failure, or implement missing Node.js API behavior to satisfy a vendored test.
Regenerates DTS goldenfiles after d.ts generation logic changes. Use when dts tests fail due to expected output changes, when asked to update goldenfiles, or after modifying the d.ts generator.
| name | finalizing-pr |
| description | Runs build, clippy, formatting, and lint checks across all targets before a PR. Use when asked to finalize, prepare, or clean up before submitting a pull request. |
Run all quality checks across every build target and fix any issues. Execute each step in order — do not skip steps even if earlier ones pass.
cargo build --all-targets
Fix any compilation errors before proceeding.
cargo fmt
cargo clippy --all-targets -- -Dwarnings
Fix all warnings and errors. Re-run until clean.
The skeleton is a separate Rust project whose Cargo.toml is stored as Cargo.toml_.
# Temporarily activate
mv crates/wasm-rquickjs/skeleton/Cargo.toml_ crates/wasm-rquickjs/skeleton/Cargo.toml
# Check
cd crates/wasm-rquickjs/skeleton
cargo fmt
cargo clippy --all-targets -- -Dwarnings
# Restore when done
mv crates/wasm-rquickjs/skeleton/Cargo.toml crates/wasm-rquickjs/skeleton/Cargo.toml_
Fix all warnings and errors. Always restore Cargo.toml_ — even if fixes fail.
cd tools/ai-dev-tools
npx prettier --write src/
npx eslint src/
Fix any ESLint errors. Then verify TypeScript compilation:
npx tsc --noEmit
Re-run the main workspace build to confirm skeleton changes did not break anything:
cargo build --all-targets
cargo clippy --all-targets -- -Dwarnings