mcpField
G
git-platform

git-platform

github.com/athola开发34396 次安装1 天前更新
代码仓库

关于 git-platform

git-platform 是面向技能和工作流的 Git 托管平台检测与命令映射指南,可识别 GitHub、GitLab 或 Bitbucket,并提供跨平台操作参考。SessionStart hook 会将检测结果加入会话上下文。

主要功能

  1. 01自动检测托管平台
  2. 02映射 GitHub 与 GitLab 命令
  3. 03提供 Bitbucket API 操作参考
  4. 04区分各平台术语与配置

适用场景

  1. 01创建工单或 PR/MR 前确认平台
  2. 02为不同托管平台编写 CI/CD 配置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/athola/claude-night-market --skill git-platform

安装后在 Claude Code 中输入/git-platform确认已加载。

附带文件modules/command-mapping.md

详细介绍

Git 平台检测与命令映射

概述

用于 Git 托管平台操作的跨平台抽象。检测当前项目使用的是 GitHub、GitLab 还是 Bitbucket,并为每个平台提供对应的 CLI 命令。

SessionStart 钩子(detect-git-platform.sh)会自动将检测到的平台注入会话上下文。此技能提供命令参考,用于在不同平台之间转换操作。

适用场景

  • 运行 gh、glab 或托管平台 API 命令之前
  • 技能或命令需要创建 issue、PR/MR 或发表评论时
  • 编写 CI/CD 配置时
  • 工作流中出现特定于托管平台的 CLI 命令时

不适用场景

  • 仅限本地的 Git 操作(git commit、git branch 等)
  • 没有托管的 Git 远程仓库的项目

平台检测

SessionStart 钩子会自动检测平台。会话上下文中会包含:

git_platform: github|gitlab|bitbucket, cli: gh|glab, mr_term: pull request|merge request

如需手动重新检测:

# Check remote URL
git remote get-url origin 2>/dev/null

# Check file markers
ls -d .github/ .gitlab-ci.yml bitbucket-pipelines.yml 2>/dev/null

# Check CLI availability
command -v gh && echo "GitHub CLI available"
command -v glab && echo "GitLab CLI available"

快速命令参考

操作GitHub(gh)GitLab(glab)
查看 issuegh issue view N --json title,body,labelsglab issue view N
列出 issuegh issue list --json number,titleglab issue list
创建 issuegh issue create --title "T" --body "B"glab issue create --title "T" --description "B"
关闭 issuegh issue close Nglab issue close N
评论 issuegh issue comment N --body "msg"glab issue note N --message "msg"
查看 PR/MRgh pr view Nglab mr view N
创建 PR/MRgh pr create --title "T" --body "B"glab mr create --title "T" --description "B"
列出 PR/MR 评论gh api repos/O/R/pulls/N/commentsglab mr note list N
当前 PR/MRgh pr view --json numberglab mr view --json iid
解决讨论串gh api graphqlglab api graphql
仓库信息gh repo view --json owner,nameglab repo view

Bitbucket:没有标准 CLI。请使用 REST API(curl)或 Web 界面。API 对应项请参阅 command-mapping module。

术语

概念GitHubGitLabBitbucket
代码审查单元Pull Request(PR)Merge Request(MR)Pull Request(PR)
CI 配置.github/workflows/*.yml.gitlab-ci.ymlbitbucket-pipelines.yml
默认分支mainmainmain
审查评论PR 审查评论MR 讨论备注PR 评论

重要:平台为 GitLab 时,面向用户的输出、提交消息和评论中必须始终使用“merge request”(而不是“pull request”)。

集成模式

执行托管平台操作的技能应:

  1. 声明 dependencies: [leyline:git-platform]
  2. 检查会话上下文中的 git_platform:
  3. 使用上方的命令映射表
  4. CLI 不可用时优雅地回退
# Example skill instruction pattern:

## Step N: Create PR/MR

Use the detected platform CLI (check session context for `git_platform`):
- **GitHub**: `gh pr create --title "..." --body "..."`
- **GitLab**: `glab mr create --title "..." --description "..."`
- **Bitbucket**: Create via web interface

详细资源

  • 完整命令映射:请参阅 modules/command-mapping.md,了解完整的 API 对应项、GraphQL 查询和 Bitbucket REST API 模式
  • 身份验证:请参阅 Skill(leyline:authentication-patterns),了解 ensure_auth github|gitlab

退出条件

  • 已检测到平台(或明确标记为未知)
  • 所有托管平台操作均使用了正确的 CLI 工具
  • 面向用户的输出采用了适合平台的术语

评论

支持 Markdown