claude-howto /commit 斜杠命令解析:用动态 Git 上下文自动生成 Conventional Commits 提交

发布时间:2026/9/10 4:06:23

claude-howto /commit 斜杠命令解析:用动态 Git 上下文自动生成 Conventional Commits 提交 claude-howto /commit 斜杠命令解析用动态 Git 上下文自动生成 Conventional Commits 提交【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto本文以 claude-howto 仓库中的/commit斜杠命令为对象完整拆解一个自动注入实时仓库状态、再生成规范提交的自定义命令frontmatter 中的精确权限白名单、!command动态上下文注入机制、$ARGUMENTS参数回退策略以及 Conventional Commits 类型约定。读完之后你可以在自己的项目中独立编写并安装一个同类的上下文感知 git 提交命令并理解 Claude Code 自定义命令从解析到执行的完整链路。/commit 命令的完整定义文件在 claude-howto 仓库中该命令被定义为一个独立的 Markdown 文件位于 uk/01-slash-commands/commit.md乌克兰语本地化版本页脚标注最后更新于 2026 年 4 月 9 日对应的英文原版位于 01-slash-commands/commit.md两者结构完全一致。uk 版文件全文如下指令正文为乌克兰语字段说明见下文各节--- allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git diff:*) argument-hint: [message] description: Створити git-коміт з контекстом --- ## Контекст - Поточний статус git: !git status - Поточний git diff: !git diff HEAD - Поточна гілка: !git branch --show-current - Останні коміти: !git log --oneline -10 ## Ваше завдання На основі наведених вище змін створіть один git-коміт. Якщо повідомлення було передано через аргументи, використовуйте його: $ARGUMENTS Інакше проаналізуйте зміни та створіть відповідне повідомлення коміту відповідно до формату conventional commits: - feat: для нових функцій - fix: для виправлення помилок - docs: для змін документації - refactor: для рефакторингу коду - test: для додавання тестів - chore: для задач обслуговування对应翻译成中文指令语义为## 上下文一节采集四条 git 状态信息## 你的任务一节要求基于上述变更创建一个git 提交若通过参数传入了提交信息$ARGUMENTS则直接使用否则按 Conventional Commits 格式分析变更并生成提交信息。frontmatter元数据与权限白名单命令文件的 YAML frontmatter 声明了三个字段字段本文件中的取值作用allowed-toolsBash(git add:*),Bash(git status:*),Bash(git commit:*),Bash(git diff:*)声明该命令可无需逐次权限询问使用的工具argument-hint[message]命令行自动补全时显示的参数提示descriptionСтворити git-коміт з контекстом创建带上下文的 git 提交帮助 Claude 理解该命令的用途与触发场景这些字段的语义在 uk/01-slash-commands/README.md 的Довідник фронтматеруFrontmatter Reference表中有统一定义allowed-tools控制命令无需权限即可使用的工具默认继承会话级配置argument-hint提供自动补全提示description让 Claude 知道何时使用该命令。有两个值得注意的设计细节没有显式name字段。README 的 frontmatter 表说明name默认取目录名skills 方式或文件名legacy 命令方式。该文件名为commit.md安装目标目录为commit两种方式下命令名都会自然解析为/commit。最小权限白名单。allowed-tools把 git 能力精确切分为add/status/commit/diff四个子命令且刻意不包含git push。从该文件的权限清单可以推断其设计意图是让这条命令只完成本地暂存 提交推送这类远程副作用留给同系列中显式声明了Bash(git push:*)的 /push-all 命令。!command机制动态上下文注入## Контекст上下文一节是这条命令的技术核心包含四条动态上下文动态上下文Shell 命令注入后为模型提供的信息当前 git 状态!git status已修改、已暂存、未跟踪文件的集合当前变更内容!git diff HEAD相对 HEAD 的具体差异内容当前分支!git branch --show-current正在工作的分支名最近提交!git log --oneline -10最近 10 条提交供模型参照项目既有提交风格!command语法的规则定义在 uk/01-slash-commands/README.md 的Dynamic Context with Shell Commands一节使用!command可在提示词发送前执行 bash 命令并把其输出内联进提示词。也就是说调用/commit的那一刻这四条 git 命令的真实输出会先被替换进模板对应位置整个提示词才发送给模型——命令明确依赖命令执行时的实时状态而不是模型对工作区的猜测。README 的Best Practices表格也给出了这一正反对照用!前缀获取动态上下文而不是assume Claude knows current state假设 Claude 知道当前状态。一条自定义命令从输入到响应的完整生命周期摘自该 README 的 Command Lifecycle 时序图以/commit为例即先按位置查找命令文件再解析 frontmatter然后执行所有!command替换、替换$ARGUMENTS最后才把组装好的提示词交给模型处理。这也解释了为什么动态上下文必须写在命令文件里——它发生在提示词组装阶段先于模型的任何工具调用。任务定义用户参数优先Conventional Commits 兜底## Ваше завдання你的任务一节定义了清晰的三级策略单次提交约束第一条指令要求基于上述变更创建一个git 提交create a single git commit即无论变更跨多少个文件都收敛为一次提交避免模型拆散提交历史。用户参数优先若调用时通过参数传入了消息则直接使用$ARGUMENTS的内容作为提交信息跳过自动生成。规范格式兜底未提供参数时分析注入的动态上下文中的变更按文件声明的六种 Conventional Commits 类型生成提交信息前缀适用场景feat:新功能fix:缺陷修复docs:文档变更refactor:代码重构test:新增测试chore:维护类任务两种典型用法/commit # 不传参数由命令自动生成规范消息 /commit fix: handle null response # 传入完整消息作为 $ARGUMENTS 直接采用frontmatter 中的argument-hint: [message]与之配套用户输入/commit时自动补全会显示[message]占位提示告知可传入一个可选消息参数。$ARGUMENTS的替换机制同样定义在 README 的 Arguments 一节命令可通过$ARGUMENTS接收完整参数字符串或通过$0、$1等接收单个参数。/commit选择整串占位符正契合一条完整提交消息的场景。作为对比同目录的 /push-all 使用了更完整的十类型 Conventional Commits 集合在六种之外补充style、perf、build、ci说明类型范围是可按项目习惯自行裁剪的。安装技能与旧版命令两种位置自定义斜杠命令已并入 skills 体系。按 uk/01-slash-commands/README.md 的Custom Commands (Now Skills)一节同一个命令文件有两种安装位置方式位置状态技能推荐.claude/skills/name/SKILL.md当前标准旧版命令Legacy.claude/commands/name.md仍然可用当技能与命令同名时技能优先例如.claude/commands/commit.md与.claude/skills/commit/SKILL.md同时存在时使用技能版本。在自己的项目中的安装方式以仓库英文原版为例uk 版同理# 方式一作为技能安装推荐 mkdir -p .claude/skills/commit cp 01-slash-commands/commit.md .claude/skills/commit/SKILL.md # 方式二作为 legacy 命令安装 mkdir -p .claude/commands cp 01-slash-commands/commit.md .claude/commands/commit.mdREADME 的官方安装示例是用 for 循环批量安装optimize、pr、commit三条命令上面对应的就是其中commit的等价步骤。安装完成后在 Claude Code 会话中输入/即可在命令列表中看到/commit。实践要点与故障排查从这条命令中可以提炼的编写范式上下文与任务分离文件只分两节——## Контекст负责通过!command采集实时数据## Ваше завдання负责定义行为规范职责分明便于维护与本地化最小权限allowed-tools按 git 子命令逐一声明且不含push把远程副作用排除在命令能力之外参照既有惯例git log --oneline -10让模型看到项目现有提交风格生成的消息更贴合团队习惯——/push-all 同样通过读取最近提交来对齐消息风格。故障排查摘自 README 的 Troubleshooting 一节命令未找到确认文件位于.claude/skills/name/SKILL.md或.claude/commands/name.md核对 frontmatter 的name字段本文件省略该字段时以目录名/文件名为准重启 Claude Code 会话运行/help查看当前可用命令列表。命令行为不符合预期在命令文件中补充更具体的指令与示例如果命令需要执行 git 操作检查allowed-tools是否覆盖了所需子命令先用简单输入验证基础链路。同目录相关命令可组合成完整的 git 工作流/pr创建 Pull Request 前的检查清单包括 lint、测试、git diff HEAD审查、conventional 提交与 PR 描述生成/push-all暂存全部变更、提交并推送内置密钥/API 键/大文件/构建产物四类安全检查且要求显式输入yes才继续。/commit承担其中本地、单次、不推送的一环三者组合即可覆盖从本地提交到远程 PR 的常见流程。【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 4:06:23

治好验证码PTSD:一套稳定系统带来的情绪价值

治好验证码PTSD:一套稳定系统带来的情绪价值 最后聊点非技术的:验证码带来的情绪损伤,是被严重低估的成本。 症状自查:看到滑块图片就叹气;睡觉前想的第一件事是「挂机会不会卡验证」;早上一睁眼先摸手机…

2026/9/10 4:06:23

DNASTAR Lasergene 完整安装指南:从下载到激活的详细步骤

简介:DNASTAR是生物信息学领域广泛使用的专业分析软件套装,这份zip压缩包提供其完整安装程序,面向生物学家、遗传学家及分子生物学研究人员,可一站式解决DNA序列比对、基因组组装、蛋白质结构预测、变异检测及引物设计等核心需求。…

2026/9/10 4:01:23

STM32CubeMX初始化工程完全指南:从时钟树到定时器编码器模式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 6:11:35

嵌入式硬件从原理图到PCB制造的7个静默失效点

1. 这不是“画图流程”,而是一条硬件落地的生死线 你手头那张标着“STM32F103C8T6最小系统”的原理图,真能直接送去嘉立创打板?我见过太多人把原理图导出Gerber后信心满满点下“提交订单”,三天后收到板子,焊上芯片一通…

2026/9/10 6:11:35

ARM汇编性能优化:从optimized-routines看底层计算基元设计

1. 为什么一个“optimized-routines”库值得花三天做静态审计? 在ARM生态里,我们常把“性能优化”挂在嘴边,但多数人只停留在调用 -O3 、换用 armclang 或改几个内联汇编的层面。真正决定系统级吞吐量与能效比的,往往不是顶层…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码