SuperAPI AI 工具集

drupal-code-provenance

智能体与模型

查看项目

更新于 10-15 22:39

技能介绍

用途:在 Drupal 项目中衡量有多少运行代码是自行(或由智能体)编写的,多少来自社区(Drupal 核心与 contrib 模块、主题、安装配置档)。服务端 PHP 涉及访问控制、查询和表单处理,风险更集中,因此单独统计自定义 PHP 占比。

主要能力:脚本按路径区分自定义与社区代码。自定义为 modules/custom、themes/custom、profiles/custom;社区为 core/ 以及 modules/、themes/、profiles/ 下其余内容(包括直接放在 modules/ 下而非 contrib/ 子目录的贡献模块)。服务端 PHP 扩展名含 .php、.module、.inc、.install、.theme、.profile、.engine;前端单独统计,含 .js、.jsx、.ts、.tsx、.mjs、.cjs、.vue、.css、.scss、.sass、.less、.twig。注意 .theme 属于服务端 PHP,不算前端。

使用方式:在技能目录中针对项目根运行 ./count-code.sh /path/to/drupal-project,无参数则使用当前目录。脚本自动查找 core/ 识别 docroot(web/、docroot/ 或根目录),仅需 bash、find、awk,无外部依赖。输出为各语言自定义与社区 SLOC 对照表,以及“你编写的危险代码(服务端 PHP)”和“你编写的前端代码”两个比例。

统计方法:SLOC 跳过空行和纯注释行;注释语法按语言处理,PHP 与 JS 用 // 和 /* /,CSS 只用 / */,Twig 用 {# #};# 不视为 PHP 行注释,因此 PHP 8 属性(如 #[Route(...)])算代码,CSS id 选择器也不会被误判。该计数为启发式,非解析器,字符串中的注释符号可能截断该行,但影响可忽略。

限制:不统计 vendor/ 下的 Composer 依赖;两者路径虽都可运行,但建议给项目根让脚本自行定位;未找到 core/ 时社区代码显示为 0,说明路径不是 Drupal docroot 或未执行 composer install。结果只给数值,不对数值好坏做评价,除非用户询问。

其他事实(如收费、平台、更多使用步骤)官方资料暂未提供。