标志清理

flag-cleanup
分类通用
作者Alireza Rezvani
许可MIT
评分4.50/5
使用7.6K

/flag-cleanup

运行完整的特性标志清理工作流:

1. 扫描过期标志(超过 90 天且使用次数 ≤ 2 处)
2. 为每个候选标志识别引入它的 PR/issue 及当前负责人
3. 按负责人分组生成移除计划
4. 对照 flag-doc 注册表运行 kill-switch 审计
5. 输出一份可与团队共享的 Markdown 报告

用法

code
/flag-cleanup
/flag-cleanup --max-age-days 60
/flag-cleanup --flag-doc runbooks/flags.md

实现

该命令将调度至 feature-flags-architect 技能:

bash
SKILL=engineering/feature-flags-architect/skills/feature-flags-architect

步骤 1:扫描技术债

python "$SKILL/scripts/flag_debt_scanner.py" --repo . --max-age-days "${MAX_AGE_DAYS:-90}" --format json > .flag-debt.json

步骤 2:审计 kill switches

python "$SKILL/scripts/kill_switch_audit.py" --repo . --flag-doc "${FLAG_DOC:-docs/feature-flags.md}" --format json > .kill-switch-audit.json

步骤 3:综合生成 Markdown 报告

(Claude 读取两个 JSON 文件,按负责人分组,起草清理计划)

输出

一份包含以下内容的 Markdown 报告:

  • 过期标志候选名单:按负责人分组,附带引入该标志的 commit 链接
  • 未记录标志:未通过 kill-switch 审计的标志
  • 文档不完整:每个标志缺失的字段
  • 建议的移除 PR:每位负责人对应一个 PR

前置条件

  • 在已提交源代码的 git 仓库中运行
  • 存在 flag-doc 注册表(默认:docs/feature-flags.md
  • 已安装 feature-flags-architect 技能

后置条件

  • .flag-debt.json.kill-switch-audit.json 写入仓库根目录(通过 .gitignore 忽略)
  • Markdown 报告流式输出至终端
  • 打印建议的下一步操作(应优先启动哪个移除 PR)