<?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: Hemanth</title>
    <description>The latest articles on Forem by Hemanth (@chemant).</description>
    <link>https://forem.com/chemant</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%2F3906996%2F397b47eb-2181-4128-abb2-590af170c152.png</url>
      <title>Forem: Hemanth</title>
      <link>https://forem.com/chemant</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/chemant"/>
    <language>en</language>
    <item>
      <title>I Built a Zero-Config Project Health Analyzer — Just Run npx dev-lens in Any Repo</title>
      <dc:creator>Hemanth</dc:creator>
      <pubDate>Fri, 01 May 2026 04:33:30 +0000</pubDate>
      <link>https://forem.com/chemant/i-built-a-zero-config-project-health-analyzer-just-run-npx-dev-lens-in-any-repo-5lc</link>
      <guid>https://forem.com/chemant/i-built-a-zero-config-project-health-analyzer-just-run-npx-dev-lens-in-any-repo-5lc</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every time I open an unfamiliar codebase, I run the same ritual:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cloc &lt;span class="nb"&gt;.&lt;/span&gt;                  &lt;span class="c"&gt;# how big is this thing?&lt;/span&gt;
git shortlog &lt;span class="nt"&gt;-sn&lt;/span&gt;        &lt;span class="c"&gt;# who wrote it?&lt;/span&gt;
npm outdated            &lt;span class="c"&gt;# how stale are the deps?&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"TODO"&lt;/span&gt; src/     &lt;span class="c"&gt;# how much debt is hiding?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Four commands. Four different output formats. Mental math to combine them.&lt;/p&gt;

&lt;p&gt;I got tired of it — so I built &lt;strong&gt;dev-lens&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is dev-lens?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;dev-lens&lt;/strong&gt; is a zero-config CLI that runs in any project directory and gives you a full health report in seconds.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx dev-lens
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No install. No config file. No setup. Just run it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What It Shows You
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📁 Code Overview
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Total files and lines of code&lt;/li&gt;
&lt;li&gt;Language breakdown with visual bar chart&lt;/li&gt;
&lt;li&gt;Top 5 largest files&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🌿 Git Health
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Current branch + working directory status&lt;/li&gt;
&lt;li&gt;Total commits + commits in last 30 days&lt;/li&gt;
&lt;li&gt;Top contributors with commit counts&lt;/li&gt;
&lt;li&gt;Last commit: hash, message, author, time ago&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📦 Dependencies
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ecosystem auto-detection (Node, Python, Rust, Go, Ruby)&lt;/li&gt;
&lt;li&gt;Total production + dev dependency count&lt;/li&gt;
&lt;li&gt;Outdated packages with current → latest versions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🐛 Technical Debt
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Scans every source file for TODO / FIXME / BUG / HACK / XXX&lt;/li&gt;
&lt;li&gt;Shows file path + line number for each item&lt;/li&gt;
&lt;li&gt;Sorted by priority (BUG first, NOTE last)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ❤️ Health Score
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Weighted 0–100 score with A–F letter grade&lt;/li&gt;
&lt;li&gt;Penalties for: stale commits, outdated deps, open bugs&lt;/li&gt;
&lt;/ul&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;╭──────────────────────────────────────────────────╮
│  🔍 dev-lens v1.0.0                              │
│                                                  │
│  Project: my-saas-app                            │
│  Health:    88/100 (B+)                          │
│  ✓ All good                                      │
╰──────────────────────────────────────────────────╯

  ◆ CODE OVERVIEW
  Files        342
  Lines        28.4K
  Primary      TypeScript

  TypeScript   61%  ▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░  186f
  CSS          14%  ▓▓▓░░░░░░░░░░░░░░░   28f
  JSON          9%  ▓▓░░░░░░░░░░░░░░░░   61f

  ◆ GIT HEALTH
  Branch       main  ✓ clean
  Commits      1.2K total, 47 last 30d

  Alice Chen   ▓▓▓▓▓▓▓▓▓▓▓▓  312
  Bob Smith    ▓▓▓▓▓▓▓░░░░░  201

  ◆ DEPENDENCIES
  Total        64  ✓ All packages up to date

  ◆ TODOS &amp;amp; TECHNICAL DEBT
  FIXME        4
  HACK         3
  TODO         14
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  CLI Options
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx dev-lens                        &lt;span class="c"&gt;# current directory&lt;/span&gt;
npx dev-lens &lt;span class="nt"&gt;--path&lt;/span&gt; /any/project    &lt;span class="c"&gt;# specific path&lt;/span&gt;
npx dev-lens &lt;span class="nt"&gt;--json&lt;/span&gt;                 &lt;span class="c"&gt;# machine-readable output&lt;/span&gt;
npx dev-lens &lt;span class="nt"&gt;--no-git&lt;/span&gt;               &lt;span class="c"&gt;# skip git analysis&lt;/span&gt;
npx dev-lens &lt;span class="nt"&gt;--no-deps&lt;/span&gt;              &lt;span class="c"&gt;# skip dependency check&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Use It in CI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Project Health Check&lt;/span&gt;
  &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npx dev-lens --json &amp;gt; health.json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pipe the JSON into any monitoring system, Slack bot, or dashboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  How I Built It (with Claude)
&lt;/h2&gt;

&lt;p&gt;I built dev-lens using Claude as my AI coding assistant. The parts where it helped most:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing the multi-ecosystem dependency parser (Node/Python/Rust/Go in one file)&lt;/li&gt;
&lt;li&gt;Writing the regex pattern for the TODO scanner that handles &lt;code&gt;//&lt;/code&gt;, &lt;code&gt;#&lt;/code&gt;, &lt;code&gt;/* */&lt;/code&gt;, and &lt;code&gt;&amp;lt;!-- --&amp;gt;&lt;/code&gt; comment styles&lt;/li&gt;
&lt;li&gt;Building the terminal color theme using chalk with a consistent palette&lt;/li&gt;
&lt;li&gt;Writing Jest tests that run the analyzer on the project itself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The whole project is ~700 lines of clean JavaScript.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] HTML/PDF report export&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;--watch&lt;/code&gt; mode&lt;/li&gt;
&lt;li&gt;[ ] Outdated dep check for Python, Rust, Go&lt;/li&gt;
&lt;li&gt;[ ] Historical tracking (compare health over time)&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;.devlens.json&lt;/code&gt; config for custom ignore patterns&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx dev-lens
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub (MIT licensed): &lt;strong&gt;&lt;a href="https://github.com/CHHemant/dev-lens" rel="noopener noreferrer"&gt;https://github.com/CHHemant/dev-lens&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Built by &lt;strong&gt;Hemant Chilkuri&lt;/strong&gt; — feedback and PRs very welcome. What metrics would you want to see added?&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>node</category>
      <category>cli</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
