用途:codometer 遍历一个目录,解析可识别的文件,统计文件、行、类、函数等语言指标,以及仓库声明的约定,并输出控制台结果、JSON 报告、Markdown 文档或写入已有文件的徽章块。
主要能力:一次只测量一个目录,不感知工作区、任务运行器或项目图;没有 --directory,始终测量进程工作目录。--inputs [globs...] 可将单次运行限定为给定 glob,仅做语言分析。无 --config 时从被测目录向上查找首个配置文件,最近者完全生效;配置文件须为普通对象,导出函数会回退为空配置。.gitignore 在发现阶段生效,不调用 git。
使用方式:--output-json、--output-markdown、--check、--format 各自独立。--check limits 在违规时失败,--check reports 在过期时失败,可组合。--output-json/--output-markdown 裸传时写入配置声明的对应输出,带路径则仅本次运行写入该路径。--format json 打印报告,--format markdown 打印徽章。--output-markdown 在 <!-- codometer:start --> / <!-- codometer:end --> 标记间拼接,无标记则追加,文件不存在则创建。示例:cd packages/widgets && codometer --check limits;npx @codometer/cli --check limits,reports。
适用场景:需要统计代码库规模与约定、生成可提交的报告或徽章、在 CI 中做限制门禁时。
限制:--output-* 与 --check reports 组合会被拒绝;写入与门禁同时进行时仍会先产出全部输出再失败。违规与过期是不同发现,warn 级违规只打印,fail 级退出 1。压缩大小依赖 Node 版本,跨运行时检查可能误报过期。JSON 报告按目标分组,含 value、path、unit、limits 及注释选择器的 instances;failures 记录无法完成的事项,与违规或过期无关。所有会被写入的文件均从测量中排除。