aboutsummaryrefslogtreecommitdiff
path: root/scripts/diff-lang.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-15 17:18:55 -0500
committerCraig Jennings <c@cjennings.net>2026-05-15 17:18:55 -0500
commit94782eea3df22289fb556481f9569a9284c7ac50 (patch)
tree829e3aceed7f0923fe797417f44df76328767c51 /scripts/diff-lang.sh
parente0f60029ffe0f0b6a24e4b7d207b326a9affc985 (diff)
downloadrulesets-94782eea3df22289fb556481f9569a9284c7ac50.tar.gz
rulesets-94782eea3df22289fb556481f9569a9284c7ac50.zip
feat(make): add audit target for cross-project .ai/ drift detection
scripts/audit.sh walks every .ai/-using project under ~/code/, ~/projects/, and ~/.emacs.d/, compares each .ai/ against the canonical source at claude-templates/.ai/, and reports drift per project. Default mode is report-only; APPLY=1 rsyncs detected drift into each project (no auto-commit). FORCE=1 also rsyncs into projects with uncommitted .ai/ changes (default: skip with a warning). Uses diff -rq for content comparison rather than rsync --itemize-changes to avoid false positives on attribute-only drift (mtime, permissions). Skips the rulesets repo itself, the in-repo canonical source, and the legacy standalone ~/projects/claude-templates/ during the fold transition. Output mirrors make doctor: per-project ok/drift/applied/skipped/FAIL lines, summary tally, exit 0 when all ok. Runs make doctor as the final check by default; NO_DOCTOR=1 skips.
Diffstat (limited to 'scripts/diff-lang.sh')
0 files changed, 0 insertions, 0 deletions