用途:在新增、退役或审计特性开关时提供端到端规范,把开关视为“请求→设计→上线→放量→清理→归档”的生命周期,而非一次性的 if 语句。适用触发场景包括“add a flag”“ship behind a flag”“rollout plan”“kill switch”“stale flags”等。
主要能力:
- 分类taxonomy:Release、Experiment、Operational、Permission 四类,各有寿命与责任人;仅 Release 和 Experiment 应进入债务扫描清单。
- 三个仅标准库的 Python 工具:
- flag_debt_scanner.py 扫描仓库中超过 --max-age-days 的低使用开关,形如 python scripts/flag_debt_scanner.py --repo . --max-age-days 90 --format text,支持 json 便于 CI。
- rollout_planner.py 按人群、目标百分比、时长与策略生成分阶段发布表,示例:python scripts/rollout_planner.py --population 100000 --target-percent 100 --duration-days 14 --strategy ring;策略有 ring、linear、log、cohort。
- kill_switch_audit.py 交叉核对代码发现的开关与文档,示例:python scripts/kill_switch_audit.py --repo . --flag-doc docs/feature-flags.md,在合并前作为门禁。
- 提供商选型对比:LaunchDarkly、GrowthBook、Statsig、Unleash、Flipt 与自建(DIY)的适用场景、定价模式、锁定风险与是否开源。
- 提供 /flag-cleanup 斜杠命令、flag_request_template.md 等资产模板,以及四类工作流(新功能上线、季度清理、选型、设计 kill switch)。
使用方式:先分类开关类型,用 rollout_planner 规划放量,在建代码前把名称、责任人、类型、kill-switch 触发条件与看板写入文档,合并前必须通过 kill_switch_audit,从 0% 发布并验证 kill switch 生效。
限制:所有资料未提供具体价格、实际效果指标或安装命令之外的运行环境要求;使用前需具备 git 历史与项目文档结构。