* fix(#3010): post-install message and docs use /gsd-update --reapply PR #2824 consolidated 86 skills into ~58, removing the standalone /gsd-reapply-patches command and folding it into a flag on /gsd-update (/gsd-update --reapply). The 1.39.1 hotfix (#2954) updated help.md but missed three other surfaces that still recommended the dead form: 1. bin/install.js reportLocalPatches() — runtime emitter shown after every install with backed-up patches. All branches updated: - claude/opencode/kilo/copilot: /gsd-update --reapply - gemini: /gsd:update --reapply - codex: $gsd-update --reapply - cursor: gsd-update --reapply (mention the skill name) 2. get-shit-done/workflows/update.md — Step 4 prose and the check_local_patches block both referenced /gsd-reapply-patches. Replaced with /gsd-update --reapply (with backticks around the command per CR feedback for copy/paste UX). 3. Localized docs (en/ja-JP/ko-KR/zh-CN) — 14 files across ARCHITECTURE.md / COMMANDS.md / FEATURES.md / INVENTORY.md / USER-GUIDE.md / manual-update.md still listed the removed command. Tests: - bug-3010-reapply-patches-references.test.cjs (4 tests): scans bin/install.js's reportLocalPatches body, every workflow file, and every doc (excluding CHANGELOG history and help.md's deprecation notice) for the removed command form, and verifies each runtime branch emits the consolidated form via captured console output. - tests/copilot-install.test.cjs:1081-1115 — stale assertions that hard-coded the removed string updated to assert /gsd-update --reapply. Verification: 115/115 pass across both files. Co-authored-by: Patrick Clery <patrick@patrickclery.com> Closes #3010 * test(#3010): broaden dead-command scan + tighten runtime exact-match CodeRabbit follow-up findings on #3012: 1. Workflow + docs scans only matched "/gsd-reapply-patches", missing the gemini ("/gsd:reapply-patches") and codex ("$gsd-reapply-patches") spellings. A regression that re-introduced either form in localized docs would have passed silently. Extracted a DEAD_COMMAND_PATTERNS array + findDeadCommands() helper used by both scans, so all three removed forms are checked uniformly. Match output also reports which spellings hit, for faster diagnosis. 2. reportLocalPatches runtime test asserted output.includes('update --reapply'), which is too loose — a malformed prefix like '/gsd:update --reapply' on the claude branch would have passed. Replaced with an exact {runtime → expected token} map covering all 7 branches: claude/opencode/kilo/copilot → /gsd-update --reapply gemini → /gsd:update --reapply codex → $gsd-update --reapply cursor → gsd-update --reapply Negative assertion also runs DEAD_COMMAND_PATTERNS against output for every runtime, so dead forms can't slip in regardless of branch. Verification: 4/4 pass on bug-3010-reapply-patches-references.test.cjs. * test(#3010): add prefix-absence guard for cursor runtime (CR follow-up) CodeRabbit (Minor): the cursor expected token "gsd-update --reapply" is a substring of every prefixed form ("/gsd-update --reapply" for claude/ opencode/kilo/copilot, "\$gsd-update --reapply" for codex). The positive output.includes(expectedToken) check therefore can't distinguish correct cursor output from a regression where the installer emits a prefixed form for cursor — both pass the substring check. Add an explicit prefix-absence assertion for cursor that fails if any of /, \$, or : appears immediately before "gsd-update --reapply" in output. The gemini form ("/gsd:update --reapply") doesn't share the substring (gsd:update vs gsd-update) so it's already caught by the positive includes failing on cursor's expected bare token. Verification: 4/4 pass. --------- Co-authored-by: Patrick Clery <patrick@patrickclery.com>
This commit is contained in:
@@ -439,7 +439,7 @@ UI-SPEC.md (per phase) ───────────────────
|
||||
- Antigravity: Googleモデル同等品によるスキルファースト
|
||||
5. **パス正規化** — `~/.claude/` パスをランタイム固有のパスに置換
|
||||
6. **設定統合** — ランタイムの `settings.json` にフックを登録
|
||||
7. **パッチバックアップ** — v1.17以降、ローカルで変更されたファイルを `/gsd-reapply-patches` 用に `gsd-local-patches/` へバックアップ
|
||||
7. **パッチバックアップ** — v1.17以降、ローカルで変更されたファイルを `/gsd-update --reapply` 用に `gsd-local-patches/` へバックアップ
|
||||
8. **マニフェスト追跡** — クリーンアンインストールのために `gsd-file-manifest.json` を書き込み
|
||||
9. **アンインストールモード** — `--uninstall` ですべてのGSDファイル、フック、設定を削除
|
||||
|
||||
|
||||
@@ -794,12 +794,12 @@ Claude Codeのセッション分析から8つの次元(コミュニケーシ
|
||||
/gsd-update # アップデートを確認してインストール
|
||||
```
|
||||
|
||||
### `/gsd-reapply-patches`
|
||||
### `/gsd-update --reapply`
|
||||
|
||||
GSDアップデート後にローカルの変更を復元します。
|
||||
|
||||
```bash
|
||||
/gsd-reapply-patches # ローカルの変更をマージバック
|
||||
/gsd-update --reapply # ローカルの変更をマージバック
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -800,7 +800,7 @@
|
||||
- REQ-UPDATE-02: システムは更新前に新しいバージョンのチェンジログを表示しなければならない
|
||||
- REQ-UPDATE-03: システムはランタイムを認識し、正しいディレクトリを対象としなければならない
|
||||
- REQ-UPDATE-04: システムはローカルで変更されたファイルを `gsd-local-patches/` にバックアップしなければならない
|
||||
- REQ-UPDATE-05: `/gsd-reapply-patches` は更新後にローカルの変更を復元しなければならない
|
||||
- REQ-UPDATE-05: `/gsd-update --reapply` は更新後にローカルの変更を復元しなければならない
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -432,7 +432,7 @@ GSD はマークダウンファイルを生成し、それが LLM のシステ
|
||||
| `/gsd-check-todos` | 保留中の TODO を一覧表示 | 記録したアイデアのレビュー |
|
||||
| `/gsd-settings` | ワークフロートグルとモデルプロファイルを設定 | モデル変更、エージェントのトグル |
|
||||
| `/gsd-set-profile <profile>` | クイックプロファイル切り替え | コスト/品質トレードオフの変更 |
|
||||
| `/gsd-reapply-patches` | アップデート後にローカル変更を復元 | ローカル編集がある場合の `/gsd-update` 後 |
|
||||
| `/gsd-update --reapply` | アップデート後にローカル変更を復元 | ローカル編集がある場合の `/gsd-update` 後 |
|
||||
|
||||
### コード品質とレビュー
|
||||
|
||||
@@ -754,7 +754,7 @@ GSD サブエージェントが Anthropic モデルを呼び出し、OpenRouter
|
||||
|
||||
### GSD アップデートがローカル変更を上書きした
|
||||
|
||||
v1.17 以降、インストーラーはローカルで変更されたファイルを `gsd-local-patches/` にバックアップします。`/gsd-reapply-patches` を実行して変更をマージし直してください。
|
||||
v1.17 以降、インストーラーはローカルで変更されたファイルを `gsd-local-patches/` にバックアップします。`/gsd-update --reapply` を実行して変更をマージし直してください。
|
||||
|
||||
### ワークフロー診断 (`/gsd-forensics`)
|
||||
|
||||
@@ -801,7 +801,7 @@ Windows でインストーラーが `EPERM: operation not permitted, scandir`
|
||||
| ターゲットを絞った修正 | `/gsd-quick` |
|
||||
| プランがビジョンに合わない | `/gsd-discuss-phase [N]` で再プランニング |
|
||||
| コストが高い | `/gsd-set-profile budget` と `/gsd-settings` でエージェントをオフ |
|
||||
| アップデートがローカル変更を壊した | `/gsd-reapply-patches` |
|
||||
| アップデートがローカル変更を壊した | `/gsd-update --reapply` |
|
||||
| ステークホルダー向けセッションサマリーが欲しい | `/gsd-session-report` |
|
||||
| 次のステップがわからない | `/gsd-next` |
|
||||
| 並列実行でビルドエラー | GSD を更新するか `parallelization.enabled: false` を設定 |
|
||||
|
||||
Reference in New Issue
Block a user