爱意满满的作品展示区。
zwyyy456

放弃 Linear 后,我开发了 Gitstride:一个 GitHub Projects 的 macOS 原生客户端

  •  
  •   zwyyy456 · Sep 25 · 1090 views
    This topic created in 47 days ago, the information mentioned may be changed or developed.

    我之前半年,开发个人项目的时候一直在用 Linear 来进行项目管理。本来我以为免费配额是够用的,但最近几个月,我同时开发多个项目,Issue 就多了起来,Linear 的免费配额就不够用了,因此,我就转向了 GitHub Projects ,毕竟这些项目的代码本来就托管在 GitHub 上。

    迁移到 GitHub Projects 之后,我发现它内置的 PR 与 Issue 联动工作流不如 Linear 完善,也不太符合我的需求。比如,当我给一个 Issue 关联 Draft PR 时,我希望这个 Issue 的状态能自动变成 In Progress;当 PR 准备好 Review 的时候,Issue 的状态也能跟着变成 In review。如果一个 Issue 关联了多个 PR ,我希望等这些 PR 全部合并之后,它才会进入 Done,而不是合并其中一个 PR 就算完成了。

    此外,我也不太喜欢每次都要打开网页来管理项目,还是更想用本地客户端来操作。

    所以,在 codex 的协助下,我用 Swift 6 开发了 GitStride,一个 GitHub Projects 的 macOS 原生客户端。

    GitStride 实现了前面提到的状态联动规则,我不用再随着 PR 的进度手动修改 Issue 状态。如果 Project 里没有 In review 这个状态,设置 GitStride 的 PR 自动化后,GitStride 默认会按需为你自动在 Project 中添加这个状态。

    设置 PR 自动化时,也可以选择后续不追加 In review 这个状态。

    GitStride 在菜单栏会常驻一个图标,点击图标可以快速查看项目 Issue ;等我真的要整理任务时,再打开主窗口,在看板或表格视图中创建和编辑 Issue 。

    pn1KrPe.png

    pn1K2rt.png 为了确保创建 Issue 、更新 Issue 描述等需要向 Github 多次发送请求的操作的跟手,GitStride 开发时借鉴了 Linear 的 local-first 的理念。GitStride 会把项目快照缓存在本机。修改改状态后,界面会先显示变化,再同步到 GitHub ;创建或编辑 Issue 提交后,app 会马上显示新内容,后台处理向 Github 发起的请求。

    GitStride 还支持创建 Backlog 状态的 Issue ,新建 Issue 时可以直接选择 Backlog 状态;如果 Project 里没有这个状态,GitStride 会自动补上。

    项目已经开源在 GitHub。如果你也在用 GitHub Projects ,欢迎试试,如果觉得好用,还请给个 Star 。更多介绍,参见 GitStride 官网

    下一步计划

    1. 添加命令面板功能、完善 app 内的快捷键操作
    2. 添加甘特图视图
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1002 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    ♥ Do have faith in what you're doing.