基于 git commit 为年终述职诞生的 Node.js CLI, 生成 Markdown
English | 简体中文
Annualized 不止可以总结项目的提交树,它更专注于个人贡献。
在我入职某公司的第一个年终,我反复思考我做、发现、解决了什么,以及下一步如何做,如何帮助公司和部门变得更好,帮助项目更进一步。
我想了很久,一个尚未发布经受市场考验的项目,增长、反馈都与我无缘,我能写什么?
我只能想到自己攻克了多少难点、解决了什么跨部门的问题、提高了同事多少效率、创造了多少价值、...。
我翻开几个项目的提交树,它们具体到没有意义,但我还是从整体细节中总结出这一年的路线图,于是 Annualize 诞生了。
它解决哪些痛点:
- 可选农历区间作为一年的开始与结束
- 可控时间范围
- 提取某人的提交日志
- 生成 AI 可用的 Markdown
- 根据类型分类清单和统计数量
声明:作者对控制型管理模式没有好感,尤其是互联网企业,希望我们不总是身不由己。
查看 Markdown 示例,或者图片预览:
- 克隆仓库
git clone https://github.com/kabeep/annualize.git- 安装依赖
cd annualize
# 使用 npm 安装
npm install
# 或者使用 yarn 安装
yarn
# 亦或使用 pnpm 安装
pnpm install
yarn- 编译程序
npm run build- 通过软链接到全局
npm link- 测试安装成功
annualize -v下面是一个常见工作流:
annualize <command> [options]
命令:
annualize add 将当前目录添加至队列
annualize remove 将当前工作目录从队列中移除 [aliases: rm]
annualize clear 清空队列 [aliases: clr]
annualize print 将队列输出为 markdown 文件 [aliases: ptr]
annualize show 显示队列中的日志列表
选项:
--author 为 `auto` 时从 git global config 中查找,默认全部输出日志
[字符串]
--since 从某日开始输出,默认为 `2023-01-01` [字符串]
--before 输出到某日结束,默认为 `2024-01-01` [字符串]
--lunar 使用农历作为年终总结的区间 [布尔]
--output print 输出目录,相对于当前工作目录,默认 `User/Downloads`
[字符串]
--append-type 自定义提交类型 [数组]
-o, --overwrite add 覆写授权,当前工作目录已存在时进行覆写操作
[布尔] [默认值: false]
-p, --pretty print 美化标题,使用 emoji 美化 Markdown 标题
[布尔] [默认值: false]
-h, --help 显示帮助信息 [布尔]
-v, --version 显示版本号 [布尔]
示例:
annualize add -o 授权 add 命令当前工作目录的日志已在
队列中时进行覆写
annualize add --author=kabeep 仅将作者 kabeep 的日志添加到队列
annualize add --since=2023-01-01 将 2023-01-01 到 2024-01-01
--before=2024-01-01 的日志添加到队列
annualize print -p Markdown 标题将输出 `# {emoji}
{commit-type}`
暂无分发计划, 如果某人迫切需要某些功能可以发邮件到我的公开邮箱
如果通过 Roadmap 获得了灵感, 这个仓库使用 MIT License, 我会很高兴并且充满感激的看到它被实现
- 饼图 - 表示 commit types 占比
- 重构 markdown generator
- 关键词 - TF-IDE (需求: glance) needs collapse fancy
- 变更文件日志 - 图表数据支持
- 树形图 - 占比 (base on 文件日志改动)
- 甘特图 - 计划任务记录 (需求: 敏捷开发管理与分析)
- 数据包图 - 精细任务记录
- XY 图 - 多维度增长趋势
- 用户旅程图 - (需求: 洞察团队短板和协作模式)
- 思维导图 - (需求: 发现贡献最大的提交, 如引用更多的 component, utils 等) need 变更文件日志
- 思考倒排索引的局限
- LLM - (需求: 单行分析 总结 图表数据支持)
- 象限图 - (需求: 遵守要事第一的四象限法则, 找出最关键的任务或最关键的人) needs LLM
- 时间线 - 总结全年 changelog needs LLM
- 看板 - 分析迭代集合 needs LLM
- 桑基图 - 多维度探索
- a11y - 图表无障碍
- SVG - 更丰富的统计报表 need Graphviz, LLM
- MCP
- 文件链接 - 访问变更文件
- 拆分文件
- Web - 生成 HTML need 拆分文件, marked / remark
- Web 服务 - 在线预览
- diff - 查看代码变更行
- 在线仓库 - 直接处理在线仓库
- GitGraph 图 - 合并变更 (需求: gitflow 看流向, thunk-based 看 hotfix) low priority
提前道歉产品规划有点像微观管理了, 但它的初衷是为面向每个个体做自我分析的
终极目标是像 packagephobia、 bundlephobia、 pkg-size、 npmgraph、 init-commit、 npmtrends、 npmcharts、 codacy、 snyk、 和我自己的 npmskim(WIP) 这些仓库一样成为调研工作流的一部分, 为洞察提供有力支持。
欢迎通过 Pull Requests 或 Issues 来贡献你的想法和代码。
本项目采用 MIT 许可证。详情请见 LICENSE 文件。

