用途:在 JFrog 平台接入新项目前,检测现有项目与仓库的命名模式,避免新仓库命名与既有约定冲突。
主要能力:通过 jf api(或 curl 回退)查询 /access/api/v1/projects 与 /artifactory/api/repositories?project=,按分隔符、组件顺序、虚拟仓库后缀三个特征分析仓库名,识别项目键、生态、类型等 token,统计出现频率并给出高/中/低置信度,最终返回 naming_pattern 对象(含 separator、virtual_suffix、type_map、eco_map)。
使用方式:需提供 JFROG_URL、JFROG_ACCESS_TOKEN、new_project_key、new_ecosystems,可选 state_project_key(默认 system)。优先使用 jf api,先执行 jf config 并确认平台;curl 仅作回退。查询项目与仓库需 full_network 权限,循环间加 sleep 1 避免限流。检测后用 AskQuestion 让用户在“沿用现有模式”与“标准模式”间选择;若检测结果与标准模式一致则不再询问。
适用场景:JFrog 平台项目接入、批量创建仓库前的命名对齐。
限制:若平台无现有项目或找不到仓库,跳过检测直接使用标准模式;项目 API 失败时记录警告并回退标准模式,不中断接入;仓库 API 失败则跳过该项目;低置信度时需提示现有仓库命名混杂。检测为尽力而为,不得阻塞接入流程。具体收费与平台支持范围暂未提供。