Generate structured weekly reports from Git commit history across one or multiple repositories. Use when you need concise, project-grouped progress summaries for status reporting.
自动读取 Git 提交记录,按项目分组生成结构化周报。
git config user.name)~/.weekly-reports/ 目录在任意 Git 项目目录中执行:
/weekly-report
选择时间范围
重要:选择时必须显示具体的日期范围,让用户确认是否正确
选择仓库(如已配置多仓库)
添加补充内容(可选)
生成周报
~/.weekly-reports/{year}/week-{week}.md~/.weekly-reports/periods/{start_date}_to_{end_date}.md为避免“只读取当前分支而漏掉其它分支(例如 credits-lite*)”的问题,读取提交时必须使用 --all(覆盖本地分支 + 远端跟踪分支),并确保截止时间包含结束日当天:
# 关键点:
# - 用 --all 覆盖所有本地 refs(包含 remotes/origin/*)
# - --until 用 “结束日 23:59:59” 避免漏掉结束日当天提交
# - --author 建议用 name + email 联合匹配,避免不同身份写法漏掉本人提交
AUTHOR_PATTERN="(your-name|[email protected])" # 或仅用你的 name/email
git log --all \
--author="$AUTHOR_PATTERN" \
--since="$START_DATE 00:00:00" \
--until="$END_DATE 23:59:59" \
--pretty=format:"%H|%s|%an|%ad" \
--date=short
如果 git branch -a 看不到目标远端分支(说明本地没有对应的远端跟踪引用),需要先 git fetch --all --prune(在用户同意且网络可用时执行),否则无法读取到“本地不存在的分支”的提交。
周报采用层级列表结构,必须包含日期范围标题,按项目分组:
# 周报 (2026-01-06 ~ 2026-01-12)
项目名称
- 主要工作点(10字以内)
- 补充说明(可选)
- 另一个工作点
其他
- 不属于特定项目的工作内容
下周计划
项目名称
-
时间段报告不追加"下周计划"模板(因为不是周维度)。
# 工作总结 (2025-07-13 ~ 2026-01-13)
项目名称
- 主要工作点(10字以内)
- 补充说明(可选)
- 另一个工作点
其他
- 不属于特定项目的工作内容
周报正文生成完毕后,在末尾追加"下周计划"区块:
下周计划(无 # 前缀,与项目名同级)- 作为占位符,方便用户后续填写# 周报 (2026-01-06 ~ 2026-01-12)
project-frontend
- 构建工具升级改造
- 核心功能开发流程跟进
- 方案合理性优化
- 脚本国际化优化
project-backend
- 自定义类型化消息渲染
- 断线重连流程梳理
其他
- 新版国际化方案讨论
下周计划
project-frontend
-
project-backend
-
配置文件位于 ~/.weekly-reports/config.json:
{
"repos": [
{
"name": "project-a",
"path": "/home/user/projects/project-a"
},
{
"name": "project-b",
"path": "/home/user/projects/project-b"
}
],
"default_author": "auto",
"output_format": "markdown"
}
以下提交不会单独列出:
详细格式规范见 周报格式规范