SuperAPI AI 工具集

codeguard-detect

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:识别仓库的语言构成,支持 55 种语言/文件类型,采用扩展名、文件名与项目标记文件三重判断,输出 JSON 供其他工具或技能消费。适用于回答“这是什么语言项目”、为 lint 选路、调整 codeguard.json 映射/排除,或初始化治理。

主要能力:项目根 codeguard.json 可自定义扩展映射(extensions 合并/覆盖内置默认映射)与排除模式(exclude,glob/正则字符串)。无前置依赖,纯 Python 标准库。

使用方式:运行 bin/codeguard detect 检测当前目录,或 bin/codeguard detect path/to/pkg 指定目录;等价命令 python3 scripts/detect_lang.py path/。输出形如 ["java"]、["typescript", "vue"]、["go", "markdown"]。标准流程为先确定根目录(Git 根或指定 monorepo 模块),读取排除规则,执行检测并保存命令、范围、退出码与结构化输出,再用标记文件和主要源文件交叉验证,最后按 stable/planned 路由到对应检查技能。

限制:不做框架级识别(Spring/React 等框架探测在路线图),不做语言版本检测(.nvmrc / pom java.version 解析)。不执行 lint 或修复,需转交 codeguard-check 或 codeguard-fix。检测结果不是构建证据。.h 等扩展名有歧义,需结合构建文件判断;.vue、.astro 等模板文件可能混合语言,不能靠内嵌片段数量猜测主语言;vendor 未排除会污染结果;标记文件可能是残留物;子仓库与 worktree 不应错用外层配置;planned 能力仅能路由到说明,不得输出 PASS。检测应在本地完成,不收集、上传或存储源码和凭据,只读取相对路径、文件名和必要标记文件,报告中对用户目录和内部模块名做必要脱敏。