Openwork cargo-lock-manager
install
source · Clone the upstream repo
git clone https://github.com/different-ai/openwork
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/different-ai/openwork "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.opencode/skills/cargo-lock-manager" ~/.claude/skills/different-ai-openwork-cargo-lock-manager && rm -rf "$T"
manifest:
.opencode/skills/cargo-lock-manager/SKILL.mdsource content
Quick Usage (Already Configured)
Check Cargo.lock status
cd packages/desktop/src-tauri cargo check --locked 2>&1 | head -20
Update Cargo.lock locally
cd packages/desktop/src-tauri cargo update --workspace
Test with --locked after update
cd packages/desktop/src-tauri cargo test --locked
Common Gotchas
- The
flag prevents automatic updates to Cargo.lock, which is good for reproducible builds but fails when dependencies change.--locked - PRs often fail because the lock file wasn't committed after dependency updates.
- Running
withoutcargo update
may not update all workspace members.--workspace
When CI Fails with --locked
Option 1: Update lock file and commit (Recommended)
cd packages/desktop/src-tauri cargo update --workspace git add Cargo.lock git commit -m "chore: update Cargo.lock" git push
Option 2: Use --offline flag (for air-gapped environments)
cargo test --manifest-path packages/desktop/src-tauri/Cargo.toml --offline
First-Time Setup (If Not Configured)
No setup required. This skill assumes:
- Rust/Cargo is installed
- You're in the openwork repository
- The Tauri app is in
packages/desktop/src-tauri/
Prevention Tips
- Always run
orcargo check
after modifyingcargo build
filesCargo.toml - Include
changes in the same commit as dependency updatesCargo.lock - Consider adding a pre-commit hook to verify lock file is up to date