mirror of
https://github.com/glittercowboy/get-shit-done
synced 2026-05-05 06:42:14 +02:00
* fix(#2767): pass paths via --files to gsd-sdk query commit + lint guard Workflows, agents, commands, and references passed file paths positionally to `gsd-sdk query commit`, which silently appended them to the commit subject and triggered the `.planning/` wholesale-stage fallback in sdk/src/query/commit.ts:136. Regression of #733/#798. Inserted `--files` before the path list at every site (81 invocations across 50 files). Added tests/bug-2767-gsd-sdk-commit-files-flag.test.cjs as a permanent lint that scans every shipped .md file and asserts each `gsd-sdk query commit[-to-subrepo]` invocation either uses `--files` or carries no path arguments. Closes #2767 * test(#2767): replace source-grep with behavioral SDK test The original test walked every shipped .md file and regex-tokenized `gsd-sdk query commit` invocations to assert `--files` was present. CONTRIBUTING.md prohibits this source-grep pattern. Rewrite as behavioral SDK tests against `sdk/dist/cli.js` over a real tmp git project (createTempGitProject helper). Cover both the well-formed (`--files <paths>`) form — clean subject, exactly-staged files, .planning/ left untouched — and the buggy positional form, asserting the documented misbehavior (paths leak into subject + the `.planning/` wholesale-stage fallback at commit.ts:136). Also asserts `commit-to-subrepo` rejects when `--files` is omitted (commit.ts:258). The doc-lint is retained as a supplementary defense-in-depth guard since agent-prompt markdown invocations cannot be exercised end-to-end — but it is no longer the primary contract. * docs(#2767): correct contradictory --files guidance in zh-CN/en docs + fix test docstring
1.5 KiB
1.5 KiB
Git 规划提交
通过 gsd-sdk query commit 提交规划工件,它会自动检查 commit_docs 配置和 gitignore 状态(与旧版 gsd-tools.cjs commit 行为相同)。
通过 CLI 提交
先传提交说明,然后用 --files 显式传入文件路径。commit 与 commit-to-subrepo 都应使用 --files 来声明要提交的路径。
对 .planning/ 文件始终使用此方式 —— 它会自动处理 commit_docs 与 gitignore 检查:
gsd-sdk query commit "docs({scope}): {description}" --files .planning/STATE.md .planning/ROADMAP.md
如果 commit_docs 为 false 或 .planning/ 被 gitignore,CLI 会返回 skipped(带原因)。无需手动条件检查。
修改上次提交
将 .planning/ 文件变更合并到上次提交:
gsd-sdk query commit "" --files .planning/codebase/*.md --amend
提交消息模式
| 命令 | 范围 | 示例 |
|---|---|---|
| plan-phase | phase | docs(phase-03): create authentication plans |
| execute-phase | phase | docs(phase-03): complete authentication phase |
| new-milestone | milestone | docs: start milestone v1.1 |
| remove-phase | chore | chore: remove phase 17 (dashboard) |
| insert-phase | phase | docs: insert phase 16.1 (critical fix) |
| add-phase | phase | docs: add phase 07 (settings page) |
何时跳过
- config 中
commit_docs: false .planning/被 gitignore- 无变更可提交(用
git status --porcelain .planning/检查)