Skip to content

Commit 9645c25

Browse files
committed
Release v2.4.1
1 parent 9fb2179 commit 9645c25

3 files changed

Lines changed: 11 additions & 61 deletions

File tree

.claude/skills/vc-update/SKILL.md

Lines changed: 4 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -91,41 +91,9 @@ Compare the remote manifest `version` against `currentVersion`.
9191
- **Modifications:** Files in both lists -- compare content via `diff` between `$TMPDIR/{path}` and `{projectRoot}/{path}`.
9292
- If identical: **unchanged**.
9393
- If different: **modified** (note line count changes).
94-
- **Merge files:** Files in the `merge` list that have local changes. Split into two sub-types:
95-
- **Smart-merge** (`CLAUDE.md`, `AGENTS.md`): the agent performs an intelligent merge (see Smart Merge below). Show a preview of what will be applied vs preserved.
96-
- **Simple-merge** (everything else in `merge`, e.g. `.claude/settings.json`): preserve local version entirely, show diff, flag for manual review.
94+
- **Merge files:** Files in the `merge` list (e.g. `.claude/settings.json`) that have local changes. Preserve local version entirely, show diff, flag for manual review.
9795
- **Copy-if-missing files:** Files in the `copyIfMissing` list that already exist locally. Show the diff but note they will NOT be overwritten.
9896

99-
### Smart Merge (CLAUDE.md and AGENTS.md)
100-
101-
`CLAUDE.md` and `AGENTS.md` contain both harness methodology (owned by the kit) and
102-
project-specific content (owned by the project). When these files differ between the remote
103-
and local versions, perform a smart merge rather than preserving or overwriting entirely.
104-
105-
**Apply from remote (harness methodology — kit owns these):**
106-
- New or changed entries in the "Shared Development Protocols" file list
107-
(lines listing files under `process/development-protocols/`)
108-
- New or changed entries in the "Reference docs" block under development-protocols
109-
- Changes to orchestrator role description, routing protocol, or mode detection sections
110-
- New rows or changed rows in the skill registry table
111-
- Changes to phase transition rules, closeout rules, or parallel fan-out checkpoints
112-
- Any section that exists in the remote but is entirely absent locally
113-
114-
**Preserve from local (project-specific — project owns these):**
115-
- The `process/context/` section bullet list and all context group entries
116-
(e.g. `platform/all-platform.md`, `backend/all-backend.md`, `uxui/all-uxui.md`)
117-
- Technology stack section content
118-
- Coding preferences that differ from kit defaults (package manager, TS style, etc.)
119-
- Current features list
120-
- Any section or bullet that exists locally but is absent from the remote
121-
122-
**Conflict rule:** when the same line exists in both but with different content, prefer the
123-
remote (kit) version for methodology sections and the local version for context/stack sections.
124-
When genuinely ambiguous, prefer local and flag the line in the summary.
125-
126-
**Output:** after performing the smart merge, write the merged result to the local file and
127-
report what was applied vs preserved in the dry-run preview and applied summary.
128-
12997
### Step 7: Check Symlinks
13098

13199
For each entry in the `symlinks` object (key = symlink path, value = target):
@@ -148,10 +116,6 @@ FILES:
148116
[unchanged] .claude/agents/vc-debugger.md
149117
...
150118
151-
SMART-MERGE (will be applied automatically):
152-
[smart] CLAUDE.md — apply: +3 protocol lines | preserve: context groups, tech stack
153-
[smart] AGENTS.md — apply: +2 protocol lines | preserve: context groups
154-
155119
MERGE (preserved, manual review needed):
156120
[differs] .claude/settings.json (+2 -1)
157121
@@ -183,10 +147,7 @@ If the user aborts:
183147
On user confirmation, apply in this order:
184148

185149
1. **Additions and modifications**: For each file in the remote `files` list:
186-
- If file is `CLAUDE.md` or `AGENTS.md` AND exists locally AND differs: perform smart merge
187-
(apply methodology changes, preserve project-specific content per Smart Merge rules above).
188-
Write merged result to local file.
189-
- Skip if file is in `merge` list (but NOT a smart-merge file) AND exists locally (preserve user version).
150+
- Skip if file is in `merge` list AND exists locally (preserve user version).
190151
- Skip if file is in `copyIfMissing` list AND exists locally (preserve user version).
191152
- Otherwise: `mkdir -p` the parent directory, copy from `$TMPDIR/{path}` to `{projectRoot}/{path}`.
192153

@@ -220,7 +181,6 @@ Applied:
220181
2 files added
221182
1 file removed
222183
1 symlink fixed
223-
2 smart-merged (CLAUDE.md: +3 applied, context groups preserved | AGENTS.md: +2 applied)
224184
1 merge file preserved (review .claude/settings.json manually)
225185
226186
Snapshot written to .vc-installed-files
@@ -234,8 +194,8 @@ Version written to .vc-version: {remoteVersion}
234194
- Always show the dry-run diff before applying. Never apply without user confirmation.
235195
- Clean up the temp clone directory even on error or abort.
236196
- If `.vc-version` is missing, treat as version `0.0.0` (first update, apply everything).
237-
- `CLAUDE.md` and `AGENTS.md` are smart-merged: methodology sections updated from kit, project-specific sections (context groups, tech stack, features) preserved. Never fully overwritten, never fully skipped.
238-
- Other files in the `merge` list (e.g. `.claude/settings.json`) are never overwritten if they exist locally. Show the diff for manual review.
197+
- `CLAUDE.md` and `AGENTS.md` are harness-only files — overwritten freely on update. Project-specific content belongs in `process/context/all-context.md`, not in these files.
198+
- Files in the `merge` list (e.g. `.claude/settings.json`) are never overwritten if they exist locally. Show the diff for manual review.
239199
- Files in the `copyIfMissing` list are only installed if they don't already exist locally.
240200
- Removals are detected by comparing the local `.vc-installed-files` snapshot against the new resolved file list.
241201

.claude/skills/vc-update/references/vc-update.md

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ The manifest uses glob-based patterns resolved by `resolve-manifest.mjs`.
3434
".claude/skills/vc-chrome-devtools/scripts/node_modules/**"
3535
],
3636
"strip": [],
37-
"merge": [".claude/settings.json", "CLAUDE.md", "AGENTS.md"],
37+
"merge": [".claude/settings.json"],
3838
"copyIfMissing": [],
3939
"symlinks": { ".agents/skills": "../.claude/skills" },
4040
"kitOnly": [
@@ -146,18 +146,11 @@ If the user has intentional local changes to a managed file:
146146
2. Re-apply after the update
147147
3. Or better: move customizations to `process/context/` where they belong
148148

149-
### Smart-merge files (CLAUDE.md, AGENTS.md)
150-
151-
`CLAUDE.md` and `AGENTS.md` contain both harness methodology (kit-owned) and project-specific content (project-owned). The agent performs an intelligent merge:
152-
153-
- **Apply from remote:** new/changed entries in the development-protocols file list, reference docs block, orchestrator routing sections, skill registry table, phase transition rules.
154-
- **Preserve from local:** `process/context/` bullet list and all context group entries, technology stack section, coding preferences, current features list, any section absent from the remote.
155-
156-
The dry-run shows a preview (`apply: +N lines | preserve: context groups, tech stack`). On apply, the merged file is written and the summary reports what was applied vs preserved.
149+
### Merge files (.claude/settings.json)
157150

158-
### Simple-merge files (.claude/settings.json)
151+
Files in the `merge` list are NEVER overwritten if they exist locally. The dry-run shows the diff so the user can manually reconcile. On fresh install (no existing file), the kit version is installed.
159152

160-
Files in the `merge` list (other than smart-merge files) are NEVER overwritten if they exist locally. The dry-run shows the diff so the user can manually reconcile. On fresh install (no existing file), the kit version is installed.
153+
`CLAUDE.md` and `AGENTS.md` are harness-only filesoverwritten freely on update like any other managed file. Project-specific content (context groups, tech stack, features) belongs in `process/context/all-context.md`, which vc-update never touches.
161154

162155
### Copy-if-missing files (example PRDs)
163156

vc-manifest.json

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "2.4.0",
2+
"version": "2.4.1",
33
"include": [
44
".claude/agents/**",
55
".claude/skills/**",
@@ -25,10 +25,7 @@
2525
".codex/statusline.cjs",
2626
".claude/skills/vc-chrome-devtools/scripts/node_modules/**"
2727
],
28-
"strip": [
29-
"CLAUDE.md",
30-
"AGENTS.md"
31-
],
28+
"strip": [],
3229
"merge": [
3330
".claude/settings.json"
3431
],
@@ -51,4 +48,4 @@
5148
"resolve-manifest.mjs",
5249
"install.sh"
5350
]
54-
}
51+
}

0 commit comments

Comments
 (0)