# Cargo Lock Manager

> Manages Cargo.lock file updates and resolves --locked flag issues in CI/CD. Triggers when user mentions: - "cargo test --locked failed" - "cannot update the lock file" - "Cargo.lock is out of date" - "PR failed with --locked error" - "fix Cargo.lock"

- Skill: `majiayu000/cargo-lock-manager` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/cargo-lock-manager`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/cargo-lock-manager/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/cargo-lock-manager

---


## Quick Usage (Already Configured)

### Check Cargo.lock status
```bash
cd packages/desktop/src-tauri
cargo check --locked 2>&1 | head -20
```

### Update Cargo.lock locally
```bash
cd packages/desktop/src-tauri
cargo update --workspace
```

### Test with --locked after update
```bash
cd packages/desktop/src-tauri
cargo test --locked
```

## Common Gotchas

- The `--locked` flag prevents automatic updates to Cargo.lock, which is good for reproducible builds but fails when dependencies change.
- PRs often fail because the lock file wasn't committed after dependency updates.
- Running `cargo update` without `--workspace` may not update all workspace members.

## When CI Fails with --locked

### Option 1: Update lock file and commit (Recommended)
```bash
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)
```bash
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 `cargo check` or `cargo build` after modifying `Cargo.toml` files
- Include `Cargo.lock` changes in the same commit as dependency updates
- Consider adding a pre-commit hook to verify lock file is up to date

