<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/scripts/lint.sh, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-04-19T17:58:16+00:00</updated>
<entry>
<title>feat(makefile): add deps, diff, lint targets and fzf-picker fallback</title>
<updated>2026-04-19T17:58:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T17:58:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=acc3e5a532e433ce6a93afe54a040d0270f42b39'/>
<id>urn:sha1:acc3e5a532e433ce6a93afe54a040d0270f42b39</id>
<content type='text'>
Ports useful quality-of-life targets from DeepSat's coding-rulesets
Makefile, adapted to this repo's two-scope (global + per-project)
structure.

New targets:
  make deps                       Install claude, jq, fzf, ripgrep,
                                  emacs via brew/apt/pacman. Idempotent
                                  (skips already-present tools). For
                                  new machines and VMs.

  make diff LANG=&lt;lang&gt; [PROJECT=&lt;path&gt;]
                                  Show unified diff between repo source
                                  and installed copies in a target
                                  project. CLAUDE.md excluded (seed-
                                  only, diverges by design).

  make lint                       Validate ruleset structure: top-level
                                  headings, 'Applies to:' headers on
                                  rule files, shebangs and exec bits on
                                  hook scripts.

Infrastructure:
  - Help migrated to awk-parsed ##@/## pattern; new targets document
    themselves via a single trailing `## ...` comment.
  - fzf-picker fallback: if PROJECT= is unset, install-lang and diff
    launch fzf over local .git dirs under $HOME. Keeps PROJECT=&lt;path&gt;
    for scripts/automation; only interactive users hit fzf.

  scripts/diff-lang.sh  Walks the file list the installer would copy,
                        diffs each against the target.
  scripts/lint.sh       Standalone ruleset structure validator.
</content>
</entry>
</feed>
