用途:校验当前 Git 分支是否遵循预期的功能分支命名规范,并在合规时检查对应的规格目录是否存在。
主要能力:先通过 git rev-parse --is-inside-work-tree 2>/dev/null 判断 Git 是否可用;不可用时输出警告并跳过校验。随后用 git rev-parse --abbrev-ref HEAD 获取当前分支名,要求匹配以下两种模式之一:顺序编号 ^[0-9]{3,}-(如 001-feature-name、042-fix-bug、1000-big-feature);时间戳 ^[0-9]{8}-[0-9]{6}-(如 20260319-143022-feature-name)。
执行结果:若在功能分支上,输出 ✓ On feature branch: <branch-name>,并按前缀在 specs/ 下查找 specs/<prefix>-*:顺序分支匹配数字部分,时间戳分支匹配 YYYYMMDD-HHMMSS 部分。找到则输出 ✓ Spec directory found: <path>,未找到则输出 ⚠ No spec directory found for prefix <prefix>。若不在功能分支上,输出 ✗ Not on a feature branch. Current branch: <branch-name>,并提示命名示例 001-feature-name 或 20260319-143022-feature-name。
降级处理:Git 未安装或当前目录不是 Git 仓库时,回退检查 SPECIFY_FEATURE 环境变量;若已设置则按命名模式校验该值,未设置则输出警告并跳过校验。
限制:仅做命名与目录存在性校验,不创建分支或规格目录;具体安装与调用方式资料未提供。