mirror of
https://github.com/1c7/chinese-independent-developer.git
synced 2026-08-16 18:13:28 +08:00
4.6 KiB
4.6 KiB
name, description, metadata, allowed-tools
| name | description | metadata | allowed-tools | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| chinese-indie-dev | 处理 1c7/chinese-independent-developer 仓库的项目提交。 检查 issue #160 新评论、新开的 Issue、新开的 PR, 将有效项目添加到对应 README,关闭垃圾内容。 当用户说"处理提交"、"处理 issue"、"跑一下列表"时使用。 |
|
|
中国独立开发者列表:处理项目提交
你的任务是处理 GitHub 仓库 1c7/chinese-independent-developer 的项目提交。
检查最近的新评论、新 Issue、新 PR,将有效项目添加到对应 README,关闭垃圾内容。
⚠️ 严格禁止:不得向任何 issue 或 PR 发表评论。不得调用添加 reaction 的 API。
检查一:issue #160 的新评论
获取最近 3 天内的评论:
SINCE=$(date -u -d '3 days ago' +%Y-%m-%dT%H:%M:%SZ)
gh api "repos/1c7/chinese-independent-developer/issues/160/comments?since=$SINCE&per_page=100"
对每条评论,从内容中提取产品 URL,检查是否已在任意 README 中:
grep -r "<产品URL>" README.md README-Programmer-Edition.md README-Game.md
已存在则跳过。不存在则进入「通用处理流程」。
检查二:最近 2 小时内开启的新 Issue(非 #160)
gh api "repos/1c7/chinese-independent-developer/issues?state=open&per_page=50" \
| jq --arg since "$(date -u -d '2 hours ago' +%Y-%m-%dT%H:%M:%SZ)" \
'[.[] | select(.number != 160 and .pull_request == null and .created_at >= $since)]'
判断每个 Issue:
- 有效项目提交(含产品名 + 可访问 URL)→ 进入「通用处理流程」,完成后关闭:
gh issue close <number> - 垃圾广告、无关内容、内容不清晰 → 直接关闭:
gh issue close <number>
检查三:最近 2 小时内开启的新 PR(排除 auto-add- 分支)
gh api "repos/1c7/chinese-independent-developer/pulls?state=open&per_page=50" \
| jq --arg since "$(date -u -d '2 hours ago' +%Y-%m-%dT%H:%M:%SZ)" \
'[.[] | select((.head.ref | startswith("auto-add-") | not) and .created_at >= $since)]'
判断每个 PR:
- 有效项目提交(对 README 的修改,含产品名 + URL)→ 直接合并:
gh pr merge <number> --squash --delete-branch --yes - 垃圾广告、无关内容 → 直接关闭:
gh pr close <number>
通用处理流程(适用于检查一和检查二)
步骤1:提取信息并格式化
从原始内容智能提取,整理为标准格式。提交格式千奇百怪,需灵活判断:
必须有(缺则归入拒绝类):
- 制作者名字:用户没写则用其 GitHub 用户名代替
- 产品名称 + 可访问的产品 URL(http/https 开头)+ 一句话描述
可选(有则填,无则略去):
- 城市、GitHub 链接、博客链接、更多介绍链接
标准输出格式:
#### 制作者名字(城市) - [Github](url)
* :white_check_mark: [产品名](url):一句话描述 - [更多介绍](url)
格式规范:
- 日期区块标题用北京时间:
TZ=Asia/Shanghai date +"%Y 年 %-m 月 %-d 号添加" - 描述末尾不加句号
- 去掉「高效、简洁、强大、快速、好用、一款、一个」等营销废话;「免费」若是核心特征则保留
- 产品名称提升到最前面
- 严禁使用加粗格式(不要用 **)
步骤2:分类
| 类别 | 判断标准 | 目标文件 |
|---|---|---|
| 主版面 | 打开即用的网站或 App,非游戏 | README.md |
| 程序员版面 | 需要命令行/写代码/安装依赖 | README-Programmer-Edition.md |
| 游戏版面 | 任何游戏类产品 | README-Game.md |
| 拒绝 | 论坛、无 URL、垃圾广告、无法判断 | 不处理 |
步骤3:插入文件并建 PR 合并
先用 Read 工具读取目标 README 了解格式,用 Edit 工具插入条目。每个项目建独立分支:
# 每次建分支前先拉取最新 master
git checkout master && git pull origin master
BRANCH="auto-add-$(date +%Y%m%d-%H%M%S)"
git checkout -b $BRANCH
# Edit 工具修改文件后:
git add <文件名>
git commit -m "新增:<项目名>"
git push origin $BRANCH
gh pr create --title "新增:<项目名>" --body "来自 <原始链接>" --base master --head $BRANCH
gh pr merge $BRANCH --squash --delete-branch --yes
注意事项
- 幂等性靠 URL grep 检查保证,不依赖 reaction 标记
- 同一批次多个项目,每个分别建独立分支和 PR,建分支前必须先
git checkout master && git pull - 三个检查都没有新内容时,直接结束