| name | yy-commit-directly |
| description | 直接提交当前工作区的改动(支持指定范围)。当用户点名调用本技能,或明确要求无需确认、直接提交、自动提交时触发。 不适用于:只生成提交信息、只查看 Git 状态、只暂存文件、执行 push/pull/merge 等非提交操作、修改代码或实现功能。
|
yy-commit-directly
描述
本技能在 yy-commit 基础上跳过提交前确认,直接暂存并提交当前工作区的所有可提交改动。未特别说明的逻辑均复用 yy-commit。
使用场景
- 用户说"无需确认直接提交所有改动"
- 用户说"直接 commit 所有改动"
- 用户说"自动提交当前全部变更"
- 用户点名调用
yy-commit-directly
- 用户明确要求提交且同时表达"不需要确认"
不应触发:
- 用户只想生成提交信息但不提交
- 用户只想查看 Git 状态或历史
- 用户只想暂存文件或执行
git add
- 用户要求执行 git push、pull、merge 等其他操作
- 用户要求修改代码或实现功能
指令
步骤 1. 确认直接提交前提
用户点名调用本技能时,视为已经表达"提交当前工作区所有可提交改动,并跳过提交前确认"的授权,不再要求用户重复说明。
决策分支:
- 用户点名调用本技能:视为同时具备提交意图和免确认授权,继续执行后续步骤
- 用户未点名调用本技能,但明确要求无需确认、直接提交或自动提交:继续执行后续步骤
步骤 2. 执行 yy-commit 流程(免确认模式)
复用 yy-commit 的完整提交流程,并应用以下覆盖规则:
暂存范围覆盖:用户指定文件/目录时,仅暂存指定路径;未指定时,默认暂存所有可提交改动。
原子性判断覆盖:跳过 yy-commit 的原子性判断和分组逻辑,直接将所有改动作为一次提交。
确认步骤覆盖:执行到 yy-commit 的展示并确认步骤时,使用默认选项直接执行,跳过交互确认。但仍展示暂存文件列表、关键变更摘要和提交信息,供用户事后核验。
阻塞步骤保留:yy-commit 中的阻塞步骤(如新增敏感文件)保持阻塞,不自动跳过。阻塞时停止流程并说明原因,等待用户处理。
步骤 3. 输出结果
提交完成后,输出以下内容:
- 提交的文件列表
- 提交信息
- 提交哈希值
- 若提交未执行,说明阻塞原因和建议处理方式
安全边界
复用 yy-commit 的安全边界,并叠加以下覆盖:
- 阻塞步骤保持阻塞,不自动跳过(覆盖
yy-commit 的确认步骤,但保留阻塞步骤)
- 禁止在未点名调用本技能且无提交意图或无免确认意图时按本技能执行
- 禁止添加
Co-Authored-By: 等署名备注(与 yy-commit 保持一致)