代码统计与分析Skill code-stats

代码统计与分析工具,使用tokei和difft命令行工具快速分析代码库规模、语言构成和语义化差异对比。适用于开发人员评估项目复杂度、追踪代码变更、优化代码质量。关键词:代码行数统计、语义化差异对比、代码库分析、开发工具、AST对比、项目概览、代码质量评估。

DevOps 0 次安装 2 次浏览 更新于 2/28/2026

name: code-stats description: “使用tokei(按语言快速统计代码行数)和difft(基于AST的语义化差异对比)分析代码库。无需手动统计即可快速获取项目概览。触发条件:代码库规模、统计代码行数、查看语言分布、显示语义化差异、文件对比、代码统计。” compatibility: “需要安装tokei和difft命令行工具。安装方法:brew install tokei difft(macOS)或cargo install tokei difftastic(跨平台)。” allowed-tools: “Bash”

代码统计

快速分析代码库规模、构成及变更。

tokei - 代码行数统计

# 统计所有代码
tokei

# 紧凑输出并按代码行数排序
tokei --compact --sort code

# 指定语言
tokei --type=TypeScript,JavaScript

# 排除目录
tokei --exclude node_modules --exclude dist

# JSON输出用于脚本处理
tokei --output json | jq '.Total.code'

示例输出

===============================================================================
 语言               文件数         总行数         代码行       注释行        空行
===============================================================================
 TypeScript             45        12847         9823         1456         1568
 JavaScript             12         2341         1876          234          231
-------------------------------------------------------------------------------
 总计                  57        15188        11699         1690         1799
===============================================================================

difft - 语义化差异对比

# 对比文件
difft old.ts new.ts

# 行内模式
difft --display=inline old.ts new.ts

# 与Git集成
GIT_EXTERNAL_DIFF=difft git diff
GIT_EXTERNAL_DIFF=difft git show HEAD~1

为何选择语义化对比?

传统差异对比 difft
逐行对比 基于AST理解
移动代码显示为删除+新增 识别代码移动
对空格敏感 忽略格式变化

快速参考

任务 命令
统计所有代码 tokei
紧凑输出 tokei --compact
按代码行排序 tokei --sort code
仅TypeScript tokei -t TypeScript
JSON输出 tokei --output json
排除目录 tokei --exclude node_modules
语义化差异对比 difft file1 file2
Git差异对比 GIT_EXTERNAL_DIFF=difft git diff

使用场景

  • 快速获取代码库概览
  • 语义化对比代码变更
  • 理解项目构成
  • 评估重构影响
  • 追踪代码库增长

扩展资源

如需详细模式,请加载:

  • ./references/tokei-advanced.md - 过滤、输出格式、CI集成
  • ./references/difft-advanced.md - 显示模式、Git集成、语言支持