<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: hyhmrright</title>
    <description>The latest articles on Forem by hyhmrright (@hyhmrright).</description>
    <link>https://forem.com/hyhmrright</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3848681%2Fd65668f1-75aa-4901-a1f5-263ffe353c7a.png</url>
      <title>Forem: hyhmrright</title>
      <link>https://forem.com/hyhmrright</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hyhmrright"/>
    <language>en</language>
    <item>
      <title>brooks-lint v0.7.0: A Claude Code Plugin for Code Review Based on 10 Classic Engineering Books</title>
      <dc:creator>hyhmrright</dc:creator>
      <pubDate>Mon, 06 Apr 2026 05:27:17 +0000</pubDate>
      <link>https://forem.com/hyhmrright/brooks-lint-v070-a-claude-code-plugin-for-code-review-based-on-10-classic-engineering-books-20d9</link>
      <guid>https://forem.com/hyhmrright/brooks-lint-v070-a-claude-code-plugin-for-code-review-based-on-10-classic-engineering-books-20d9</guid>
      <description>&lt;p&gt;I built a Claude Code plugin that reviews your code through the lens of 10 classic software engineering books — and v0.7.0 just shipped.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is brooks-lint?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;brooks-lint&lt;/strong&gt; diagnoses code quality by applying principles from books like &lt;em&gt;Refactoring&lt;/em&gt;, &lt;em&gt;Clean Code&lt;/em&gt;, &lt;em&gt;Designing Data-Intensive Applications&lt;/em&gt;, &lt;em&gt;A Philosophy of Software Design&lt;/em&gt;, and 6 more.&lt;/p&gt;

&lt;p&gt;It surfaces decay risks across four modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PR Review&lt;/strong&gt; — catch issues before merge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architecture Audit&lt;/strong&gt; — spot structural decay&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Debt Assessment&lt;/strong&gt; — classify and prioritize debt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Quality Review&lt;/strong&gt; — evaluate test health&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each finding follows the Iron Law: &lt;strong&gt;Symptom → Source → Consequence → Remedy&lt;/strong&gt;, with a Health Score (base 100, deductions per finding).&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in v0.7.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Project config (.brooks-lint.yaml)
&lt;/h3&gt;

&lt;p&gt;Teams can now customize review behavior per project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;disable&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;T3&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;            &lt;span class="c1"&gt;# skip coverage checks&lt;/span&gt;
&lt;span class="na"&gt;severity&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;R1&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;suggestion&lt;/span&gt;         &lt;span class="c1"&gt;# downgrade severity&lt;/span&gt;
&lt;span class="na"&gt;ignore&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;**/vendor/**"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;focus&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;R1&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;R2&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;R3&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;     &lt;span class="c1"&gt;# evaluate only these risks&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  10-book framework
&lt;/h3&gt;

&lt;p&gt;Expanded from 6 to 10 books, adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;A Philosophy of Software Design&lt;/em&gt; — Ousterhout&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Software Engineering at Google&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Working Effectively with Legacy Code&lt;/em&gt; — Feathers&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;xUnit Test Patterns&lt;/em&gt; — Meszaros&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Short-form commands
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/brooks-review&lt;/code&gt;, &lt;code&gt;/brooks-audit&lt;/code&gt;, &lt;code&gt;/brooks-debt&lt;/code&gt;, &lt;code&gt;/brooks-test&lt;/code&gt; — no namespace prefix needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 6 decay risks
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Code&lt;/th&gt;
&lt;th&gt;Risk&lt;/th&gt;
&lt;th&gt;Books&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;R1&lt;/td&gt;
&lt;td&gt;Responsibility Creep&lt;/td&gt;
&lt;td&gt;Clean Code, Refactoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R2&lt;/td&gt;
&lt;td&gt;Implicit Contract&lt;/td&gt;
&lt;td&gt;Hyrum's Law&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R3&lt;/td&gt;
&lt;td&gt;Shallow Module&lt;/td&gt;
&lt;td&gt;A Philosophy of Software Design&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R4&lt;/td&gt;
&lt;td&gt;Premature Generalization&lt;/td&gt;
&lt;td&gt;Mythical Man-Month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R5&lt;/td&gt;
&lt;td&gt;Test-Prod Divergence&lt;/td&gt;
&lt;td&gt;xUnit Test Patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R6&lt;/td&gt;
&lt;td&gt;Consistency Erosion&lt;/td&gt;
&lt;td&gt;Software Engineering at Google&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Plus 6 test-space decay risks (T1–T6) for the Test Quality Review mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Via Claude Code plugin marketplace&lt;/span&gt;
/plugin marketplace add hyhmrright/brooks-lint
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;brooks-lint@brooks-lint-marketplace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/hyhmrright/brooks-lint" rel="noopener noreferrer"&gt;https://github.com/hyhmrright/brooks-lint&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Feedback welcome in the issues section!&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>claudecode</category>
      <category>opensource</category>
      <category>devtools</category>
      <category>ai</category>
    </item>
    <item>
      <title>I built a Claude Code plugin that anchors code reviews to 6 classic SE books</title>
      <dc:creator>hyhmrright</dc:creator>
      <pubDate>Mon, 30 Mar 2026 12:49:28 +0000</pubDate>
      <link>https://forem.com/hyhmrright/i-built-a-claude-code-plugin-that-anchors-code-reviews-to-6-classic-se-books-4465</link>
      <guid>https://forem.com/hyhmrright/i-built-a-claude-code-plugin-that-anchors-code-reviews-to-6-classic-se-books-4465</guid>
      <description>&lt;p&gt;If you've used Claude Code for code reviews, you've probably noticed something: the feedback is smart, but it's vague. "This function is too long." "Consider breaking this up." Great — but &lt;em&gt;why&lt;/em&gt;? And what's the actual risk if you don't?&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/hyhmrright/brooks-lint" rel="noopener noreferrer"&gt;brooks-lint&lt;/a&gt; to fix this. It's a Claude Code plugin that anchors every finding to a specific chapter in one of six classic software engineering books.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with AI Code Reviews
&lt;/h2&gt;

&lt;p&gt;Generic AI reviews are good at spotting syntax issues and surface-level smells. But they struggle to explain &lt;em&gt;consequence&lt;/em&gt; — why a particular pattern is dangerous in the long run, not just aesthetically displeasing.&lt;/p&gt;

&lt;p&gt;The result: developers nod, maybe fix the obvious stuff, and move on. The deeper structural decay continues.&lt;/p&gt;

&lt;h2&gt;
  
  
  What brooks-lint Does Differently
&lt;/h2&gt;

&lt;p&gt;Every finding follows a four-part structure I call the &lt;strong&gt;Iron Law&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Symptom   → what the code is doing
Source    → which book + chapter describes this exact pattern
Consequence → what breaks if you ignore it
Remedy    → concrete fix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Symptom:&lt;/strong&gt; &lt;code&gt;UserService&lt;/code&gt; has 847 lines and handles auth, billing, notifications, and user CRUD.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Source:&lt;/strong&gt; Clean Architecture, Ch. 7 — SRP violation; responsibilities should have separate reasons to change.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Consequence:&lt;/strong&gt; Any change to billing logic risks breaking auth; test isolation becomes impossible.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Remedy:&lt;/strong&gt; Extract &lt;code&gt;BillingService&lt;/code&gt; and &lt;code&gt;NotificationService&lt;/code&gt;; keep &lt;code&gt;UserService&lt;/code&gt; focused on identity only.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No vague advice. Just: here's the book, here's the chapter, here's exactly what goes wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Six Source Books
&lt;/h2&gt;

&lt;p&gt;The plugin draws from six foundational texts:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Book&lt;/th&gt;
&lt;th&gt;Focus&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;The Mythical Man-Month&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Project complexity, conceptual integrity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;em&gt;Clean Code&lt;/em&gt; + &lt;em&gt;Refactoring&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;Code-level smells and refactoring patterns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Clean Architecture&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Dependency rules, component boundaries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Code Complete&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Implementation craft, construction quality&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;The Pragmatic Programmer&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;DRY, orthogonality, adaptability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Domain-Driven Design&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Ubiquitous language, bounded contexts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Four Review Modes
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/brooks-lint:brooks-review   &lt;span class="c"&gt;# PR review — what changed and what it risks&lt;/span&gt;
/brooks-lint:brooks-audit    &lt;span class="c"&gt;# Architecture audit — structural health of the whole system&lt;/span&gt;
/brooks-lint:brooks-debt     &lt;span class="c"&gt;# Tech debt — classify and prioritize what to fix&lt;/span&gt;
/brooks-lint:brooks-test     &lt;span class="c"&gt;# Test quality — coverage gaps, fragile tests, wrong abstractions&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The test quality mode (&lt;code&gt;brooks-test&lt;/code&gt;) draws from &lt;em&gt;xUnit Test Patterns&lt;/em&gt;, &lt;em&gt;The Art of Unit Testing&lt;/em&gt;, and Google's &lt;em&gt;Software Engineering&lt;/em&gt; book — it flags things like over-mocking, test logic duplication, and tests that verify implementation instead of behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Eval Results
&lt;/h2&gt;

&lt;p&gt;I ran an evaluation comparing reviews with and without the plugin on a set of intentionally seeded codebases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;94%&lt;/strong&gt; of findings included a book citation and structured consequence analysis with the plugin&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16%&lt;/strong&gt; of findings had equivalent depth without it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The plugin doesn't make Claude smarter — it makes Claude &lt;em&gt;accountable&lt;/em&gt;. When every finding has to cite a chapter, hand-wavy feedback can't survive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Via plugin marketplace (recommended)&lt;/span&gt;
/plugin marketplace add hyhmrright/brooks-lint
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;brooks-lint@brooks-lint-marketplace

&lt;span class="c"&gt;# Manual&lt;/span&gt;
&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; skills/brooks-lint/ ~/.claude/skills/brooks-lint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why "Brooks"?
&lt;/h2&gt;

&lt;p&gt;Fred Brooks wrote &lt;em&gt;The Mythical Man-Month&lt;/em&gt; in 1975. Most of what he described — conceptual integrity, the second-system effect, the surgical team model — still shows up every week in production code. The plugin is named after him as a reminder that the hard problems in software aren't new, and the best answers to them are already written down.&lt;/p&gt;




&lt;p&gt;GitHub: &lt;a href="https://github.com/hyhmrright/brooks-lint" rel="noopener noreferrer"&gt;hyhmrright/brooks-lint&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about how the skill detection works or how I structured the decay risk taxonomy.&lt;/p&gt;




&lt;h2&gt;
  
  
  Update (March 2026): Now on Gemini CLI Too
&lt;/h2&gt;

&lt;p&gt;brooks-lint v0.5.2 now supports &lt;strong&gt;Gemini CLI&lt;/strong&gt; as a first-class platform, in addition to Claude Code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini CLI install:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/extensions &lt;span class="nb"&gt;install &lt;/span&gt;https://github.com/hyhmrright/brooks-lint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Claude Code install:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin marketplace add hyhmrright/brooks-lint
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;brooks-lint@brooks-lint-marketplace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both platforms use the same skill files — same decay risk framework, same Iron Law diagnostics, same book citations. The only difference is the entry point configuration. If you use both tools, one install covers both.&lt;/p&gt;

&lt;p&gt;The extension is also listed on the &lt;a href="https://geminicli.com/extensions" rel="noopener noreferrer"&gt;official Gemini CLI extension gallery&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>showdev</category>
      <category>ai</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>I built a Claude Code plugin that reviews code using The Mythical Man-Month</title>
      <dc:creator>hyhmrright</dc:creator>
      <pubDate>Sun, 29 Mar 2026 04:55:17 +0000</pubDate>
      <link>https://forem.com/hyhmrright/i-built-a-claude-code-plugin-that-reviews-code-using-the-mythical-man-month-3p5</link>
      <guid>https://forem.com/hyhmrright/i-built-a-claude-code-plugin-that-reviews-code-using-the-mythical-man-month-3p5</guid>
      <description>&lt;h2&gt;
  
  
  The Problem: AI Writes Code, But Who Reviews the Architecture?
&lt;/h2&gt;

&lt;p&gt;Claude Code is great at writing code. It can implement features, fix bugs, and refactor functions quickly. But there's a gap: &lt;strong&gt;AI-generated code can accumulate the same architectural problems that human-written code does&lt;/strong&gt; — and sometimes faster, because AI doesn't have the institutional memory to know why certain patterns were avoided.&lt;/p&gt;

&lt;p&gt;I wanted a way to have Claude review its own work through the lens of classic software engineering principles. So I built &lt;strong&gt;brooks-lint&lt;/strong&gt; — a Claude Code plugin that diagnoses code quality using six foundational SE books.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;brooks-lint gives Claude a structured framework for code review based on these six books:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Mythical Man-Month&lt;/strong&gt; (Brooks) — conceptual integrity, communication overhead&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clean Code&lt;/strong&gt; (Martin) — naming, function design, comments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A Philosophy of Software Design&lt;/strong&gt; (Ousterhout) — deep modules, information hiding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Working Effectively with Legacy Code&lt;/strong&gt; (Feathers) — seam detection, test coverage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;xUnit Test Patterns&lt;/strong&gt; (Meszaros) — test smells, fixture design&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Art of Unit Testing&lt;/strong&gt; (Osherove) — test maintainability, mock discipline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every finding follows the &lt;strong&gt;Iron Law&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Symptom → Source → Consequence → Remedy&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No finding without a consequence and a remedy. This prevents the common failure mode of code reviews that just list rule violations without explaining &lt;em&gt;why they matter&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four Review Modes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Mode 1: PR Review&lt;/strong&gt; — Review a diff or set of files for the six decay risks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cognitive Overload&lt;/li&gt;
&lt;li&gt;Change Propagation&lt;/li&gt;
&lt;li&gt;Knowledge Duplication&lt;/li&gt;
&lt;li&gt;Accidental Complexity&lt;/li&gt;
&lt;li&gt;Dependency Disorder&lt;/li&gt;
&lt;li&gt;Domain Model Distortion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Mode 2: Architecture Audit&lt;/strong&gt; — Draw the module dependency map, check for Conway's Law violations, identify structural decay.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mode 3: Tech Debt Assessment&lt;/strong&gt; — Score all six decay risks, prioritize by a Pain × Spread formula, output a Debt Summary Table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mode 4: Test Quality Review&lt;/strong&gt; — Analyze test suites for anti-patterns like Fragile Tests, Logic in Tests, Mystery Guests, and Mock Overuse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example Output
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Findings

### 🔴 Critical

**Change Propagation — Payment logic split across three layers**
Symptom: `calculateTotal()` in CartService calls `applyDiscount()` in PricingEngine
which reads `membershipTier` from UserRepository — three hops for one business rule.
Source: A Philosophy of Software Design — Deep Modules
Consequence: Any change to discount logic requires coordinating three files and risks
breaking the cart, pricing, and user data layers simultaneously.
Remedy: Consolidate discount calculation into a single PricingService that owns all
inputs; inject it into CartService as a dependency.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Health Score
&lt;/h2&gt;

&lt;p&gt;Each review produces a score (0–100):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔴 Critical finding: −15&lt;/li&gt;
&lt;li&gt;🟡 Warning: −5&lt;/li&gt;
&lt;li&gt;🟢 Suggestion: −1&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin marketplace add hyhmrright/brooks-lint
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;brooks-lint@brooks-lint-marketplace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then trigger it with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/brooks-lint:brooks-review&lt;/code&gt; — PR review&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/brooks-lint:brooks-audit&lt;/code&gt; — architecture audit&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/brooks-lint:brooks-debt&lt;/code&gt; — tech debt assessment&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/brooks-lint:brooks-test&lt;/code&gt; — test quality review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or just ask Claude to "review this code" and it auto-detects the mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Book-Grounded Reviews?
&lt;/h2&gt;

&lt;p&gt;I got tired of AI code reviews that say "this function is too long" without explaining what breaks when it isn't fixed. Grounding findings in specific books and named principles forces the review to explain &lt;em&gt;source&lt;/em&gt; and &lt;em&gt;consequence&lt;/em&gt;, not just pattern-match against a style guide.&lt;/p&gt;

&lt;p&gt;It also makes the feedback more memorable. "This violates Ousterhout's deep module principle" carries more weight than "consider refactoring this."&lt;/p&gt;




&lt;p&gt;Source: &lt;a href="https://github.com/hyhmrright/brooks-lint" rel="noopener noreferrer"&gt;github.com/hyhmrright/brooks-lint&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback welcome — especially if you've tried using it on a real codebase and found patterns it misses.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>showdev</category>
      <category>ai</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
