Select the types of activity you want to include in your feed.
merlint: regenerate docs to expose E520 and E521 rule cards
Both rules were added to lib/data.ml + lib/rules/{e520,e521}.ml in prior commits but docs/index.html was not re-generated. This catches the static site up.
···13431343 </div>
13441344 <div class="error-hint"><p>Libraries and tests should be in separate directories for clear project structure. Put library code in lib/ and tests in test/. Using explicit (modules ...) to co-locate them in the same directory is discouraged.</p></div>
13451345</div>
13461346+<div class="error-card" id="E520">
13471347+ <div>
13481348+ <span class="error-code">E520</span>
13491349+ <span class="error-title">Library directory should be lib/, not src/</span>
13501350+ </div>
13511351+ <div class="error-hint"><p>The monorepo convention is lib/ for library code. Rename src/ to lib/ with `git mv`; no dune changes are needed because dune auto-discovers modules in either directory.</p></div>
13521352+</div>
13531353+<div class="error-card" id="E521">
13541354+ <div>
13551355+ <span class="error-code">E521</span>
13561356+ <span class="error-title">Cram test outside test/cram/</span>
13571357+ </div>
13581358+ <div class="error-hint"><p>Move cram tests (.t files or .t/ directories) under the package's test/cram/ umbrella. Shared driver exes go in test/cram/helpers/; shell setup goes in test/cram/helpers.sh (sourced via (setup_scripts helpers.sh)).</p></div>
13591359+</div>
13461360<h2 id="testing">Testing</h2>
13471361<div class="category">E600-E699 • Test coverage and test quality issues</div>
13481362<div class="error-card" id="E600">