Skip to main content

campaign-commit

Choose the correct commit command in a camp, also called a campaign. Use when you are about to commit and need to select `camp commit`, `camp p commit`, `fest commit`, or intentional root pointer sync via `camp refs-sync`.

来源信息

仓库
Obedience-Corp/festival
最近来源活动
2026年9月1日 01:21
检测到的 SKILL.md 语言
英语
星标
59
分支
6

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
campaign-commit
description
Choose the correct commit command in a camp, also called a campaign. Use when you are about to commit and need to select `camp commit`, `camp p commit`, `fest commit`, or intentional root pointer sync via `camp refs-sync`.
version
1.3.1
author
Obedience Corp
license
Apache-2.0
metadata
{"hermes":{"tags":["camp","commit","git","traceability"],"category":"camp"}}
# Camp Commit Decision A camp was previously called a campaign; this skill applies whichever word the user uses. ## Decision - Project change (submodule, linked project, or worktree): `camp p commit -m "msg"` - Festival task execution: `fest commit -m "msg"` - Camp root files: `camp commit -m "msg"` (stages all root-level changes; submodule refs excluded by default) - Camp root, scoped to specific paths: `git add <paths>` then `camp commit --all=false -m "msg"` (commits only what is staged) - Intentional root pointer sync: `camp refs-sync [submodule...]` ## Festival Commits Cover the Linked Project When a festival or sequence has a linked project, `fest commit` makes up to two commits even when you run it from inside the festival: - a project commit staging the project's changes, skipped when the project is clean - a camp root commit staging only festival-scoped files, the camp's `.campaign/fest/` state, and the submodule pointer So during festival execution do not run `camp p commit` first and `fest commit` after. One `fest commit` covers both sides. Use `--no-root` to skip the camp root commit. A festival with no linked project makes the single camp root commit only. ## Deferred Commit Queue Camp defers its own bookkeeping commits so they do not hold the terminal. The queue is machine-local and disposable; git is the record. ```bash camp jobs # what is queued, running, or failed camp jobs --json # same, for agents camp jobs retry all # requeue everything that failed camp jobs drop <id> # give up on a failed job, keeping its content camp jobs drop --running <id> # a stalled job, and the worker holding it camp jobs drain # wait for every lane, then exit ``` Dropping a job never discards work: the content stays uncommitted in the working tree for the next ordinary commit. If `camp jobs` reports a job as `stalled`, a commit message writer stopped answering; `--running` is what ends that wait. ## Rules - Never run raw `git commit` anywhere in a camp; staging with `git add` is fine. - Keep submodule commits and root pointer sync as separate, explicit actions. - Do not bypass hooks with `--no-verify` without clear justification. - Do not add agent co-author trailers unless explicitly requested.
在 GitHub 查看