forked from Gitlink/gitlink-cli
GitLink authenticates via Set-Cookie autologin_trustie, not Bearer token or query param. Login response body contains user info directly (no status wrapper on success). Fixed login to extract cookie from response headers and transport to inject it on subsequent requests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| cmd | ||
| doc | ||
| internal | ||
| shortcuts | ||
| skills | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
README.md
gitlink-cli
GitLink CLI — 面向 GitLink(确实开源) 平台的命令行工具。
gitlink-cli 采用业界主流的分层 CLI 架构设计,提供 Shortcuts(快捷命令)、Raw API(原始调用)两层命令体系,覆盖仓库管理、Issue 跟踪、Pull Request、CI/CD、组织管理等全流程操作,并内置 AI Agent Skills 支持 Claude Code 自动化。
特性
- 三层命令体系:Shortcuts(
+前缀高频命令)→ Raw API(覆盖全部 490+ 端点) - Git Remote 自动解析:在 git 仓库目录下自动推断
owner/repo - 统一输出格式:JSON / Table / YAML,标准 Envelope 结构
- OS Keychain 存储:Token 安全存储于系统密钥链
- AI Agent Skills:11 个 SKILL.md 文件,5 个自动化工作流模板
安装
从源码构建
git clone https://github.com/FlagosEvangelist/gitlink-cli.git
cd gitlink-cli
make build
# 二进制文件生成在当前目录: ./gitlink-cli
安装到 PATH
make install
# 安装到 $GOPATH/bin
依赖:Go 1.21+
快速开始
# 1. 初始化配置
gitlink-cli config init
# 2. 登录
gitlink-cli auth login
# 3. 查看当前用户
gitlink-cli user +me
# 4. 查看仓库信息
gitlink-cli repo +info --owner Gitlink --repo forgeplus
# 5. 在 git 仓库目录下自动解析 owner/repo
cd ~/my-gitlink-project
gitlink-cli issue +list
命令概览
gitlink-cli
├── auth login / logout / status
├── config init / set / get / list
├── repo +list / +info / +create / +fork / +delete
├── issue +list / +create / +view / +update / +close / +comment
├── pr +list / +create / +view / +merge / +close / +files / +diff
├── release +list / +create / +view / +delete
├── branch +list / +create / +delete / +protect / +unprotect
├── org +list / +info / +members / +create
├── ci +builds / +logs / +restart / +stop
├── user +me / +info
├── search +repos / +users
├── api GET / POST / PUT / DELETE(原始 API 调用)
└── version
Shortcuts 示例
# 仓库
gitlink-cli repo +info --owner Gitlink --repo forgeplus
gitlink-cli repo +create --name my-project --description "新项目"
# Issue
gitlink-cli issue +create --title "Bug: 登录失败" --body "复现步骤..."
gitlink-cli issue +close --id 123
# Pull Request
gitlink-cli pr +create --title "feat: 搜索功能" --head feature/search --base master
gitlink-cli pr +merge --id 42
# Release
gitlink-cli release +create --tag v1.0.0 --name "v1.0.0" --body "首个正式版本"
# 搜索
gitlink-cli search +repos --keyword "machine learning"
Raw API
Shortcuts 未覆盖的接口可通过 Raw API 直接调用:
gitlink-cli api GET /users/me
gitlink-cli api GET /Gitlink/forgeplus/commits --query 'page=1&limit=5'
gitlink-cli api POST /Gitlink/forgeplus/issues --body '{"subject":"test","description":"..."}'
全局参数
| 参数 | 说明 |
|---|---|
--owner |
仓库所有者(可从 git remote 自动解析) |
--repo |
仓库名称(可从 git remote 自动解析) |
--format |
输出格式:json / table / yaml |
--debug |
启用调试输出 |
AI Agent Skills
skills/ 目录包含 11 个 Claude Code Agent Skill 文件,支持 AI 自动化操作 GitLink 平台:
| Skill | 说明 |
|---|---|
gitlink-shared |
认证、全局参数、安全规则 |
gitlink-repo |
仓库操作 |
gitlink-issue |
Issue 操作 |
gitlink-pr |
Pull Request 操作 |
gitlink-ci |
CI/CD 操作 |
gitlink-org |
组织管理 |
gitlink-release |
发布管理 |
gitlink-search |
搜索 |
gitlink-user |
用户管理 |
gitlink-pm |
项目管理 |
gitlink-workflow |
AI 自动化工作流(Issue Triage、PR Review、Release Notes 等) |
项目结构
gitlink-cli/
├── cmd/ # Cobra 命令定义
│ ├── root.go # 根命令 + 全局 flags
│ ├── auth/ # auth login/logout/status
│ ├── api/ # Raw API 层
│ ├── config/ # config init/set/get/list
│ └── cmdutil/ # 全局变量
├── internal/ # 内部包
│ ├── auth/ # 登录、Token 存储、Transport
│ ├── client/ # HTTP 客户端 + 分页
│ ├── config/ # 配置文件管理
│ ├── context/ # git remote 解析
│ └── output/ # Envelope + Formatter
├── shortcuts/ # Shortcut 实现
│ ├── common/ # 框架(types, runner)
│ ├── repo/issue/pr/... # 各领域 shortcuts
│ └── register.go # 注册入口
├── skills/ # AI Agent Skills
│ └── gitlink-*/SKILL.md
├── doc/ # 设计文档
├── main.go
├── Makefile
└── go.mod
设计文档
详见 doc/design.md — 包含完整的架构设计、三层命令体系、认证方案、API 客户端、AI Skills 设计和开发计划。