<?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: Lucas Santana</title>
    <description>The latest articles on DEV Community by Lucas Santana (@luksantana).</description>
    <link>https://dev.to/luksantana</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%2F957450%2F7d120583-dad0-4fdb-87c1-d644d30f1d27.jpg</url>
      <title>DEV Community: Lucas Santana</title>
      <link>https://dev.to/luksantana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luksantana"/>
    <language>en</language>
    <item>
      <title>We built an open-source IDP that stops AI-generated code from becoming tech debt</title>
      <dc:creator>Lucas Santana</dc:creator>
      <pubDate>Sat, 07 Mar 2026 20:21:51 +0000</pubDate>
      <link>https://dev.to/luksantana/we-built-an-open-source-idp-that-stops-ai-generated-code-from-becoming-tech-debt-2kbj</link>
      <guid>https://dev.to/luksantana/we-built-an-open-source-idp-that-stops-ai-generated-code-from-becoming-tech-debt-2kbj</guid>
      <description>&lt;p&gt;Your team shipped 47 AI-generated components last month. How many passed a security review?&lt;/p&gt;

&lt;p&gt;If you hesitated, you're not alone. Teams are adopting AI code generation faster than they're building guardrails around it. The result is what we call &lt;strong&gt;AI limbo engineering&lt;/strong&gt; — beautiful code that nobody audited, nobody tested, and nobody can trace back to a decision.&lt;/p&gt;

&lt;p&gt;We built &lt;a href="https://forgespace.co" rel="noopener noreferrer"&gt;Forge Space&lt;/a&gt; to fix that.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Forge Space?
&lt;/h2&gt;

&lt;p&gt;An open-source Internal Developer Platform that adds governance to AI code generation. Think Backstage, but lightweight and focused on the generate-to-ship pipeline.&lt;/p&gt;

&lt;p&gt;Every AI generation gets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;An A-F scorecard&lt;/strong&gt; covering security, quality, accessibility, and compliance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy checks&lt;/strong&gt; that block or warn based on configurable rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An audit trail&lt;/strong&gt; from prompt to production&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get started in 60 seconds
&lt;/h2&gt;



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

&lt;/div&gt;



&lt;p&gt;This scaffolds governance files in your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.forge/
  policies/
    security.policy.json    # no-secrets, dep scanning
    quality.policy.json     # lint, tests, function size
    compliance.policy.json  # license headers, audit trail
  scorecard.json            # threshold and weight config
  features.json             # feature flag seed
.github/workflows/
  scorecard.yml             # PR scorecard comments
  policy-check.yml          # blocks on violations
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now every PR gets scored:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx forge-scorecard &lt;span class="nt"&gt;--threshold&lt;/span&gt; 70
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Forge Space Scorecard
━━━━━━━━━━━━━━━━━━━━
Security:    85/100 (weight: 30%)
Quality:     78/100 (weight: 30%)
Compliance:  90/100 (weight: 20%)
Operations:  72/100 (weight: 20%)
━━━━━━━━━━━━━━━━━━━━
Overall: 81/100 (B)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The three built-in policy packs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security (blocks merges)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;no-secrets&lt;/strong&gt;: Scans for hardcoded credentials and API keys&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dep-vulnerabilities&lt;/strong&gt;: Flags high/critical CVEs in your dependency tree&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quality (warns)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;lint-clean&lt;/strong&gt;: ESLint passes with zero errors&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;tests-present&lt;/strong&gt;: New modules include at least one test file&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;no-large-functions&lt;/strong&gt;: Functions stay under 50 lines&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Compliance (warns)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;audit-trail&lt;/strong&gt;: Generation logs are preserved&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;feature-flagged&lt;/strong&gt;: New features are behind feature flags&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can add custom policies too:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"custom"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"rules"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"max-bundle-size"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"severity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"block"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"check"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"bundle-size"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"threshold"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3072&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Beyond CLI: the full platform
&lt;/h2&gt;

&lt;p&gt;Forge Space is more than CI checks. The web app (&lt;a href="https://siza.forgespace.co" rel="noopener noreferrer"&gt;siza.forgespace.co&lt;/a&gt;) gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI code generation&lt;/strong&gt; with inline A-F quality scoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service catalog&lt;/strong&gt; for tracking your services, APIs, and libraries&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Golden path templates&lt;/strong&gt; for scaffolding new projects with governance built in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BYOK support&lt;/strong&gt; — bring your own Anthropic, OpenAI, or Google API keys&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The MCP gateway routes AI tool calls through a central hub with JWT auth, RBAC, and audit logging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not just use Backstage?
&lt;/h2&gt;

&lt;p&gt;Backstage is excellent for large enterprises with dedicated platform teams. But if you're a team of 5-50 developers:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Backstage&lt;/th&gt;
&lt;th&gt;Forge Space&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Setup time&lt;/td&gt;
&lt;td&gt;Days to weeks&lt;/td&gt;
&lt;td&gt;&lt;code&gt;npx forge-init&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform team required&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;Infrastructure + maintenance&lt;/td&gt;
&lt;td&gt;Free tier, self-hostable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI-native&lt;/td&gt;
&lt;td&gt;Plugin ecosystem&lt;/td&gt;
&lt;td&gt;Built-in generation + scoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Focus&lt;/td&gt;
&lt;td&gt;Service catalog&lt;/td&gt;
&lt;td&gt;Generate-to-ship governance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;We're not replacing Backstage. We're filling the gap for teams that need governance &lt;em&gt;now&lt;/em&gt; but can't justify a platform team.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's open source
&lt;/h2&gt;

&lt;p&gt;Everything is MIT licensed across 9 repos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;@forgespace/core&lt;/strong&gt; — Scorecard engine, policy evaluator, CLI tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;@forgespace/ui-mcp&lt;/strong&gt; — MCP server for UI generation (30+ tools)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;@forgespace/siza-gen&lt;/strong&gt; — Context assembler for AI generation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mcp-gateway&lt;/strong&gt; — Central routing hub with auth and audit&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;siza&lt;/strong&gt; — Next.js web app + Electron desktop app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All on npm. All on GitHub.&lt;/p&gt;

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

&lt;p&gt;We're focused on getting this into real teams' hands before building more features. If you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Want to try it&lt;/strong&gt;: &lt;a href="https://siza.forgespace.co" rel="noopener noreferrer"&gt;siza.forgespace.co&lt;/a&gt; (free tier, no credit card)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Want to self-host&lt;/strong&gt;: &lt;code&gt;npx forge-init&lt;/code&gt; + check the docs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Want to contribute&lt;/strong&gt;: We have good first issues waiting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Star us on GitHub if this resonates: &lt;a href="https://github.com/Forge-Space" rel="noopener noreferrer"&gt;github.com/Forge-Space&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Forge Space is built by a small team that got tired of AI-generated code bypassing every quality check we spent years building. If you've felt the same frustration, we'd love to hear from you.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
