featurelint

Polar Sponsor
爱发电 赞助
.NET 9.0

在生产部署前,静态分析代码,检测陈旧标志、SDK误用、安全风险和架构问题等特征标志卫生问题。

FeatureLint

功能概述

FeatureLint是一项面向实际任务的技能,主要用于Feature Flag 卫生分析器,在达到生产前捕获标本,SDK滥用,安全风险和建筑问题.;Emoji: flag.Homepage: https://featurelint.p。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

FeatureLint

一款功能开关(feature flag)规范性分析器,可在问题进入生产环境前识别陈旧开关、SDK 误用、安全风险及架构缺陷。

Emoji: flag 官网: https://featurelint.pages.dev 产品名: featurelint 主题色: #e84393

功能说明

FeatureLint 对代码库进行静态分析,覆盖六大类功能开关规范性问题:

  • 陈旧开关(SF) — 检测硬编码布尔值、带 TODO 注释的开关、被注释掉的条件分支,以及引用已过期时间的开关
  • 开关复杂度(FC) — 发现嵌套的开关条件、过度分支、开关耦合(entanglement),以及循环中缺失缓存机制
  • 开关安全性(FS) — 当开关控制身份认证、支付流程、加密操作、数据删除或审计日志等关键路径时发出警告
  • SDK 误用(SM) — 捕获缺失默认值、在循环中重复求值、多次初始化 SDK、以及缺少错误处理逻辑等问题
  • 开关生命周期(FL) — 识别未设置清理日期的开关、已被弃用的实验、100% 全量发布的开关,以及缺失负责人标注的情况
  • 开关架构(FA) — 检测跨层误用(如在错误层级执行开关判断)、服务间紧耦合、缺失注册中心,以及服务端状态意外泄露等问题

共支持 90 种检测模式,全部基于 POSIX ERE 正则表达式匹配,并提供严重等级划分与可操作的修复建议。

安装方式

作为 Git Hook(Lefthook)

# lefthook.yml
pre-commit:
  commands:
    featurelint:
      glob: "*.{js,jsx,ts,tsx,py,rb,java,go,rs}"
      run: bash path/to/featurelint/scripts/dispatcher.sh staged --severity error

直接使用 CLI

# 扫描指定目录
bash scripts/dispatcher.sh scan ./src

# 以 JSON 格式输出扫描结果
bash scripts/dispatcher.sh scan --format json --output report.json ./src

# 分析 Git 暂存区中的文件
bash scripts/dispatcher.sh staged

# 单文件分析
bash scripts/dispatcher.sh file ./src/flags.ts

# 运行健康检查
bash scripts/dispatcher.sh health

版本分级体系

版本 检测模式数 覆盖类别 价格
Free(免费版) 30 陈旧开关 + 开关复杂度 $0
Pro(专业版) 60 + 开关安全性 + SDK 误用 $9/月
Team(团队版) 90 + 开关生命周期 + 开关架构 $29/月

通过设置许可证密钥激活对应版本:

export FEATURELINT_LICENSE_KEY="FEATURELINT-XXXX-XXXX-XXXX-XXXX"

命令列表

命令 说明
scan 扫描指定目录,查找功能开关相关问题
file 分析单个文件
staged 分析 Git 暂存区中的文件(适用于 pre-commit hook)
baseline 创建当前检测结果的基线快照
compare 将当前检测结果与基线进行比对
health 运行自诊断健康检查
version 输出版本信息
help 显示使用帮助及可用选项

命令行选项

标志 说明 默认值
-f, --format 输出格式:text、json、csv、markdown text
-o, --output 将报告写入指定文件 (标准输出)
-s, --severity 最低严重等级:error、warning、info、all all
-c, --category 按类别代码过滤(如 SF、FC 等) all
-t, --tier 许可证版本:free、pro、team free
-j, --jobs 并行扫描工作线程数 4
-i, --include 仅包含匹配通配符模式的文件 (全部)
-e, --exclude 排除匹配正则表达式模式的文件 (无)
-C, --context 围绕每个发现项显示上下文行数 2
--scan-hidden 包含隐藏文件和目录 false
--warn-exit 当存在 warning 时返回退出码 1 false
-v, --verbose 提升日志详细程度(-vv 启用 trace 级别) 0
-q, --quiet 抑制非必要输出 false

环境变量

变量名 说明
FEATURELINT_LICENSE_KEY 用于激活版本的许可证密钥
FEATURELINT_TIER 直接覆盖版本选择
FEATURELINT_FORMAT 默认输出格式
FEATURELINT_SEVERITY 默认严重等级过滤器
FEATURELINT_JOBS 默认并行任务数

输出格式

Text(默认格式)

面向人类阅读的终端输出,含颜色标识的严重等级、按文件分组、源码上下文定位,以及可操作的修复建议。

JSON

结构化输出,适用于 CI/CD 集成。包含元数据、汇总计数器,以及由文件路径、行号、严重等级、检测 ID、描述与修复建议组成的 findings 数组。

CSV

兼容电子表格的输出格式,便于跟踪与报表生成。每条发现单独一行,涵盖全部字段。

Markdown

包含摘要表格、分类统计、严重等级分布与发现详情表的报告模板。若存在 report.md.tmpl 文件,则使用该模板生成报告。

支持的语言

JavaScript、TypeScript、Python、Ruby、Java、Kotlin、Scala、Go、Rust、C#、F#、PHP、Swift、Dart、Vue、Svelte、Elixir、Clojure、Lua、R、YAML、JSON、TOML、XML、Terraform/HCL 以及 Shell。

项目结构

featurelint/
  scripts/
    dispatcher.sh    # CLI 入口与参数解析
    analyzer.sh      # 核心分析引擎与输出格式化器
    patterns.sh      # 覆盖六大类别的 90 种检测模式
    license.sh       # 许可证校验与版本权限控制
  config/
    lefthook.yml     # Git hook 配置文件
  templates/
    report.md.tmpl   # Markdown 报告模板
  SKILL.md           # 本文档

使用示例

CI/CD 集成(GitHub Actions)

- name: FeatureLint
  run: |
    bash featurelint/scripts/dispatcher.sh scan 
      --format json 
      --output featurelint-report.json 
      --severity warning 
      ./src

基线工作流

# 创建初始基线
bash scripts/dispatcher.sh baseline ./src

# 修改代码后执行比对
bash scripts/dispatcher.sh compare ./src

Pre-commit Hook(仅阻断 error 级别问题)

bash scripts/dispatcher.sh staged --severity error

系统要求

  • Bash 4.0 或更高版本
  • 标准 POSIX 工具:grep、sed、awk、find、sort、uniq、wc、cut
  • 可选依赖:curl(用于在线许可证校验)、git(用于暂存区分析)

许可证

商业软件。提供含 30 种检测模式的免费版本。 详细定价与条款请参阅:https://featurelint.pages.dev

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习