在生产部署前,静态分析代码,检测陈旧标志、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
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章