github-automation
31
总安装量
18
周安装量
#11838
全站排名
安装命令
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill github-automation
Agent 安装分布
claude-code
11
codex
10
gemini-cli
10
antigravity
9
cursor
9
Skill 文档
GitHub èªå¨åæä½
åè½è¯´æ
æ¤æè½ä¸é¨ç¨äºèªå¨å GitHub å¹³å°çåç§æä½ï¼å æ¬ï¼
- ä»åºç®¡çåæä»¶æä½
- Pull Request å建å审æ¥
- Issue 管çå追踪
- åæ¯ç®¡çååå¹¶
- CI/CD 工使µèªå¨å
- ä»£ç æç´¢ååæ
使ç¨åºæ¯
- “å建ä¸ä¸ªæ°ç GitHub ä»åº”
- “æäº¤ä»£ç å¹¶å建 Pull Request”
- “æ¹éå¤ç GitHub Issues”
- “èªå¨å代ç å®¡æ¥æµç¨”
- “æç´¢ä»£ç åºä¸çç¹å®ä»£ç ”
- “管ç GitHub Actions 工使µ”
æ ¸å¿åè½æ¨¡å
1. ä»åºç®¡ç
- å建ä»åºï¼å建æ°çå ¬å¼æç§æä»åº
- Fork ä»åºï¼Fork å ¶ä»ä»åºå°èªå·±è´¦æ·
- æç´¢ä»åºï¼æå ³é®è¯æç´¢ä»åº
- æä»¶æä½ï¼è¯»åãåå»ºãæ´æ°æä»¶
- æ¹éæäº¤ï¼ä¸æ¬¡æäº¤å¤ä¸ªæä»¶
2. Pull Request 管ç
- å建 PRï¼ä»åæ¯å建 Pull Request
- å®¡æ¥ PRï¼æ·»å è¯è®ºåå®¡æ¥æè§
- åå¹¶ PRï¼åå¹¶ Pull Request
- æ¥çåæ´ï¼è·å PR çæä»¶åæ´
- ç¶ææ£æ¥ï¼æ¥ç CI/CD ç¶æ
3. Issue 管ç
- å建 Issueï¼å建æ°çé®é¢æä»»å¡
- æ´æ° Issueï¼ä¿®æ¹ç¶æãæ ç¾ãè´è´£äºº
- æç´¢ Issueï¼ææ¡ä»¶çé Issue
- æ·»å è¯è®ºï¼å¨ Issue 䏿·»å 讨论
- æ¹éæä½ï¼æ¹éå¤çå¤ä¸ª Issue
4. åæ¯ç®¡ç
- åå»ºåæ¯ï¼ä»æå®åæ¯å建æ°åæ¯
- æ¥çæäº¤ï¼ååºåæ¯çæäº¤åå²
- åæ¯ä¿æ¤ï¼é ç½®åæ¯ä¿æ¤è§å
- åå¹¶çç¥ï¼éæ©åå¹¶æ¹å¼ï¼mergeãsquashãrebaseï¼
5. ä»£ç æç´¢
- æç´¢ä»£ç ï¼å¨ä»åºä¸æç´¢ä»£ç çæ®µ
- æç´¢ Issueï¼æç´¢é®é¢å PR
- æç´¢ç¨æ·ï¼æ¥æ¾ GitHub ç¨æ·
- é«çº§æ¥è¯¢ï¼ä½¿ç¨ GitHub æç´¢è¯æ³
工使µç¨
æ åå¼åæµç¨
- åå»ºåæ¯ï¼ä» main å建åè½åæ¯
- å¼å代ç ï¼ç¼ååæµè¯ä»£ç
- æäº¤åæ´ï¼æäº¤æä»¶å°åæ¯
- å建 PRï¼å建 Pull Request
- 代ç 审æ¥ï¼å¢é审æ¥ä»£ç
- å并代ç ï¼åå¹¶å°ä¸»åæ¯
èªå¨åå叿µç¨
- çå¬äºä»¶ï¼çå¬ push æ tag äºä»¶
- è¿è¡æµè¯ï¼æ§è¡èªå¨åæµè¯
- æå»ºé¡¹ç®ï¼ç¼è¯åæå
- å建 Releaseï¼å叿°çæ¬
- é¨ç½²åºç¨ï¼èªå¨é¨ç½²å°ç产ç¯å¢
Issue ç®¡çæµç¨
- å建 Issueï¼æ¥åé®é¢æéæ±
- åé ä»»å¡ï¼æå®è´è´£äºº
- æ·»å æ ç¾ï¼åç±»åä¼å 级
- è·è¸ªè¿åº¦ï¼æ´æ°ç¶æ
- å ³é Issueï¼å®æåå ³é
æä½³å®è·µ
æäº¤è§è
- ä½¿ç¨æ¸ æ°çæäº¤ä¿¡æ¯
- éµå¾ª Conventional Commits è§è
- 䏿¬¡æäº¤è§£å³ä¸ä¸ªé®é¢
- å å«å¿ è¦çæµè¯åææ¡£
PR è§è
- æä¾è¯¦ç»ç PR æè¿°
- å ³èç¸å ³ç Issue
- ç¡®ä¿ CI æ£æ¥éè¿
- åæ¶ååºå®¡æ¥æè§
- ä¿æ PR 大å°éä¸
忝çç¥
- ä½¿ç¨ Git Flow æ GitHub Flow
- ä¿æ¤ä¸»åæ¯
- 宿忥䏿¸¸åæ¯
- åæ¶å é¤å·²åå¹¶ç忝
å®å ¨å®è·µ
- ä¸æäº¤ææä¿¡æ¯
- ä½¿ç¨ GitHub Secrets 管çå¯é¥
- å¯ç¨åå ç´ è®¤è¯
- å®æå®¡æ¥æé设置
常ç¨ä»£ç 示ä¾
1. å建ä»åºå¹¶æäº¤æä»¶
// å建ä»åº
const repo = await createRepository({
name: "my-project",
description: "é¡¹ç®æè¿°",
private: false,
autoInit: true
});
// æ¹éæäº¤æä»¶
await pushFiles({
owner: "username",
repo: "my-project",
branch: "main",
files: [
{
path: "README.md",
content: "# My Project\n\n项ç®è¯´æ"
},
{
path: "src/index.js",
content: "console.log('Hello World');"
}
],
message: "Initial commit"
});
2. åå»ºåæ¯å Pull Request
// å建æ°åæ¯
await createBranch({
owner: "username",
repo: "my-project",
branch: "feature/new-feature",
from_branch: "main"
});
// æäº¤ä»£ç å°æ°åæ¯
await createOrUpdateFile({
owner: "username",
repo: "my-project",
path: "src/feature.js",
content: "// æ°åè½ä»£ç ",
message: "Add new feature",
branch: "feature/new-feature"
});
// å建 Pull Request
await createPullRequest({
owner: "username",
repo: "my-project",
title: "æ·»å æ°åè½",
head: "feature/new-feature",
base: "main",
body: "## åæ´è¯´æ\n- æ·»å äºæ°åè½\n- æ´æ°äºææ¡£"
});
3. Issue 管ç
// å建 Issue
const issue = await createIssue({
owner: "username",
repo: "my-project",
title: "ä¿®å¤ç»å½é®é¢",
body: "## é®é¢æè¿°\nç¨æ·æ æ³ç»å½\n\n## å¤ç°æ¥éª¤\n1. æå¼ç»å½é¡µé¢\n2. è¾å
¥åè¯\n3. ç¹å»ç»å½",
labels: ["bug", "high-priority"],
assignees: ["developer1"]
});
// æ·»å è¯è®º
await addIssueComment({
owner: "username",
repo: "my-project",
issue_number: issue.number,
body: "æ£å¨è°æ¥æ¤é®é¢"
});
// æ´æ° Issue
await updateIssue({
owner: "username",
repo: "my-project",
issue_number: issue.number,
state: "closed",
labels: ["bug", "fixed"]
});
4. 代ç 审æ¥
// è·å PR 详æ
const pr = await getPullRequest({
owner: "username",
repo: "my-project",
pull_number: 123
});
// è·å PR æä»¶åæ´
const files = await getPullRequestFiles({
owner: "username",
repo: "my-project",
pull_number: 123
});
// å建审æ¥
await createPullRequestReview({
owner: "username",
repo: "my-project",
pull_number: 123,
body: "代ç çèµ·æ¥ä¸éï¼æå ç¹å»ºè®®",
event: "COMMENT",
comments: [
{
path: "src/index.js",
line: 10,
body: "建议添å é误å¤ç"
}
]
});
// åå¹¶ PR
await mergePullRequest({
owner: "username",
repo: "my-project",
pull_number: 123,
merge_method: "squash",
commit_title: "feat: æ·»å æ°åè½"
});
5. æç´¢åæ¥è¯¢
// æç´¢ä»£ç
const codeResults = await searchCode({
q: "function login repo:username/my-project"
});
// æç´¢ Issue
const issueResults = await searchIssues({
q: "is:open label:bug repo:username/my-project",
sort: "created",
order: "desc"
});
// æç´¢ä»åº
const repoResults = await searchRepositories({
query: "react stars:>1000 language:javascript"
});
GitHub Actions éæ
èªå¨åæµè¯
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: npm test
èªå¨åé¨ç½²
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Deploy
run: ./deploy.sh
éæåºæ¯
1. èªå¨å代ç 审æ¥
- çå¬ PR å建äºä»¶
- è¿è¡ä»£ç è´¨éæ£æ¥
- èªå¨æ·»å 审æ¥è¯è®º
- æ è®°éè¦æ¹è¿çå°æ¹
2. Issue èªå¨åç±»
- çå¬ Issue å建
- åæ Issue å 容
- èªå¨æ·»å æ ç¾
- åé ç»åéç人å
3. åå¸ç®¡ç
- çå¬çæ¬æ ç¾
- çæåæ´æ¥å¿
- å建 GitHub Release
- éç¥å¢éæå
4. ä¾èµæ´æ°
- å®ææ£æ¥ä¾èµæ´æ°
- åå»ºæ´æ° PR
- è¿è¡æµè¯éªè¯
- èªå¨åå¹¶å®å ¨æ´æ°
注æäºé¡¹
- éµå® GitHub API éçéå¶
- ä½¿ç¨ Personal Access Token 认è¯
- æ£ç¡®å¤ç API é误åéè¯
- ä¿æ¤ææä¿¡æ¯åå¯é¥
- éµå¾ªå¼æºé¡¹ç®è´¡ç®æå