diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-23 21:00:11 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-23 21:00:11 -0400 |
| commit | 71db71b9d47ffbeaf1d1c859fa3e3bebb7b2ea29 (patch) | |
| tree | 3fc7536bc7612bfa095fe137de9497e36c7bca12 /scripts/lint.sh | |
| parent | 603abc4cb3129be8bd23c89aa69f4f5522d1e5a3 (diff) | |
| download | rulesets-71db71b9d47ffbeaf1d1c859fa3e3bebb7b2ea29.tar.gz rulesets-71db71b9d47ffbeaf1d1c859fa3e3bebb7b2ea29.zip | |
feat(install-lang): seed a neutral CLAUDE.md when a bundle ships none
install-lang only seeded CLAUDE.md if the chosen bundle shipped one. elisp and go do, python and typescript don't. A project installing a template-less bundle got no CLAUDE.md, and a multi-bundle install inherited whichever bundle shipped one. A bash project that installed elisp and python ended up headed "Elisp project," worse than no header.
I added a language-neutral default (languages/default-CLAUDE.md) that names no language, so single-language, multi-bundle, and wrong-bundle installs all get an accurate "fill this in" header instead of a false one. Per-bundle templates still win where present. The seed-on-first-install, no-overwrite logic is unchanged.
I hardened the Makefile LANGUAGES glob to directories only so the new template file doesn't show up as a selectable language. lint covers the default. The install-lang tests cover the fallback, the bundle-wins branch, and no-overwrite.
A bash bundle is still the real gap for shell-heavy projects, filed as a backlog task.
Diffstat (limited to 'scripts/lint.sh')
| -rwxr-xr-x | scripts/lint.sh | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/lint.sh b/scripts/lint.sh index ae30aa5..61a27a1 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -99,6 +99,9 @@ for claude_md in languages/*/CLAUDE.md; do check_md_heading "$claude_md" done +# Language-neutral default CLAUDE.md (install-lang's fallback when a bundle ships none) +[ -f languages/default-CLAUDE.md ] && check_md_heading languages/default-CLAUDE.md + # Hook scripts for h in languages/*/claude/hooks/*.sh languages/*/githooks/*; do [ -f "$h" ] || continue |
