SuperAPI AI 工具集

managing-starship-fork

办公与效率

查看项目

更新于 10-16 09:17

技能介绍

Starship Fork 管理

用于管理位于 ~/Projects/starship 的自定义 starship 分支(origin: TrevorS/starship,upstream: starship/starship)。该分支在 claude/add-jujutsu-support-JuqjU 分支上新增了 jj_status 模块,以为 Jujutsu 版本控制系统(VCS)提供支持。

一、仓库布局

  • Origin:TrevorS/starship(该分支)
  • Upstream:starship/starship
  • 功能分支:claude/add-jujutsu-support-JuqjU
  • 二进制安装路径:~/.local/bin/starship
  • 配置:~/.config/starship.toml(由 ~/.claude/dotfiles/starship/ 通过 stow 管理)

二、与上游同步并重建

  1. 同步 master:

cd ~/Projects/starship git fetch upstream git checkout master git merge upstream/master --ff-only git push origin master

  1. 变基功能分支:

git checkout claude/add-jujutsu-support-JuqjU git rebase master

  1. 编译并安装:

cargo build --release cp target/release/starship ~/.local/bin/starship

  1. 推送变基后的分支:

git push origin claude/add-jujutsu-support-JuqjU --force-with-lease

三、快速重建(不同步上游)

当已有本地修改、只需重新编译时:

cd ~/Projects/starship cargo build --release cp target/release/starship ~/.local/bin/starship

四、验证

starship --version # 输出中应显示分支名 starship module jj_status # 在 jj 仓库中测试——应打印 change ID

五、jj_status 模块

该分支中的源码文件:

  • src/modules/jj_status.rs — 模块实现(change ID、书签、conflict/divergent/hidden 标志)
  • src/configs/jj_status.rs — 配置结构体与默认值
  • src/modules/vcs.rs — VCS 探测(检测 .jj/ 目录)
  • docs/config/README.md — 面向用户的文档

starship.toml 中的配置:

[jj_status] disabled = false # 模块默认处于禁用状态 truncation_length = 12 # change ID 显示长度 style = "bold purple" symbol = "jj " conflicted = "x" # 工作副本存在冲突时显示 divergent = "?" # change 处于 divergent 状态时显示 hidden = "o" # change 处于 hidden 状态时显示 ignore_working_copy = true # 跳过自动快照以加快提示符

六、运行测试

cd ~/Projects/starship cargo test jj # 仅运行 jj 相关测试 cargo test # 运行完整测试套件(较慢)

七、注意事项

  • 未经明确批准,不要向上游提交 PR
  • 该分支的 master 应始终保持为上游的干净快进(fast-forward)
  • 所有自定义工作都位于功能分支上
  • 首次编译约需 90 秒,增量编译会快得多

八、适用场景与限制

适用场景:更新 starship、重建二进制、与上游同步、修改或调试 jj_status 模块(Jujutsu VCS 支持)。

限制:以上流程依赖特定本地路径(~/Projects/starship、~/.local/bin/starship、~/.config/starship.toml)与特定分支名;首次完整编译较慢;不要未经批准向上游提交 PR。其他功能、收费、价格、平台或效果信息暂未提供。