<?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: Raja Karuppasamy</title>
    <description>The latest articles on DEV Community by Raja Karuppasamy (@raja_karuppasamy_dfec2475).</description>
    <link>https://dev.to/raja_karuppasamy_dfec2475</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%2F3796526%2F18eea131-e23a-40d4-8179-027c6d56198e.png</url>
      <title>DEV Community: Raja Karuppasamy</title>
      <link>https://dev.to/raja_karuppasamy_dfec2475</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raja_karuppasamy_dfec2475"/>
    <language>en</language>
    <item>
      <title>I built a CI/CD intelligence platform that scores every deploy and comments on your PRs</title>
      <dc:creator>Raja Karuppasamy</dc:creator>
      <pubDate>Wed, 25 Mar 2026 06:03:18 +0000</pubDate>
      <link>https://dev.to/raja_karuppasamy_dfec2475/i-built-a-cicd-intelligence-platform-that-scores-every-deploy-and-comments-on-your-prs-4633</link>
      <guid>https://dev.to/raja_karuppasamy_dfec2475/i-built-a-cicd-intelligence-platform-that-scores-every-deploy-and-comments-on-your-prs-4633</guid>
      <description>&lt;p&gt;The Problem: If you're an engineering manager or dev lead, you've probably asked these questions:&lt;/p&gt;

&lt;p&gt;"What shipped while I was sleeping?"&lt;br&gt;
"How risky was that deploy?"&lt;br&gt;
"Why does this pipeline keep failing?"&lt;br&gt;
"How much are we wasting on GitHub Actions?"&lt;/p&gt;

&lt;p&gt;I kept hearing these from eng managers. The answers always required digging through GitHub, cross-referencing Slack, and manually reconstructing timelines.&lt;br&gt;
So I built DeployGuard.&lt;br&gt;
What is DeployGuard?&lt;br&gt;
It's a CI/CD intelligence platform with five capabilities:&lt;br&gt;
Deploy Guard — Every push to production gets a risk score from 0–100 based on lines changed, files touched, test results, time of day, and author failure history.&lt;br&gt;
Cost Tracker — Per-repo, per-workflow CI/CD spend visibility. Automatically detects waste like flaky test reruns.&lt;br&gt;
Incident Replay — When a deploy fails, an incident is auto-created with the commit, PR, workflow, and error context.&lt;br&gt;
Intelligence Engine — Automatically detects recurring failure patterns, flaky pipelines, and calculates CI waste in dollars. No rules to configure.&lt;br&gt;
PR Bot — Posts a DeployGuard analysis comment directly on every PR with risk score, duration, and cost. Engineers see it without leaving GitHub.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3tqxgwlwaaf1azy8x6i6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3tqxgwlwaaf1azy8x6i6.png" alt=" " width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How the Risk Scoring Works&lt;br&gt;
The scoring engine evaluates 5 factors, each contributing 0–20 points:&lt;/p&gt;

&lt;p&gt;Lines changed&lt;br&gt;
Files touched (config files weighted 2x)&lt;br&gt;
Test results&lt;br&gt;
Time of day (Friday 5pm = high risk)&lt;br&gt;
Author's 30-day failure rate&lt;/p&gt;

&lt;p&gt;A deploy that changes 500 lines across 30 files on a Friday afternoon with no tests? That's scoring 85+ (danger zone).&lt;br&gt;
A small Monday morning fix with all tests passing? Score: 10 (safe).&lt;br&gt;
The Intelligence Engine&lt;br&gt;
This is what makes DeployGuard different from a dashboard. It actively finds problems:&lt;br&gt;
Recurring Failures — Groups failures by workflow and counts occurrences. "Your deploy-production workflow failed 5 times in 7 days" with the common commit messages that triggered failures.&lt;br&gt;
Flaky Pipeline Detection — Finds workflows where the status alternates between success and failure. Calculates a "flakiness score" based on how often the status flips.&lt;br&gt;
CI Waste Calculation — Sums up the dollar cost of failed builds, flaky reruns, and repeated failures. Shows you exactly how much money your CI pipeline is wasting.&lt;br&gt;
The PR Bot&lt;br&gt;
Every PR gets an automatic comment:&lt;br&gt;
MetricValueRisk Score🟢 20/100 (safe)WorkflowCIDuration33sCI Cost$0.0080&lt;br&gt;
This is the highest-impact feature. Engineers see the analysis without opening another tool.&lt;br&gt;
The Tech Stack&lt;/p&gt;

&lt;p&gt;Next.js 16 + TypeScript&lt;br&gt;
Supabase (PostgreSQL + Row Level Security)&lt;br&gt;
GitHub App with webhooks&lt;br&gt;
Stripe (billing)&lt;br&gt;
Vercel (hosting)&lt;br&gt;
Slack Incoming Webhooks&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdo1ck0lah2hhje9feiuy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdo1ck0lah2hhje9feiuy.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw1rdltuf50ej871889zl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw1rdltuf50ej871889zl.png" alt=" " width="800" height="415"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffivnenx1jf386zf2880x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffivnenx1jf386zf2880x.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwl7jsqs8rc82akl9kskm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwl7jsqs8rc82akl9kskm.png" alt=" " width="800" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcqw4jfds9c73iqowu0sh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcqw4jfds9c73iqowu0sh.png" alt=" " width="800" height="407"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkv2jsotdqu8lbmxks700.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkv2jsotdqu8lbmxks700.png" alt=" " width="800" height="409"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frk43ep2qtlvq59u58q05.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frk43ep2qtlvq59u58q05.png" alt=" " width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Total monthly cost: $0 (all free tiers).&lt;br&gt;
Try It&lt;br&gt;
DeployGuard is free for 1 repo. No credit card.&lt;/p&gt;

&lt;p&gt;Go to deployguard.dev&lt;br&gt;
Connect your GitHub&lt;br&gt;
See your first risk score on the next push&lt;/p&gt;

&lt;p&gt;I'm a solo developer building this under ClearFix.co. Would love feedback from anyone managing engineering teams.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>github</category>
      <category>cicd</category>
      <category>startup</category>
    </item>
    <item>
      <title>How to get AI-powered CI/CD failure diagnosis in 4 lines of GitHub Actions code</title>
      <dc:creator>Raja Karuppasamy</dc:creator>
      <pubDate>Mon, 02 Mar 2026 14:42:50 +0000</pubDate>
      <link>https://dev.to/raja_karuppasamy_dfec2475/how-to-get-ai-powered-cicd-failure-diagnosis-in-4-lines-of-github-actions-code-3kaf</link>
      <guid>https://dev.to/raja_karuppasamy_dfec2475/how-to-get-ai-powered-cicd-failure-diagnosis-in-4-lines-of-github-actions-code-3kaf</guid>
      <description>&lt;p&gt;Every DevOps engineer knows this feeling: your pipeline fails at 2AM, &lt;br&gt;
the error says "Unknown error" and you spend 45 minutes digging through &lt;br&gt;
logs to find the actual cause.&lt;/p&gt;

&lt;p&gt;I built PipelineIQ to fix this. Here's how to set it up in 4 lines.&lt;/p&gt;
&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;When your GitHub Actions pipeline fails, PipelineIQ:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reads the error logs automatically&lt;/li&gt;
&lt;li&gt;Sends them to Claude AI for diagnosis&lt;/li&gt;
&lt;li&gt;Posts the root cause + fix steps to your Slack&lt;/li&gt;
&lt;li&gt;Updates your DORA metrics dashboard&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All within seconds of the failure.&lt;/p&gt;
&lt;h2&gt;
  
  
  The 4-line integration
&lt;/h2&gt;

&lt;p&gt;Add this step to any GitHub Actions workflow:&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="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;PipelineIQ&lt;/span&gt;
  &lt;span class="na"&gt;if&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;always()&lt;/span&gt;
  &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Raja-Karuppasamy/pipelineiq-action@v1&lt;/span&gt;
  &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;api-key&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.PIPELINEIQ_API_KEY }}&lt;/span&gt;
    &lt;span class="na"&gt;job-status&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ job.status }}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No configuration. No webhooks to set up. No manual curl commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI Diagnosis&lt;/strong&gt; — instead of "exit code 1", you get:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The deployment is failing because the application cannot establish &lt;br&gt;
a connection to PostgreSQL at db.production.internal:5432. This is &lt;br&gt;
likely due to missing DATABASE_URL in production environment variables."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Recommended Fix&lt;/strong&gt; — specific numbered steps:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Verify DATABASE_URL is set in Railway/Heroku/Render environment&lt;/li&gt;
&lt;li&gt;Check if database is running: pg_isready -h db.production.internal&lt;/li&gt;
&lt;li&gt;Verify connection string format: postgresql://user:pass@host:5432/db&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;DORA Metrics&lt;/strong&gt; — deployment frequency, change failure rate, MTTR, &lt;br&gt;
and lead time — automatically computed from your pipeline data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Slack + Email alerts&lt;/strong&gt; — your team gets notified with the diagnosis &lt;br&gt;
before anyone has opened their laptop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Sign up at pipelineiq.dev/signup — free, no credit card&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;PIPELINEIQ_API_KEY&lt;/code&gt; to your GitHub repo secrets&lt;/li&gt;
&lt;li&gt;Add the 4-line step to your workflow&lt;/li&gt;
&lt;li&gt;Push a commit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Free tier includes 100 pipeline runs/month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built this
&lt;/h2&gt;

&lt;p&gt;I was tired of spending 30-60 minutes per pipeline failure just &lt;br&gt;
understanding what broke. The logs are always there — they just need &lt;br&gt;
someone (or something) to read them properly.&lt;/p&gt;

&lt;p&gt;PipelineIQ uses Claude AI to read your logs the way a senior DevOps &lt;br&gt;
engineer would — with context about what the error actually means and &lt;br&gt;
what to do about it.&lt;/p&gt;




&lt;p&gt;Try it free: pipelineiq.dev/signup&lt;/p&gt;

&lt;p&gt;Would love feedback from anyone who tries it.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>github</category>
      <category>cicd</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I built an AI tool that diagnoses CI/CD pipeline failures in seconds</title>
      <dc:creator>Raja Karuppasamy</dc:creator>
      <pubDate>Sat, 28 Feb 2026 04:03:04 +0000</pubDate>
      <link>https://dev.to/raja_karuppasamy_dfec2475/how-i-built-an-ai-tool-that-diagnoses-cicd-pipeline-failures-in-seconds-2igi</link>
      <guid>https://dev.to/raja_karuppasamy_dfec2475/how-i-built-an-ai-tool-that-diagnoses-cicd-pipeline-failures-in-seconds-2igi</guid>
      <description>&lt;p&gt;Every engineering team I've talked to has the same frustration.&lt;br&gt;
Pipeline fails. Engineer gets a Slack notification. Opens GitHub Actions. Stares at 300 lines of logs. Googles the error. Checks Stack Overflow. 45 minutes later — maybe they've found the fix.&lt;br&gt;
I built PipelineIQ to eliminate that 45 minutes.&lt;br&gt;
What it does&lt;br&gt;
When a CI/CD pipeline fails, PipelineIQ automatically:&lt;/p&gt;

&lt;p&gt;Captures the error logs&lt;br&gt;
Sends them to Claude AI for analysis&lt;br&gt;
Delivers a Slack alert with the exact root cause and fix steps — within seconds&lt;/p&gt;

&lt;p&gt;Here's a real example of what lands in Slack:&lt;br&gt;
🔴 Pipeline Failure: Stripe API connection timeout blocking payment webhooks&lt;/p&gt;

&lt;p&gt;AI Diagnosis: The deployment is failing because the application cannot establish a connection to Stripe's API within the 30-second timeout limit. This is preventing payment webhook processing.&lt;br&gt;
Recommended Fix: Check STRIPE_SECRET_KEY and STRIPE_PUBLISHABLE_KEY in production environment variables. Test connectivity to api.stripe.com from your deployment environment. Increase API timeout from 30s to 60s.&lt;/p&gt;

&lt;p&gt;No log diving. No guessing. Specific, actionable steps.&lt;br&gt;
The stack&lt;/p&gt;

&lt;p&gt;FastAPI — Python backend with async support&lt;br&gt;
Supabase — PostgreSQL database with Row Level Security&lt;br&gt;
Anthropic Claude API — AI diagnosis engine&lt;br&gt;
Slack API — Rich block-based alerts&lt;br&gt;
Railway — Production deployment&lt;br&gt;
GitHub Actions — Integration via one workflow step&lt;/p&gt;

&lt;p&gt;How the integration works&lt;br&gt;
You add one step to any existing GitHub Actions workflow:&lt;br&gt;
yaml- name: Notify PipelineIQ&lt;br&gt;
  if: always()&lt;br&gt;
  run: |&lt;br&gt;
    curl -X POST $PIPELINEIQ_URL/api/v1/pipelines/runs \&lt;br&gt;
      -H "X-PipelineIQ-Key: $PIPELINEIQ_API_KEY" \&lt;br&gt;
      -H "Content-Type: application/json" \&lt;br&gt;
      -d '{&lt;br&gt;
        "repo_full_name": "${{ github.repository }}",&lt;br&gt;
        "branch": "${{ github.ref_name }}",&lt;br&gt;
        "commit_sha": "${{ github.sha }}",&lt;br&gt;
        "commit_message": "${{ github.event.head_commit.message }}",&lt;br&gt;
        "workflow_name": "${{ github.workflow }}",&lt;br&gt;
        "status": "${{ job.status }}",&lt;br&gt;
        "started_at": "${{ github.event.head_commit.timestamp }}"&lt;br&gt;
      }'&lt;br&gt;
That's it. Every run — success or failure — gets stored. Every failure triggers AI diagnosis automatically.&lt;br&gt;
The AI diagnosis engine&lt;br&gt;
The core of PipelineIQ is a FastAPI background task that fires Claude when a failure is stored:&lt;br&gt;
pythonasync def run_ai_diagnosis(run: dict, org_id: str, supabase: Client):&lt;br&gt;
    insight = await diagnose_from_run(run)&lt;br&gt;
    if not insight:&lt;br&gt;
        return&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;supabase.table("insights").insert({
    "severity": insight.get("severity"),
    "title": insight.get("title"),
    "diagnosis": insight.get("diagnosis"),
    "recommendation": insight.get("recommendation"),
    "estimated_time_save_minutes": insight.get("estimated_time_save_minutes"),
    "confidence": insight.get("confidence"),
}).execute()

await send_pipeline_alert(insight, run)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Claude returns structured JSON with severity, diagnosis, recommendation, confidence score, and estimated time saved. The whole thing runs in under 5 seconds.&lt;br&gt;
What's next&lt;br&gt;
Right now PipelineIQ stores pipeline runs, generates AI diagnosis on failures, and sends Slack alerts. The roadmap includes:&lt;/p&gt;

&lt;p&gt;Web dashboard with pipeline health across all repos&lt;br&gt;
DORA metrics (deployment frequency, change failure rate, recovery time)&lt;br&gt;
Environment drift detection&lt;br&gt;
Industry benchmarks — how does your team compare?&lt;/p&gt;

&lt;p&gt;Try it free&lt;br&gt;
PipelineIQ is in free beta. I'm looking for engineering teams to try it and give honest feedback on what's missing.&lt;br&gt;
👉 pipelineiq.dev&lt;br&gt;
API docs: pipelineiq-production-3496.up.railway.app/docs&lt;br&gt;
Happy to answer questions in the comments — especially from DevOps engineers who deal with pipeline failures daily.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fby9mmp1nobxrfoytqaw7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fby9mmp1nobxrfoytqaw7.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>ai</category>
      <category>github</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
