diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-11 17:05:03 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-11 17:05:03 -0500 |
| commit | da93ffd91dea133963ffceaff24d41bc76b8ff93 (patch) | |
| tree | 6aac57d5eb712463a852c74e75150331be2298b1 /docs/architecture | |
| parent | 61e37f55c044ff7bbd41cb142ce9dfe232934216 (diff) | |
| download | rulesets-da93ffd91dea133963ffceaff24d41bc76b8ff93.tar.gz rulesets-da93ffd91dea133963ffceaff24d41bc76b8ff93.zip | |
feat(commands): /update-skills syncs forks with upstream via 3-way merge
Upstream releases fixes worth pulling into the forks (arch-decide, playwright-js, playwright-py) without losing our local modifications. Each fork now has a manifest at upstreams/<name>/ plus a committed baseline snapshot that is the 3-way merge base. scripts/update-skills.py classifies each file's drift and merges to stdout. The command owns per-file confirmation, per-hunk conflict prompts, and every target write.
I centralized manifests under upstreams/ instead of per-skill dotfile dirs because arch-decide is now two flat files in commands/ and can't carry one. A "files" map in its manifest handles the upstream rename of SKILL.md to arch-decide.md.
I seeded baselines from today's upstream HEADs, so pre-existing local modifications classify as local-only from here on. git merge-file signals hard errors as exit 255, which subprocess reports as positive. The guard treats anything 128 and up as an error so a binary-file failure isn't misread as a conflict.
Diffstat (limited to 'docs/architecture')
0 files changed, 0 insertions, 0 deletions
