Updates the jj-lib and jj-cli dependencies. Use when asked to update the jj version.
Installation
$skills install @gulbanana/update-jj
Claude Code
Cursor
Copilot
Codex
Antigravity
Details
Repositorygulbanana/gg
Path.claude/skills/update-jj/SKILL.md
Branchmaster
Scoped Name@gulbanana/update-jj
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: update-jj description: Updates the jj-lib and jj-cli dependencies. Use when asked to update the jj version.
<background-information> GG (this project) depends on multiple crates from the JJ project. `gg` is primarily an alternative to `jj-cli`, so it uses a lot of `jj-lib` code; however, it also uses `jj-cli` directly in a few cases </background-information>Updating crate versions
- Modify Cargo.toml to update both
jj-libandjj-clito the required version. This will either be a published version likeversion = "0.37.0"or a branch name likegit = "https://github.com/jj-vcs/jj.git", branch = "main". - Run
cargo update, which will update Cargo.lock. - Use /cargo-dedupe to match other dependencies' versions.
Fixing breaking changes
It's likely that jj API changes will require modifications to gg code. Make any necessary modifications, maintaining gg's current behaviour.
For examples of how to use modified jj APIs, consult the source code at https://github.com/jj-vcs/jj - the jj-cli code (cli/ directory) often makes use of jj-lib code (lib/ directory) in similar ways to gg.
Verifying the update
- Run
cargo check- there should be no warnings or errors. - Run
cargo test- all tests should pass. - If API changes have affected message structs in src/messages, use
cargo gento regenerate Typescript types and thennpm run checkto verify them.
