Skip to content

Commit aa3c5e9

Browse files
authored
fix(claude-code): track .mise.toml (dotfile) in upstream-sync manifest (#105)
The devcontainer-upstream-sync skill's manifest listed the local path as `mise.toml`, but every downstream project — and the rest of this repo's own documentation (README, Dockerfile, devcontainer.json) — uses the dotfile `.mise.toml`. Audits therefore reported the file as missing against every consumer, silently dropping drift tracking. Also add an explicit `local-missing` classification (Workflow 1 had no defined behavior when LOCAL_PATH didn't exist) so that bucket-aware handling is reproducible: framework-track → adopt; starter-customize / exemplar → surface and ask. Bumps skill version 1.0.0 → 1.1.0 so Workflow 4 self-update propagates to consumers. Fixes #104
1 parent 7236567 commit aa3c5e9

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

  • claude-code/.claude/skills/devcontainer-upstream-sync

‎claude-code/.claude/skills/devcontainer-upstream-sync/SKILL.md‎

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Use to audit a project's .devcontainer/ and bundled .claude/skills/
44
metadata:
55
author: Serge Gatezh
66
url: https://github.com/gatezh
7-
version: "1.0.0"
7+
version: "1.1.0"
88
---
99

1010
# Devcontainer Upstream Sync
@@ -70,7 +70,7 @@ but don't, and includes files that shouldn't be tracked.
7070
| `.claude/skills/sandbox-playwright/SKILL.md` | `claude-code/.claude/skills/sandbox-playwright/SKILL.md` | framework-track |
7171
| `.claude/skills/devcontainer-upstream-sync/SKILL.md` | `claude-code/.claude/skills/devcontainer-upstream-sync/SKILL.md` | framework-track |
7272
| `.claude/settings.json` | `claude-code/.claude/settings.json` | starter-customize |
73-
| `mise.toml` | `claude-code/mise.toml` | starter-customize |
73+
| `.mise.toml` | `claude-code/mise.toml` | starter-customize |
7474

7575
### Bucket meanings
7676

@@ -105,7 +105,7 @@ When adopting an upstream change, preserve these per-project patterns:
105105
5. **`init-firewall.sh` allowlist** and **`init-plugins.sh` plugin
106106
list** — never auto-overwrite. Surface upstream's recipe; ask
107107
before adopting.
108-
6. **`mise.toml` versions.** Versions may legitimately lead or lag
108+
6. **`.mise.toml` versions.** Versions may legitimately lead or lag
109109
upstream. Surface; ask.
110110

111111
## Conventions
@@ -125,11 +125,20 @@ Walk the manifest, fetch each upstream file, diff, classify, report.
125125
```sh
126126
# Per-row commands (run for each manifest row):
127127
curl -sSL "https://raw.githubusercontent.com/gatezh/devcontainers/master/${UPSTREAM_PATH}" -o /tmp/upstream-sync/$(basename "${UPSTREAM_PATH}").upstream
128-
diff -u "${LOCAL_PATH}" /tmp/upstream-sync/$(basename "${UPSTREAM_PATH}").upstream || true
128+
if [ ! -e "${LOCAL_PATH}" ]; then
129+
echo "LOCAL_MISSING"
130+
else
131+
diff -u "${LOCAL_PATH}" /tmp/upstream-sync/$(basename "${UPSTREAM_PATH}").upstream || true
132+
fi
129133
```
130134

131135
Classification rules per row:
132136

137+
- Local file does not exist → **local-missing**. For `framework-track`,
138+
treat as drift-needs-adopt (file should exist; copy upstream). For
139+
`starter-customize` or `exemplar`, surface and ask — the project may
140+
legitimately not use that file (e.g. a project that pins tool
141+
versions elsewhere has no `.mise.toml`).
133142
- Diff is empty → **clean** (or `clean (after project-name substitution)`).
134143
- Diff is non-empty AND row is `framework-track`:
135144
- If every hunk maps to a customization-preservation pattern → **intentional-customization**.
@@ -144,6 +153,7 @@ Report format (one row per manifest entry):
144153
✓ .devcontainer/claude-sandbox/devcontainer.json framework-track clean
145154
✓ .devcontainer/devcontainer.json framework-track intentional-customization (Hugo extensions, hostname)
146155
⚠ .devcontainer/claude-sandbox/init-firewall.sh exemplar template-divergence: see Workflow 2
156+
⚠ .mise.toml starter-customize local-missing (project may not use mise)
147157
✗ .claude/skills/sandbox-playwright/SKILL.md framework-track drift-needs-adopt: 3 hunks
148158
```
149159

0 commit comments

Comments
 (0)