首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >高效CLI应用质量检测工具

高效CLI应用质量检测工具

原创
作者头像
qife122
发布2025-10-29 06:20:23
发布2025-10-29 06:20:23
1040
举报

CLI应用质量检测工具

项目描述

这是一个专门用于检测Awesome CLI应用列表中项目状态的自动化脚本工具。项目旨在维护CLI应用列表的质量,通过自动化检测已归档的GitHub仓库和失效链接,确保列表中所有应用都处于活跃和可用状态。

功能特性

  • GitHub仓库归档检测:自动检查列表中所有GitHub仓库是否已被所有者归档
  • 链接有效性验证:使用deadlink工具检测非GitHub链接是否仍然有效
  • 并行处理优化:支持多进程并行检测,默认使用6个并行进程提高检测效率
  • 结果输出:将已弃用的仓库信息自动保存到指定输出文件中
  • 用户友好:提供详细的帮助信息和使用说明

安装指南

系统要求

  • Bash shell环境
  • curl命令行工具
  • deadlink链接检测工具

依赖安装

代码语言:bash
复制
# 安装deadlink工具(需要先安装Rust)
cargo install deadlink

获取脚本

代码语言:bash
复制
# 直接使用提供的bash脚本文件
chmod +x check-for-deprecation.sh

使用说明

基本使用

代码语言:bash
复制
# 运行完整的检测流程
./check-for-deprecation.sh

获取帮助

代码语言:bash
复制
# 查看使用说明和参数信息
./check-for-deprecation.sh --help
./check-for-deprecation.sh -h
./check-for-deprecation.sh help

输出结果

检测结果将自动保存到 deprecated.txt 文件中,同时会在终端显示实时检测进度。

核心代码

主检测函数

代码语言:bash
复制
#!/bin/bash

J=6
OUT_FILE=deprecated.txt

if [ "$1" = "--help" ] || [ "$1" = "-h" ] || [ "$1" = "help" ]; then
  cat <<EOF
$ check-for-deprecation.sh

Running $J processes in parallel.

Found deprecated repos are written to: $OUT_FILE
EOF
  exit
fi

该代码段处理命令行参数,提供用户帮助信息,并设置并行进程数和输出文件配置。

GitHub仓库归档检测

代码语言:bash
复制
check_if_archived_on_github() {


  check_deprecation() {
    REPO="$1"
    if nice curl -SsL "$REPO" | grep "This repository has been archived by the owner on" >/dev/null; then
      echo "DEPRECATED $REPO" | tee -a $OUT_FILE
    else
      echo "CHECKED $REPO"
    fi
  }

  for app in $(echo $APPS); do
    ((i=i%J)); ((i++==0)) && wait
    check_deprecation "$app" &
  done
}

链接有效性检测

代码语言:bash
复制
check_if_link_is_dead() {
  command -v deadlink >/dev/null || { echo "deadlink is not installed" 1>&2; exit 127; }

  tmp=$(mktemp)

  deadlink check $tmp
}

该函数检查deadlink工具是否已安装,提取所有非GitHub链接,并使用deadlink进行有效性验证。

主执行流程

代码语言:bash
复制
check_if_archived_on_github
check_if_link_is_dead

这是脚本的主要执行逻辑,依次调用GitHub仓库检测和链接有效性检测功能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CLI应用质量检测工具
    • 项目描述
    • 功能特性
    • 安装指南
      • 系统要求
      • 依赖安装
      • 获取脚本
    • 使用说明
      • 基本使用
      • 获取帮助
      • 输出结果
    • 核心代码
      • 主检测函数
      • GitHub仓库归档检测
      • 链接有效性检测
      • 主执行流程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档