Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gitetsu – A Lightweight GitHub CLI Client

– 坚固、轻快、原生启动

Gitetsu 是一个用 Java 编写的 GitHub CLI 工具,基于自研的 Kanketsu 命令行解析框架,并借助 GraalVM 原生镜像技术,实现 毫秒级启动零依赖单文件分发

✨ 特性

  • 原生镜像 – 启动时间 < 50ms,内存占用极低
  • 🖥️ 双模式运行 – 支持 REPL 交互式 Shell 和脚本模式(CI/CD 友好)
  • 🔐 完整认证 – OAuth 设备流登录,Token 持久化存储
  • 📦 全面的 GitHub API 覆盖 – Issues、PRs、仓库信息、底层 API 调用
  • 📋 Tab 补全 – 在 REPL 中享受智能命令补全
  • 🔒 安全 – 内置 SSL 信任库,无需额外配置

🚀 安装

下载可执行文件

GitHub Releases 下载对应平台的二进制文件:

  • Windows: gitetsu.exe
  • Linux / macOS: gitetsu

将下载的文件放到你的 PATH 目录下,或直接运行。

从源码构建(可选)

git clone https://github.com/FascesAedi/Gitetsu.git
cd Gitetsu
mvn clean package

构建产物位于 target/gitetsu.exe(Windows)或 target/gitetsu(Unix)。

🧪 快速开始

1. 登录 GitHub

gitetsu auth login

按照提示在浏览器中打开 URL,输入设备码并授权。

2. 查看 Issue 列表

gitetsu issue list -r spring-projects/spring-boot -s open -l 10

3. 进入 REPL 交互模式

gitetsu

在 REPL 中你可以持续输入命令,支持 Tab 补全。

📖 命令参考

认证管理

命令 描述
auth login 通过 OAuth 设备流登录
auth status 查看当前认证状态(用户名)

Issue 管理

命令 描述
issue list 列出 Issue(支持 --state--limit--assignee--repo
issue view 查看单个 Issue(需要 --number
issue create 创建 Issue(需要 --title,可加 --body--label--assignee
issue close 关闭 Issue(需要 --number

Pull Request 管理

命令 描述
pr list 列出 PR(支持 --state--limit--base--repo
pr view 查看单个 PR(需要 --number
pr create 创建 PR(需要 --title--head,可加 --body--base--draft
pr merge 合并 PR(需要 --number,可选 --method

仓库操作

命令 描述
repo view 显示仓库信息(Star、Fork、描述等)
repo clone 克隆仓库到本地(调用系统 git)

底层 API

命令 描述
api 直接调用任意 GitHub API 端点,支持 GET/POST/PUT/PATCH/DELETE

通用选项

  • -r, --repo <owner/repo> – 手动指定仓库(若不指定,会自动从当前 Git 目录检测)
  • -h, --help – 显示帮助信息

💻 使用示例

在 Git 仓库目录下自动识别仓库

cd ~/projects/my-repo
gitetsu issue list          # 自动使用当前仓库
gitetsu pr list             # 同上

脚本模式(适合自动化)

gitetsu issue create -t "Bug fix" -b "Description" --repo owner/repo

REPL 交互

gitetsu
gitetsu> issue list -s open -l 5
gitetsu> pr view -n 123
gitetsu> exit

🛠️ 技术栈

  • Java 21(或 24) – 语言核心
  • Kanketsu – 自研轻量级命令行解析框架
  • GraalVM Native Image – 原生编译,极致启动速度
  • JLine – REPL 和 Tab 补全
  • org.json – 轻量 JSON 解析

🤝 贡献

欢迎提交 Issue 和 Pull Request!请确保代码风格一致,并为新功能添加测试。

📜 许可证

本项目使用 Apache License 2.0

🙏 致谢

About

A command-line tool for GitHub

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages