SuperAPI AI 工具集

one-way-door

编程与开发

查看项目

更新于 10-15 22:40

技能介绍

用途:在 Claude Code 中识别并拦截“单向门”决策——一旦被流量、用户或其他代码依赖就难以回退的架构选择,避免过快做出不可逆决定。

主要能力:按文件名模式标记多类文件,包括数据模型与数据库 schema(schema.prisma、schema.graphql、.sql、migration、models.py/ts、entities.py/ts)、基础设施与部署配置(docker-compose*、Dockerfile、.tf、terraform、pulumi*、cdk*、cloudformation*、k8s*、kubernetes*、helm*)、认证授权(auth.{ts,js,py}、firestore.rules、storage.rules、.rules、security.、rbac.、permissions.)、API 契约(openapi*、swagger*、.proto、.graphql、api-schema*、routes.ts/js/py)、事件系统(events.ts、eventbus.ts、eventemitter.py、eventhandler.py、pubsub*、queue*、kafka*、rabbit*)、CI/CD(.github/、.gitlab/、.circleci/、Jenkinsfile、.travis.yml、cloudbuild*)、依赖配置(package.json、Cargo.toml、go.mod、requirements.txt、pyproject.toml、Gemfile)及 Firebase 配置。对每类给出应自问的问题,如关系映射、版本策略、回滚流程等。

使用方式:两种实现。其一是在项目 CLAUDE.md 加入“One-way door check”规则,靠判断在提交前暂停讨论。其二是自动化钩子:one-way-door-check.sh 挂在 PreToolUse:Write,首次写入单向门文件时阻止并以退出码 2 提示必须先用 AskUserQuestion 讨论;one-way-door-approve.sh 挂在 PostToolUse:AskUserQuestion,用户回答后把待批准文件提升为已批准,重试写入即通过。两者共享会话级批准账本,避免同一文件反复被拦。需在 Claude Code 的 settings.json 中配置两个钩子。

适用场景:涉及数据库 schema、服务通信、认证与租户模型、基础设施等架构决策的写入前审查。

限制:仅按文件名与路径模式匹配,可能漏判或误判;测试文件、fixtures/mocks 目录、Markdown 及 plans/docs/notes 下的 txt/rst 走安全白名单直接放行;批准账本按会话生效,未尝试写入的单向门文件仍会在首次被拦;钩子依赖 shell 与 grep -P,需自行放置脚本路径。具体安装与运行细节以资料为准。