<?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>DEV Community: Rocco</title>
    <description>The latest articles on DEV Community by Rocco (@ruidosujeira).</description>
    <link>https://dev.to/ruidosujeira</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%2F3621973%2F30fe4241-523f-4931-9927-a4ab47463be4.jpeg</url>
      <title>DEV Community: Rocco</title>
      <link>https://dev.to/ruidosujeira</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ruidosujeira"/>
    <language>en</language>
    <item>
      <title>AI as a Pair Programmer: How I Built depx in One Day</title>
      <dc:creator>Rocco</dc:creator>
      <pubDate>Sun, 14 Dec 2025 04:12:39 +0000</pubDate>
      <link>https://dev.to/ruidosujeira/ai-as-a-pair-programmer-how-i-built-depx-in-one-day-2m0i</link>
      <guid>https://dev.to/ruidosujeira/ai-as-a-pair-programmer-how-i-built-depx-in-one-day-2m0i</guid>
      <description>&lt;h2&gt;
  
  
  The debate is wrong
&lt;/h2&gt;

&lt;p&gt;Most discussions about AI in programming are binary: either "AI will replace developers" or "AI is garbage and always fails." Both miss the point.&lt;/p&gt;

&lt;p&gt;AI is a tool. Like a compiler, an IDE, or Stack Overflow. The question isn't whether to use it, but how to use it effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually did
&lt;/h2&gt;

&lt;p&gt;Yesterday I built &lt;a href="https://github.com/ruidosujeira/depx" rel="noopener noreferrer"&gt;depx&lt;/a&gt;, a CLI tool in Rust that analyzes JavaScript/TypeScript projects to understand what's really in your node_modules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find packages installed but never imported&lt;/li&gt;
&lt;li&gt;Explain why any transitive dependency exists&lt;/li&gt;
&lt;li&gt;Check vulnerabilities that actually affect your versions&lt;/li&gt;
&lt;li&gt;List deprecated packages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I shipped it to crates.io, posted on Reddit, got feedback from a user with 25k packages saying my audit command would make 25,000 API requests. Within hours, I implemented batch queries (v0.2.0) reducing it to ~25 requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  How AI fit into this
&lt;/h2&gt;

&lt;p&gt;I used Claude throughout the process. Here's what that actually looked like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I did:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identified the problem (node_modules chaos)&lt;/li&gt;
&lt;li&gt;Defined the architecture (analyzer, graph, lockfile parser, vulnerability checker)&lt;/li&gt;
&lt;li&gt;Made technical decisions (use oxc_parser, petgraph, OSV API)&lt;/li&gt;
&lt;li&gt;Evaluated the output and caught edge cases (@types packages, build tools)&lt;/li&gt;
&lt;li&gt;Tested on real projects&lt;/li&gt;
&lt;li&gt;Responded to user feedback and prioritized the fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What Claude did:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wrote code faster than I could type&lt;/li&gt;
&lt;li&gt;Implemented the structure I defined&lt;/li&gt;
&lt;li&gt;Helped debug issues&lt;/li&gt;
&lt;li&gt;Generated boilerplate I would have written anyway&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The key insight
&lt;/h2&gt;

&lt;p&gt;People who say "AI writes bad code" are often asking it to replace them. They prompt "build me an app" and get garbage.&lt;/p&gt;

&lt;p&gt;People who use AI effectively treat it as a pair programmer. You drive, AI accelerates. You still need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand the problem deeply&lt;/li&gt;
&lt;li&gt;Know what good code looks like&lt;/li&gt;
&lt;li&gt;Evaluate if the solution is correct&lt;/li&gt;
&lt;li&gt;Take responsibility for the result&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Transparency
&lt;/h2&gt;

&lt;p&gt;If you look at depx's GitHub, you'll see Claude listed as a contributor. That's intentional. I'm not hiding that I used AI — I'm showing that using AI doesn't mean you didn't build something real.&lt;/p&gt;

&lt;p&gt;The tool works. It solves a real problem. Users are giving feedback and I'm shipping improvements. That's what matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real question
&lt;/h2&gt;

&lt;p&gt;Stop asking "should developers use AI?" &lt;/p&gt;

&lt;p&gt;Start asking "what can I build now that I have this leverage?"&lt;/p&gt;




&lt;p&gt;&lt;a href="https://github.com/ruidosujeira/depx" rel="noopener noreferrer"&gt;depx on GitHub&lt;/a&gt; | &lt;a href="https://crates.io/crates/depx" rel="noopener noreferrer"&gt;depx on crates.io&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rust</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Introducing Prism — a modern TS-first, ESM-only package registry (early stage)</title>
      <dc:creator>Rocco</dc:creator>
      <pubDate>Sat, 22 Nov 2025 02:17:46 +0000</pubDate>
      <link>https://dev.to/ruidosujeira/introducing-prism-a-modern-ts-first-esm-only-package-registry-early-stage-2dd3</link>
      <guid>https://dev.to/ruidosujeira/introducing-prism-a-modern-ts-first-esm-only-package-registry-early-stage-2dd3</guid>
      <description>&lt;p&gt;Prism is a modern, TypeScript-first, ESM-only package registry I’m building from scratch — clean architecture, no legacy baggage.&lt;/p&gt;

&lt;p&gt;What’s working now&lt;/p&gt;

&lt;p&gt;real publish pipeline&lt;/p&gt;

&lt;p&gt;metadata extraction (exports, types, file tree)&lt;/p&gt;

&lt;p&gt;storage drivers (Memory / FS / S3-stub)&lt;/p&gt;

&lt;p&gt;lightweight web UI&lt;/p&gt;

&lt;p&gt;partial npm compatibility&lt;br&gt;
(npm/pnpm/Yarn/Bun can already install from Prism)&lt;/p&gt;

&lt;p&gt;What Prism aims to become&lt;/p&gt;

&lt;p&gt;A modern superset of the npm protocol — typed, deterministic, storage-pluggable, and actually pleasant to work with.&lt;/p&gt;

&lt;p&gt;Why I’m sharing&lt;/p&gt;

&lt;p&gt;It’s early, but the foundation is solid.&lt;br&gt;
Looking for feedback and contributors who enjoy dev-infra, registries, or TS architecture.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/ruidosujeira/prism" rel="noopener noreferrer"&gt;https://github.com/ruidosujeira/prism&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>node</category>
    </item>
    <item>
      <title>Why are registries and node_modules still black boxes in 2025?</title>
      <dc:creator>Rocco</dc:creator>
      <pubDate>Fri, 21 Nov 2025 03:33:36 +0000</pubDate>
      <link>https://dev.to/ruidosujeira/why-are-registries-and-nodemodules-still-black-boxes-in-2025-2dd3</link>
      <guid>https://dev.to/ruidosujeira/why-are-registries-and-nodemodules-still-black-boxes-in-2025-2dd3</guid>
      <description>&lt;p&gt;Let’s be real: JavaScript package installation hasn’t fundamentally changed since 2014. We just stacked tools on top of the same old foundation.&lt;/p&gt;

&lt;p&gt;node_modules is still a black hole, only faster depending on your PM.&lt;br&gt;
Same idea, same problems, same blind trust.&lt;/p&gt;

&lt;p&gt;The bigger issue isn’t npm or pnpm themselves.&lt;br&gt;
It’s that we still have no real visibility into what we install.&lt;/p&gt;

&lt;p&gt;Registries today are black boxes:&lt;/p&gt;

&lt;p&gt;you can’t see a real file-tree&lt;/p&gt;

&lt;p&gt;there’s no true version diff&lt;/p&gt;

&lt;p&gt;metadata is minimal and inconsistent&lt;/p&gt;

&lt;p&gt;no clear runtime compatibility (Node/Bun/Deno/Workers)&lt;/p&gt;

&lt;p&gt;export-maps break unpredictably&lt;/p&gt;

&lt;p&gt;packages can change massively between versions and you only find out later&lt;/p&gt;

&lt;p&gt;Everyone keeps arguing “pnpm is faster”, “npm is stable”, “bun is aggressive” — but it’s all the same model.&lt;/p&gt;

&lt;p&gt;The ecosystem has normalized no inspection.&lt;br&gt;
We install millions of packages blindly.&lt;/p&gt;

&lt;p&gt;That’s not engineering.&lt;br&gt;
That’s hope.&lt;/p&gt;

&lt;p&gt;I’m building something to fix this, but the discussion is bigger than my project.&lt;/p&gt;

&lt;p&gt;Why did such a huge ecosystem never prioritize transparency?&lt;/p&gt;

&lt;p&gt;Curious to hear honest thoughts.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>architecture</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
