npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

git-fish-log

v1.0.10

Published

🐟 Git 摸鱼 & 爆肝分析器 CLI — 给你的提交记录生成摸鱼指数和锐评

Readme

🐟 fish

你的 Git 提交记录,比老板更懂你。

一个基于 Git Commit 的程序员画像生成器。 分析摸鱼指数、爆肝程度、修仙记录和开发习惯, 并生成令人会心一笑的 AI 风格锐评。

分析你的:

🐟 摸鱼程度
🔥 爆肝程度
🌙 修仙程度
🧱 搬砖程度
💥 梭哈程度

并解锁:

🏷 摸鱼宗师
🏷 爆肝战神
🏷 深夜修仙者
🏷 PPT 架构师
🏷 Git 聊天达人

因为:

每一条 Commit,都是程序员留下的生活痕迹。

配置/新增 GitLab 远程扫描源(支持多数据源管理):

fish config gitlab <token> [host] [name]
  • token: 你的 GitLab 个人/项目访问令牌 (PAT),需有 read_apiapi 权限。
  • host: 可选。私有部署的 GitLab 域名(如 https://gitlab.mycompany.com),缺省默认使用 https://gitlab.com
  • name: 可选。给该数据源指定的别名(如 my-company),缺省时自动使用 host 域名作为别名。若别名已存在则会覆盖更新。

🆕 v1.0.10 更新内容

  • 月报新增爆肝王 & 摸鱼王排行榜:与周报一致的计算法则,从当月数据中找出摸鱼指数最低(最努力)和最高(最会摸鱼)的日子,多日并列时一起显示。统计时自动排除周末与法定节假日(调休上班日不算休息日),但如果休息日有提交记录则视为加班纳入统计。
  • 月报新增摸鱼指数均值(除休息日):基于排除无提交休息日后的数据重新计算月均摸鱼指数,更准确反映实际工作日的摸鱼水平。同时月报锐评的阈值判断也同步改为基于此调整后均值,避免被周末/节假日的 95 分拉高。
  • 周报「最努力的日子」排除周末:周末的提交记录统一归类到「最痛苦的日子」,不再同时出现在「最努力」中,逻辑更合理。
  • 周报项目名称始终显示:去掉了 -P 条件限制,每日提交详情中的项目名称默认直接展示。
  • 修复月报 isWeekend 参数analyzeMonthly 原来写死 false,导致周末的摸鱼指数计算缺少 +5 工作分加成,现已根据实际日期正确计算。

🆕 v1.0.9 更新内容

  • 月报新增节假日与调休标记:每日摸鱼指数概览中,法定节假日日期后追加绿色圆点 ,法定调休上班日(周末补班)追加红色叹号 !,一眼分辨哪天是假日、哪天在还债。内置 2025-2026 年中国法定节假日数据,周末自动识别。

🆕 v1.0.8 更新内容

  • 摸鱼指数算法 v2 重设计:引入「有效 Commit」概念(单次增删 ≥ 20 行),天然过滤格式化/小修复;代码行数改用 log₁₀ 压缩并降权至 10%,工作时长+时间分布合计占 50% 权重,摸鱼/爆肝判断更贴合直觉。
  • 新增代码量指数(🧱 Code Volume Index):独立于摸鱼指数,纯基于修改行数 L 采用对数公式 51.3·log₁₀(L+50)-79.5 映射到 0~100 分,六档等级从「✏️ 改两行就下班」到「☢️ 这提交能过 CR?」。
  • 锐评系统全面升级:新增 11 类标签锐评池(摸鱼宗师/爆肝战神/深夜修仙者/勤恳搬砖人/一把梭哈/PPT 架构师/格式化大师/Git 聊天达人/深夜刺客/生产队的驴/摸鱼仙人),根据每日人格标签触发对应幽默吐槽。
  • 周报新增代码行数 & 修仙指数展示:每日报告同时展示 🧱 代码量、🌙 修仙指数,多维度可视化你的开发日常。

📖 CLI 命令行示例

1. 基础摸鱼周报(or 月报)

fish

默认展示本周(周一零点至周日 23:59)的所有提交记录以及每日的摸鱼指数统计。

==================================================
 🐟 FISH - 本周 Git 摸鱼周报
==================================================

📅 本周提交详情:
  周一:0 次 | 🐟 摸鱼指数: 90% (终极摸鱼 🎣)  🏷 🐟 今日暂无代码活动
  周二:2 次 | 🐟 摸鱼指数: 51% (正常营业 💻) | 🧱 代码量: 150行 (大型改动 🧱) | 1个项目 (项目名称)
  周三:0 次 | 🐟 摸鱼指数: 90% (终极摸鱼 🎣)  🏷 🐟 今日暂无代码活动
  周四:未到
  周五:未到

--------------------------------------------------
☕ 最快乐的日子:周一、周三 | 🐟 摸鱼指数:90%
--------------------------------------------------
📊 本周均值:🐟 摸鱼指数 77%
--------------------------------------------------
🤖 锐评:
看来本周的项目进入了‘养精蓄锐’阶段——手机太好玩,或者床太暖和。摸鱼技巧已达炉火纯青之境。

2. 月度报告与工作分类

fish --month
# 或
fish -m

查看本月的所有 Commit 分类(Bug 修复、新功能、杂务文档、其他)占比图以及大月度 锐评。

==================================================
 🐟 FISH - 本月 Git 摸鱼月报
==================================================

📅 本月主要贡献占比 (基于 Commit Message 正则归类):
  - 修 bug (fix)        :[■□□□□□□□□□□□□□□] 5% (4 次)
  - 新功能 (feat)       :[■■■■■■■■■■■■□□□] 79% (64 次)
  - 杂务与文档 (chore)  :[■■□□□□□□□□□□□□□] 14% (11 次)
  - 其他提交 (other)    :[□□□□□□□□□□□□□□□] 2% (2 次)

📅 每日摸鱼指数概览:
  周一    周二    周三    周四    周五    周六    周日
                                  5月1日  5月2日  5月3日
                                  90%     90%     90%

  5月4日  5月5日  5月6日  5月7日  5月8日  5月9日  5月10日
  90%     90%     28%     90%     23%     19%     90%

  5月11日 5月12日 5月13日 5月14日 5月15日 5月16日 5月17日
  61%     39%     23%     90%     90%     90%     90%

  5月18日 5月19日 5月20日 5月21日 5月22日 5月23日 5月24日
  39%     43%     38%     28%     25%     90%     90%

  5月25日 5月26日 5月27日 5月28日 5月29日 5月30日 5月31日
  61%     28%     35%     34%     20%     90%     90%

🏆 爆肝王:5月9日 | 🐟 摸鱼指数:19%
☕ 摸鱼王:5月26日 | 🐟 摸鱼指数:28%
--------------------------------------------------
📊 本月均值:🐟 摸鱼指数 49%
--------------------------------------------------
🤖 锐评:
本月 Feat 占比高达 62%。新功能一项接一项,开发火力全开,业务线因你而飞速前进!

3. 横向项目爆肝排行

fish --project
# 或
fish -p

对目前配置监控的多个项目按照 Commit 数量进行降序排行,并配有幽默的地位标识。

fish -w 1 -p
==================================================
 🐟 FISH - 项目爆肝排行 (上周)
==================================================

📊 对应时段项目爆肝排行 (2026/6/15 ~ 2026/6/21)
  1. 项目名称: 13 次提交 (主力搬砖地 🧱)
  2. 项目名称: 3 次提交 (偶尔上去点一下 🐟)
  3. 项目名称: 2 次提交 (边缘挂机项目 💤)
  4. 项目名称: 1 次提交 (测完就跑,纯粹路过 🚬)

4. 24 小时黄金提交时间段图表

fish --time
# 或
fish -t

以水平柱状图形象打印 24 小时中你提交代码的波峰和波谷,包含个性化的时段说明。

fish -w 1 -t
==================================================
 🐟 FISH - 黄金工作时间段分析 (24小时分布) (上周)
==================================================

🕒 对应时段 24 小时 commit 频次分布图:
  00:00 | [                              ] 0 次
  01:00 | [                              ] 0 次
  02:00 | [                              ] 0 次
  03:00 | [                              ] 0 次
  04:00 | [                              ] 0 次
  05:00 | [                              ] 0 次
  06:00 | [                              ] 0 次
  07:00 | [                              ] 0 次
  08:00 | [                              ] 0 次
  09:00 | [██████                        ] 3 次 (上午表演型选手 🚀)
  10:00 | [██████████████████████████    ] 12 次 (上午表演型选手 🚀)
  11:00 | [██████████████████████████████] 14 次 (正常人类工作时间 ✅)
  12:00 | [██                            ] 1 次 (干饭是第一生产力 🍚)
  13:00 | [█████████████                 ] 6 次 (干饭是第一生产力 🍚)
  14:00 | [█████████████                 ] 6 次 (午后灵魂出窍者 👻)
  15:00 | [██████████████████████████████] 14 次 (CPU 重启中 🔄)
  16:00 | [███████████████████           ] 9 次 (临近下班突然勤奋 🤔)
  17:00 | [██████████████████████████████] 14 次 (临近下班突然勤奋 🤔)
  18:00 | [████                          ] 2 次 (自愿(被迫)加班人 💪)
  19:00 | [                              ] 0 次
  20:00 | [                              ] 0 次
  21:00 | [                              ] 0 次
  22:00 | [                              ] 0 次
  23:00 | [                              ] 0 次

5. 幽灵提交检测

fish --ghost
# 或
fish -g

检测本周在 00:00 - 05:00 期间生成的 Commit,如有发现,会触发防猝死警告与尖锐吐槽。

==================================================
 🐟 FISH - 幽灵提交检测 (深夜 00:00 ~ 05:00)
==================================================

🎉 恭喜!本时间段内未检测到任何深夜幽灵提交。
你的发际线十分安全,大福报已被无情拒收,睡眠健康得分:100 分!

6. 报告时间偏移与远程源筛选 (通用选项)

在运行任何报告命令时,都可以配合以下选项:

  • -w, --weeks-ago <number>:查看之前某周/某月的报告(默认 0 表示本周/本月,1 表示上周/上月,2 表示上上周/上上月,以此类推)。
    # 查看上周的摸鱼周报
    fish -w 1
    # 查看两个月前的摸鱼月报
    fish -m 2
  • -s, --source <source>:指定要查询的 GitLab 远程数据源,支持填别名或序号(例如 1, 2)。如不填默认查询首个配置。
    # 查询别名为 company-gitlab 的源在上周的数据
    fish -w 1 -s company-gitlab

7. 项目与 GitLab 配置管理命令 (fish config)

  • 列出当前配置的所有监控项目与 GitLab 源

    fish config list
  • 【划重点】配置/新增 GitLab 远程扫描源(支持多数据源管理)

    fish config gitlab <token> [host] [name]
    • token: 你的 GitLab 个人/项目访问令牌 (PAT),需有 read_apiapi 权限。
    • host: 可选。私有部署的 GitLab 域名(如 https://gitlab.mycompany.com),缺省默认使用 https://gitlab.com
    • name: 可选。给该数据源指定的别名(如 my-company),缺省时自动使用 host 域名作为别名。若别名已存在则会覆盖更新。
  • 清除 GitLab 远程扫描配置

    # 清除指定的某一个 GitLab 配置(支持写序号或别名)
    fish config gitlab-clear <name_or_index>
      
    # 清除所有的 GitLab 配置并关闭远程扫描
    fish config gitlab-clear
  • 手动添加一个本地 Git 仓库

    fish config add <path_to_repo>
  • 从监控列表中移除一个仓库

    fish config remove <path_to_repo>
  • 自动扫描指定目录下的一级子目录,批量添加 Git 仓库

    fish config scan <root_path>