<?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: Samantha Start</title>
    <description>The latest articles on DEV Community by Samantha Start (@sstart).</description>
    <link>https://dev.to/sstart</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3842649%2Ffc89cfab-e259-4064-aa69-be67773a8884.jpeg</url>
      <title>DEV Community: Samantha Start</title>
      <link>https://dev.to/sstart</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sstart"/>
    <language>en</language>
    <item>
      <title>You built an app with AI this weekend. Here are the security holes it probably has.</title>
      <dc:creator>Samantha Start</dc:creator>
      <pubDate>Sun, 12 Jul 2026 00:13:52 +0000</pubDate>
      <link>https://dev.to/sstart/you-built-an-app-with-ai-this-weekend-here-are-the-security-holes-it-probably-has-ape</link>
      <guid>https://dev.to/sstart/you-built-an-app-with-ai-this-weekend-here-are-the-security-holes-it-probably-has-ape</guid>
      <description>&lt;p&gt;You had an idea on Friday. By Sunday you had a working app. The AI wrote most of the code, you wired it together, and it just worked.&lt;/p&gt;

&lt;p&gt;Here is the part nobody says out loud: you did not read every line the AI wrote. Almost nobody does. That is fine, it is how building works now. But it means there are probably a few security holes sitting in your app that you cannot see, because you never looked at the code that made them.&lt;/p&gt;

&lt;p&gt;The good news: the most common holes in AI-built apps are a short, predictable list. You can check for them in about 15 minutes. Here are the three that cause the most real trouble, in plain terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. A secret written straight into the code
&lt;/h2&gt;

&lt;p&gt;AI assistants love to put your API key or database password right in the code to make things work. It runs great. The problem shows up later: that secret ends up in your git history, and public repos get scanned by bots within minutes of going up.&lt;/p&gt;

&lt;p&gt;Deleting the line does not fix it. The secret still lives in your past commits. Anyone who clones the repo can read it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to check:&lt;/strong&gt; search your code for anything that looks like a key or password. If you find one, or if one was ever committed, rotate it now (create a new one, revoke the old), then move secrets into environment variables instead of the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. An API route with no lock on the door
&lt;/h2&gt;

&lt;p&gt;When the AI builds a route that returns data, it often does not add a check for who is asking. It works in testing because you are the only user. Then it ships, and anyone who finds the URL can pull the data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to check:&lt;/strong&gt; for every route that returns user or account data, confirm there is a login or permission check in front of it. If a route hands back private data to anyone who asks, that is the first thing to fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. A public default that should be private
&lt;/h2&gt;

&lt;p&gt;Storage buckets, databases, and file uploads often start with a default that is more open than you meant. The AI picks a setting that works, not the one that is safe. So your uploads or your database might be readable by the whole internet without you knowing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to check:&lt;/strong&gt; look at your storage and database settings. Anything holding real user data should be private by default, with access granted on purpose, not by accident.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 15-minute pre-launch checklist
&lt;/h2&gt;

&lt;p&gt;Before you put your app in front of real people, run this list:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No API keys, passwords, or tokens in the code. Rotate anything that was ever committed.&lt;/li&gt;
&lt;li&gt;Every route that returns user data has a login and permission check.&lt;/li&gt;
&lt;li&gt;Storage, databases, and buckets are private by default.&lt;/li&gt;
&lt;li&gt;Dependencies are up to date, with no known-vulnerable versions.&lt;/li&gt;
&lt;li&gt;Error messages do not leak stack traces, config, or secrets.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That covers the large majority of real incidents in fast-built apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you want it done for you
&lt;/h2&gt;

&lt;p&gt;You do not have to eyeball all of this. An independent scan can run the whole checklist and hand you the exact fixes, so you can ship with confidence instead of a nagging worry. That is the problem we built RepoFortify to solve, and it plugs into Claude Code, Cursor, and Windsurf so the fixes show up right where you are already working. But even if you never use a tool, the checklist above will catch most of what matters.&lt;/p&gt;

&lt;p&gt;Ship fast. Just do the 15-minute check first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://repofortify.com/mcp?utm_source=devto&amp;amp;utm_medium=content&amp;amp;utm_campaign=vibe-security" rel="noopener noreferrer"&gt;https://repofortify.com/mcp?utm_source=devto&amp;amp;utm_medium=content&amp;amp;utm_campaign=vibe-security&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What Google Lighthouse Did for Web Performance, We Need for Code Repos</title>
      <dc:creator>Samantha Start</dc:creator>
      <pubDate>Fri, 10 Apr 2026 23:33:25 +0000</pubDate>
      <link>https://dev.to/sstart/what-google-lighthouse-did-for-web-performance-we-need-for-code-repos-20j8</link>
      <guid>https://dev.to/sstart/what-google-lighthouse-did-for-web-performance-we-need-for-code-repos-20j8</guid>
      <description>&lt;p&gt;Remember before Lighthouse? Web performance was a black box. You knew your site felt slow, but you didn't have a standardized way to measure it, benchmark it, or explain it to stakeholders.&lt;/p&gt;

&lt;p&gt;Lighthouse changed that. One URL, one score, actionable breakdown. Suddenly performance was a conversation everyone could have, not just the senior engineer who profiled Chrome DevTools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code repos have the same problem today
&lt;/h2&gt;

&lt;p&gt;Most developers can tell you whether a repo 'feels' well-maintained. But there's no standardized score. No quick way to benchmark. No shared language between the developer who maintains it and the manager who funds it.&lt;/p&gt;

&lt;p&gt;The signals exist — CI pipelines, test coverage, dependency health, branch protection, type safety, dead code, security — but nobody aggregates them into a single, comparable number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters now
&lt;/h2&gt;

&lt;p&gt;Two trends are colliding:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI coding tools are producing repos faster than ever.&lt;/strong&gt; Claude Code, Cursor, Windsurf — developers are shipping in hours what used to take weeks. But the AI focuses on working code, not operational readiness.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open-source dependency chains are deeper than ever.&lt;/strong&gt; When you pick a starter template or library, you're inheriting its infrastructure patterns. If it has no tests and no CI, neither will your project — unless you add them yourself.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The gap between 'working code' and 'production-ready code' is getting wider, and there's no standard way to measure it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Lighthouse for repos looks like
&lt;/h2&gt;

&lt;p&gt;We built &lt;a href="https://repofortify.com" rel="noopener noreferrer"&gt;RepoFortify&lt;/a&gt; to be that standard. Paste a public GitHub URL, get a score out of 100 across 9 signals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI pipeline (15%)&lt;/li&gt;
&lt;li&gt;Test coverage (25%)&lt;/li&gt;
&lt;li&gt;Dependency health (10%)&lt;/li&gt;
&lt;li&gt;Branch protection (10%)&lt;/li&gt;
&lt;li&gt;Type safety (10%)&lt;/li&gt;
&lt;li&gt;Dead code (10%)&lt;/li&gt;
&lt;li&gt;Exposed routes (5%)&lt;/li&gt;
&lt;li&gt;Documentation (10%)&lt;/li&gt;
&lt;li&gt;Security headers (5%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No signup, no paywall for public repos. We also ship an MCP package (&lt;code&gt;npx @repofortify/mcp&lt;/code&gt;) so AI coding tools can run scans inline.&lt;/p&gt;

&lt;p&gt;The goal isn't to shame anyone. It's to give teams a shared language for production readiness — the same way Lighthouse gave teams a shared language for performance.&lt;/p&gt;




</description>
      <category>opensource</category>
      <category>devops</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>We Scanned 6 SaaS Starter Templates — Here's What We Found</title>
      <dc:creator>Samantha Start</dc:creator>
      <pubDate>Fri, 10 Apr 2026 21:15:55 +0000</pubDate>
      <link>https://dev.to/sstart/we-scanned-6-saas-starter-templates-heres-what-we-found-116d</link>
      <guid>https://dev.to/sstart/we-scanned-6-saas-starter-templates-heres-what-we-found-116d</guid>
      <description>&lt;p&gt;Starter templates promise a head start. But how production-ready are they out of the box? We scanned 6 popular templates across Next.js, Remix, and SvelteKit using 9 production readiness signals.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 9 Signals
&lt;/h2&gt;

&lt;p&gt;Our scanner checks: CI pipeline, test coverage, dependency health, branch protection, type safety, dead code detection, exposed routes, documentation quality, and security headers. Each is weighted by impact — tests are 25% of the total score, CI is 15%.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Results
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template&lt;/th&gt;
&lt;th&gt;Framework&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;epic-stack&lt;/td&gt;
&lt;td&gt;Remix&lt;/td&gt;
&lt;td&gt;5,531&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;next-starter&lt;/td&gt;
&lt;td&gt;Next.js&lt;/td&gt;
&lt;td&gt;974&lt;/td&gt;
&lt;td&gt;86&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;remix-saas&lt;/td&gt;
&lt;td&gt;Remix&lt;/td&gt;
&lt;td&gt;1,465&lt;/td&gt;
&lt;td&gt;84&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CMSaasStarter&lt;/td&gt;
&lt;td&gt;SvelteKit&lt;/td&gt;
&lt;td&gt;2,297&lt;/td&gt;
&lt;td&gt;73&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;chadnext&lt;/td&gt;
&lt;td&gt;Next.js&lt;/td&gt;
&lt;td&gt;1,323&lt;/td&gt;
&lt;td&gt;49&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;kitforstartups&lt;/td&gt;
&lt;td&gt;SvelteKit&lt;/td&gt;
&lt;td&gt;734&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Averages:&lt;/strong&gt; Remix 86.5, Next.js 67.5, SvelteKit 39.0. Overall average: 64/100.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stars don't predict quality
&lt;/h3&gt;

&lt;p&gt;chadnext has 350 more stars than next-starter but scores 37 points lower. Community popularity measures how many people found something useful, not whether it's production-ready.&lt;/p&gt;

&lt;h3&gt;
  
  
  Framework ecosystem maturity matters
&lt;/h3&gt;

&lt;p&gt;Remix starters both scored 84+. This isn't coincidence — the Remix ecosystem has strong opinions about testing and CI that flow into community templates. SvelteKit's ecosystem is newer and more varied.&lt;/p&gt;

&lt;h3&gt;
  
  
  The gap is operational, not code quality
&lt;/h3&gt;

&lt;p&gt;Most of these templates have clean, well-structured code. Where they diverge is CI pipelines, test coverage, dependency management, and branch protection. The 'boring' infrastructure that keeps production stable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means For You
&lt;/h2&gt;

&lt;p&gt;If you're picking a starter template:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check if it has CI that actually runs on PRs&lt;/li&gt;
&lt;li&gt;Look for any test coverage at all (many have zero)&lt;/li&gt;
&lt;li&gt;Check dependency freshness — stale deps = security risk&lt;/li&gt;
&lt;li&gt;Consider that the template's infrastructure patterns become YOUR patterns&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can scan any public GitHub repo at &lt;a href="https://repofortify.com" rel="noopener noreferrer"&gt;repofortify.com&lt;/a&gt; — free, no signup.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Scanned 10 Popular TypeScript Repos — Stars Don't Predict Production Readiness</title>
      <dc:creator>Samantha Start</dc:creator>
      <pubDate>Thu, 26 Mar 2026 04:16:32 +0000</pubDate>
      <link>https://dev.to/sstart/i-scanned-10-popular-typescript-repos-stars-dont-predict-production-readiness-1joe</link>
      <guid>https://dev.to/sstart/i-scanned-10-popular-typescript-repos-stars-dont-predict-production-readiness-1joe</guid>
      <description>&lt;p&gt;I couldn't help myself. I took 10 popular TypeScript repositories — all between 4,000 and 5,000 GitHub stars — and ran them through our production readiness scanner.&lt;/p&gt;

&lt;p&gt;The results surprised me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Scores
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Repo&lt;/th&gt;
&lt;th&gt;Stars&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;What I noticed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mengxi-ream/read-frog&lt;/td&gt;
&lt;td&gt;4,941&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;79/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Translation browser extension with its infrastructure together. Genuinely impressed.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tagspaces/tagspaces&lt;/td&gt;
&lt;td&gt;4,985&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;77/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Offline-first document manager. When your app works offline, you &lt;em&gt;have&lt;/em&gt; to get the engineering right.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;useplunk/plunk&lt;/td&gt;
&lt;td&gt;4,933&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;75/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Open-source email platform. This is what happens when maintainers treat readiness as a first-class concern.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;microsoft/FluidFramework&lt;/td&gt;
&lt;td&gt;4,917&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;72/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Real-time collab library. Building distributed systems for others to build on — you can't fake the infrastructure.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;extension-js/extension.js&lt;/td&gt;
&lt;td&gt;4,963&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;66/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cross-browser extension framework. Solid. Building browser extensions is already painful; investing in infra on top shows discipline.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;microsoft/tsdoc&lt;/td&gt;
&lt;td&gt;4,943&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;65/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;TypeScript doc comment standard. Expected higher from Microsoft tbh — but it's a spec project, not an app.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;opennextjs/opennextjs-aws&lt;/td&gt;
&lt;td&gt;4,974&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;60/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Next.js adapter for AWS. Someone thought about deployment beyond "it works on my machine."&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gluestack/gluestack-ui&lt;/td&gt;
&lt;td&gt;4,994&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;49/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;React/React Native component library. Nearly 5K stars, below 50. The components are gorgeous. The infrastructure has gaps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;tinyplex/tinybase&lt;/td&gt;
&lt;td&gt;4,980&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;44/100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reactive data store. Clean API, great docs, but infrastructure signals aren't keeping pace with the star count.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Stars don't predict production readiness. At all.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The highest-starred repo in my set (gluestack-ui, 4,994 stars) scored 49. The highest-scoring repo (read-frog, 79) has fewer stars than most of the others.&lt;/p&gt;

&lt;p&gt;The repos that scored well had something in common: someone invested in CI, tests, dependency management, and configuration &lt;em&gt;as foundational work&lt;/em&gt;, not as an afterthought.&lt;/p&gt;

&lt;p&gt;The repos that scored poorly had great code and great docs — but the engineering infrastructure around the code was thin or missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pattern
&lt;/h2&gt;

&lt;p&gt;Every time I scan repos, the same pattern emerges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The code is usually fine.&lt;/strong&gt; Whether human-written or AI-assisted, the application logic works.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The infrastructure is where it breaks.&lt;/strong&gt; CI pipelines, test coverage, branch protection, secrets management, dependency health — these are the signals that separate "it runs" from "it's production-ready."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stars measure popularity, not readiness.&lt;/strong&gt; A repo can have 5,000 stars and still be missing half the production basics.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What We Check
&lt;/h2&gt;

&lt;p&gt;Our scanner looks at 9 production readiness signals:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CI enforcement&lt;/li&gt;
&lt;li&gt;Test coverage&lt;/li&gt;
&lt;li&gt;Type safety&lt;/li&gt;
&lt;li&gt;Dependency health&lt;/li&gt;
&lt;li&gt;Branch protection&lt;/li&gt;
&lt;li&gt;Dead code&lt;/li&gt;
&lt;li&gt;Dead exports&lt;/li&gt;
&lt;li&gt;Linter configuration&lt;/li&gt;
&lt;li&gt;Route coverage&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each signal is a binary or scored check. No AI-generated suggestions, no hallucinated fixes — just structural verification.&lt;/p&gt;

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

&lt;p&gt;If you maintain an open-source TypeScript project (or any project, really), I'm genuinely curious how it scores. The scanner is free, no signup required:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://repofortify.com" rel="noopener noreferrer"&gt;repofortify.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Paste your repo URL, get a score in seconds. I'd love to see what the dev.to community's projects look like.&lt;/p&gt;

&lt;p&gt;And if you score above 75 — seriously, tell me. I want to celebrate the repos that are doing it right.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Samantha Start builds production readiness scanning tools at &lt;a href="https://repofortify.com" rel="noopener noreferrer"&gt;RepoFortify&lt;/a&gt;. She scans too many repos and can't stop talking about what she finds.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>opensource</category>
      <category>devops</category>
      <category>codequality</category>
    </item>
    <item>
      <title>Two Types of AI Code Debt — And Only One Is Scannable</title>
      <dc:creator>Samantha Start</dc:creator>
      <pubDate>Wed, 25 Mar 2026 16:14:26 +0000</pubDate>
      <link>https://dev.to/sstart/two-types-of-ai-code-debt-and-only-one-is-scannable-4216</link>
      <guid>https://dev.to/sstart/two-types-of-ai-code-debt-and-only-one-is-scannable-4216</guid>
      <description>&lt;p&gt;After scanning 200+ repos built with Claude Code, Cursor, and Copilot, we've identified two distinct types of debt:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Structural Debt — Scannable and Fixable
&lt;/h2&gt;

&lt;p&gt;Missing CI pipeline, zero test coverage, hardcoded secrets, unmanaged dependencies. This is measurable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;73% of AI-built repos&lt;/strong&gt; have no CI pipeline&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;68%&lt;/strong&gt; have zero tests
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;41%&lt;/strong&gt; have hardcoded secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are binary checks. Either CI exists or it doesn't. Either secrets are in env vars or they're hardcoded. A scanner can catch all of this.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Comprehension Debt — Harder to Measure
&lt;/h2&gt;

&lt;p&gt;Code that works but nobody understands because nobody wrote it with intent. AI generates 200 lines where 40 would do. The abstractions are illogical. The reviewer's eyes glaze over.&lt;/p&gt;

&lt;p&gt;This debt compounds because each untested module interacts with other untested modules. The failure modes multiply faster than the code volume.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Gap
&lt;/h2&gt;

&lt;p&gt;Most teams don't realize they have both types until the first production incident. By then, the structural debt has made the comprehension debt impossible to diagnose.&lt;/p&gt;

&lt;p&gt;We built &lt;a href="https://repofortify.com" rel="noopener noreferrer"&gt;RepoFortify&lt;/a&gt; to catch Type 1 — the structural gaps that AI coding tools consistently skip. It checks 9 production readiness signals in seconds.&lt;/p&gt;

&lt;p&gt;Type 2 is the next frontier. But you can't fix comprehension debt if your CI is broken and your tests don't exist.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start with structure. The rest follows.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Free scan: &lt;a href="https://repofortify.com" rel="noopener noreferrer"&gt;repofortify.com&lt;/a&gt; — paste your repo URL, get a production readiness score across 9 signals. No signup required.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>ai</category>
      <category>codequality</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
