
Product
Socket Threat Intel Now Shows Which Malware Campaigns Were Blocked or Detected
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.
code996 是一个分析工具,它可以统计 Git 项目的 commit 时间分布,进而推导出项目的编码工作强度。
它可以帮助你了解新团队工作的时间模式,识别潜在的加班文化。
该项目为 Node.js 新版本,功能更强大,旧版已迁移至 code996-web。
面试时我们会询问面试官加班情况,但得到的答案有时不那么真实。但是代码的提交时间不会骗人,因此就有了这个工具。
当你入职新公司,跑一下 npx code996,就可以看到数据背后的真相,从而判断这家公司的真实加班文化。
与其痛苦三个月,不如早点看清真相!别等到试用期结束才后悔!
无需安装,快速使用:
# 在当前仓库或仓库上级目录运行(默认查询以上次提交为终点开始365天的commit)
npx code996
你也可以选择安装后再使用,这样就不用每次都重新下载:
# 全局安装
npm i -g code996
# 使用
code996
code996 会根据上下文自动选择最合适的分析模式:
# 智能检测,自动选择分析模式
code996 # 智能检测当前环境
code996 /path/to/repo # 分析指定仓库
code996 /proj1 /proj2 # 自动进入多仓库模式
code996 /workspace # 自动扫描子目录
help:显示帮助信息-y, --year <year>:指定年份或年份范围(推荐)
2025 → 分析 2025-01-01 至 2025-12-312023-2025 → 分析 2023-01-01 至 2025-12-31-s, --since <date>:自定义开始日期 (YYYY-MM-DD)-u, --until <date>:自定义结束日期 (YYYY-MM-DD)--all-time:覆盖整个仓库历史数据-H, --hours <range>:手动指定标准工作时间(例如:9-18 或 9.5-18.5)重要:建议使用该参数,以获取更正确的评价结果--half-hour:以半小时粒度展示时间分布(默认按小时展示)统计更精确--timezone <offset>:指定时区进行分析(例如:+0800、-0700)适用于跨时区团队项目--cn:强制开启中国节假日调休模式**(系统会自动检测 +0800 时区并启用,其他时区也可手动开启)**--self:仅统计当前 Git 用户的提交记录--ignore-author <regex>:排除匹配特定正则表达式的作者(例如:排除 bot 或 jenkins)--ignore-msg <regex>:排除 Commit Message 中包含特定关键词的提交(例如:排除 merge 或 lint)# ===== 单仓库分析(智能模式) =====
code996 # 分析当前仓库(最近一年)
code996 /path/to/repo # 分析指定仓库
code996 -y 2025 # 分析2025年
code996 -y 2023-2025 # 分析2023-2025年
code996 --all-time # 查询整个仓库历史
code996 --self # 只分析当前用户的提交
code996 --self -y 2025 # 分析自己在2025年的提交
# ===== 多仓库分析(智能自动检测) =====
code996 # 如果子目录有多个仓库,自动进入多仓库模式
code996 /path/proj1 /path/proj2 # 传入多个路径,自动分析多个仓库
code996 /workspace # 扫描指定目录的所有子仓库
code996 /workspace -y 2025 # 分析2025年的数据和趋势
code996 --self # 只统计当前用户在所有仓库中的提交
# 精细分析(半小时粒度)
code996 --half-hour # 以半小时粒度展示时间分布
code996 -y 2025 --half-hour # 结合年份分析,精细展示
code996 /proj1 /proj2 --half-hour # 多仓库分析,半小时粒度展示
# 跨时区项目分析
code996 --timezone="+0800" # 只分析东八区(中国)的提交
code996 --timezone="-0700" # 只分析西七区(美国西海岸)的提交
code996 -y 2025 --timezone="+0800" # 分析2025年特定时区的提交
# 中国节假日调休分析
code996 # 系统自动检测主要时区为 +0800 时,会自动启用节假日调休
code996 --cn # 手动强制开启节假日调休模式(适用于非 +0800 时区项目)
code996 --timezone="-0700" --cn # 分析非中国时区项目,但需要按中国节假日调休判断
# 过滤噪音数据(排除 CI/CD 机器人、合并提交等)
code996 --ignore-author "bot" # 排除所有包含 "bot" 的作者
code996 --ignore-author "bot|jenkins|github-actions" # 排除多个作者(使用 | 分隔)
code996 --ignore-msg "^Merge" # 排除所有以 "Merge" 开头的提交消息
code996 --ignore-msg "merge|lint|format" # 排除多个关键词
code996 -y 2025 --ignore-author "renovate|dependabot" --ignore-msg "^Merge" # 综合过滤
常见排除场景:
# 排除所有 CI/CD 机器人
--ignore-author "bot|jenkins|github-actions|gitlab-ci|circleci|travis"
# 排除依赖更新机器人
--ignore-author "renovate|dependabot|greenkeeper"
# 排除合并和格式化提交
--ignore-msg "^Merge|^merge|lint|format|prettier"
# 排除自动生成的提交
--ignore-msg "^chore|^build|^ci|auto"
Git 仓库 → git log 采集 → 日级首提 + 小时分布 → 分位数推算上/下班 → 996 指数计算 → 结果输出
--cn 参数手动开启以下是一些常见问题,如果你有其他问题,欢迎随时提出issue。
并非如此。code996 的核心价值在于打破信息差,用真实数据对抗口头画饼。
影响会有,但 code996 依赖的是统计学规律,只要 commit 样本达到一定数量,最终呈现的是团队整体的集体工作模式,特殊提交习惯在统计学上会被视为“噪声”被过滤掉。
虽然技术上可以实现,但我们刻意放弃了这个功能:
按用户查看 996 指数,这个功能太容易被异化和滥用了,它很容易被一些人拿去分析团队成员的“加班情况”。
虽然我前面已经不止一次强调了工具的局限性(实际工作还包括开会、学习、维护文档、调试自测等等),但你就是拦不住有些人只看数字🤦
这个项目的初衷是用来避坑项目的,而不是给内卷提供新的弹药。因此,项目只提供看团队和看自己(--self)两种视角。
最后,代码提交量和时间点不等于工作产出。如果将其用于绩效考核,不仅会导致团队为了刷数据而产生大量垃圾提交,更会破坏团队的信任。
接下来的功能都会沿着 WLB 和工作避坑的路线来开发,包括:更精细的加班比例分析、以及分析代码的屎山指数(复杂度分析),毕竟维护屎山也是导致 996 的罪魁祸首之一。
🤖 AI 协作伙伴注意:本项目采用标准化的 AI 协作流程,详情请查看 .docs/README.md 中的协作规范。
MIT License
FAQs
统计 Git commit 的时间分布,进而推导出项目的编码工作强度
The npm package code996 receives a total of 4 weekly downloads. As such, code996 popularity was classified as not popular.
We found that code996 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.

Security News
Fixes for eMudhra and Brotli are out. Getting them everywhere they’re needed means tracking down bundled libraries, runtimes, and certificate stores.

Threat Research
/Security News
Socket uncovered secret-stealing workflows that ran in LiteLLM’s GitHub repository 11 days before the supply chain attack on PyPI and Docker.