Relay GitCode CLI — Relay GitCode 命令行接口(CLI)
v5使用gd,即relay-gitcode-cli GitCode命令行客户端,用于GitCode API v5工作流,包括身份验证、仓库、拉取请求、问题、搜索、SSH密钥、标签、发布、GitCode Pipeline操作、原始API调用、JSON自动化、版本检查和shell自动补全。应在代理需要通过运行本地gd命令来操作GitCode时使用。除非GitCode通过gd或gd API暴露等效的API,否则不要将此技能用于仅适用于GitHub的gh界面。
运行时依赖
安装命令
点击复制技能文档
Relay GitCode CLI 工作流 使用选定的 gd 二进制文件作为 GitCode 控制面。首选 --json 以实现自动化,并在暴露不熟悉的操作之前检查命令帮助: gd --help gd pr create --help gd api --help 保持行为与 GitCode 特定。不要引入仅适用于 GitHub 的命令面,如 gists、codespaces、projects、GitHub Actions、rulesets、extensions 或 Copilot,除非 GitCode 暴露等效的 API 行为,并且可以通过 gd api 完成任务。 当 gd 命令、标志、示例或用户面向行为在此存储库中发生变化时,请在同一更改中更新此 SKILL.md,以便代理工作流保持与编译的 CLI 一致。 gd 重用 reqwest 系统代理行为,用于 HTTP_PROXY/http_proxy、HTTPS_PROXY/https_proxy、ALL_PROXY/all_proxy 和 NO_PROXY/no_proxy。 默认情况下,GitCode API 调用禁用 TLS 证书验证。设置 GD_SSL_VERIFY/gd_ssl_verify、GITCODE_SSL_VERIFY/gitcode_ssl_verify 或 SSL_VERIFY/ssl_verify 为 true 以启用验证;任何非空 GIT_SSL_NO_VERIFY/git_ssl_no_verify 值将保持禁用。
就绪性 选择最新的可用 gd,然后运行工作流。相对于此技能目录解析捆绑资产。 在 Linux x64 上,检查 assets/bin/linux-x86_64/gd;在 Windows x64 上,检查 assets/bin/windows-x86_64/gd.exe。还检查使用命令 -v gd 在 Unix 或 where gd 在 Windows 上找到的 gd 二进制文件。 对于每个存在且可执行的候选项,运行 <候选项> --version 并解析输出的 semver,例如 gd 0.1.0。使用最高 semver 的候选项。如果版本相等,首选捆绑二进制文件。忽略无法运行或无法打印可解析 gd 版本的候选项。 如果选定的二进制文件不在 PATH 上,则通过绝对路径运行或设置 GD_BIN,并在下面的示例中将 "$GD_BIN" 替换为 gd。 设置 GD_BIN 为选定的路径,然后检查版本和身份验证状态: "$GD_BIN" --version "$GD_BIN" version check --json "$GD_BIN" auth status --json 仅在没有可用捆绑或 PATH 二进制文件时在线安装。首选 Rust 包,然后是 GitHub Releases: cargo install relay-gitcode-cli --force gd version check --json 当回退到 GitHub Releases 下载时,使用主机网络所需的环境代理。检查或设置 HTTPS_PROXY/https_proxy、HTTP_PROXY/http_proxy、ALL_PROXY/all_proxy 和 NO_PROXY/no_proxy,然后运行 curl、wget 或其他下载器。 不要通过从本地存储库检查中构建 gd 来安装此技能。捆绑二进制文件和在线回退应来自发布的 CLI 构件。 对于临时 CI 或端到端测试,首选在进程环境中使用 GD_TOKEN 或 GITCODE_TOKEN。GD_TOKEN 在同时存在时优先。 对于交互式令牌登录,从 stdin 读取令牌并将其存储在系统密钥环中: printf '%s' "$GITCODE_TOKEN" | gd auth login --with-token --json gd auth status --json 永远不要在存储库文件中打印、提交或持久化个人访问令牌、cookie 或私有 API 响应。
核心工作流 使用 --repo owner/repo Explicitly 指定存储库,当当前目录不定义 gd 默认存储库时。添加 --json 以实现机器可读输出: gd repo view owner/repo --json gd repo list owner --limit 50 --json gd repo clone owner/repo gd repo create name --private --description "demo" --json gd repo fork owner/repo --json gd repo move owner/repo target-owner/new-name --json gd repo move owner/repo target-owner --name new-name --json gd repo sync-github coolplayagent/relay-gitcode-cli --org plm-cac --private --json gd repo sync-github git@github.com:owner/repo.git --repo target-org/repo --if-exists skip --json gd repo sync-github owner/repo --repo target-org/repo --method git-push --if-exists update --json gd repo contents README.md --repo owner/repo --ref main --json gd repo file-create README.md --repo owner/repo --message "init" --content "hello" --json gd repo file-update README.md --repo owner/repo --message "update" --sha blob-sha --content-file README.md --json gd repo settings-edit --repo owner/repo --field has_issues=true --json gd repo pr-settings --repo owner/repo --json gd repo push-rules --repo owner/repo --json gd repo contributor-stats --repo owner/repo --current-user --json gd repo events --repo owner/repo --filter push --json gd repo move 将 GitCode 存储库在用户和组织之间移动,或在目标所有者未更改时重命名它。使用一次性存储库进行 E2E 检查: GITCODE_TOKEN=... GD_E2E_SOURCE_REPO=owner/repo GD_E2E_TARGET_OWNER=target-owner GD_E2E_TARGET_NAME=temporary-name scripts/e2e-repo-move.sh gd repo sync-github 接受 GitHub owner/repo、HTTPS URL 或 SSH URL,并创建一个 GitCode 存储库,其 GitHub 存储库作为 import_url。没有 --org 或 --repo,它将导入到已验证的 GitCode 用户命名空间中。使用 --org 指定 GitCode 组织,并使用 --repo owner/name 指定显式目标路径。现有目标将被跳过。