<?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: wu</title>
    <description>The latest articles on DEV Community by wu (@rohsyl).</description>
    <link>https://dev.to/rohsyl</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%2F1097430%2Fe53309cf-db71-4846-ab81-7153c90a3e84.jpeg</url>
      <title>DEV Community: wu</title>
      <link>https://dev.to/rohsyl</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rohsyl"/>
    <language>en</language>
    <item>
      <title>Vibe Coding, Productivity, and Staying Sane with AI</title>
      <dc:creator>wu</dc:creator>
      <pubDate>Wed, 26 Nov 2025 20:08:40 +0000</pubDate>
      <link>https://dev.to/rohsyl/vibe-coding-productivity-and-staying-sane-with-ai-eb0</link>
      <guid>https://dev.to/rohsyl/vibe-coding-productivity-and-staying-sane-with-ai-eb0</guid>
      <description>&lt;p&gt;A personal look at how AI fits into my daily work as a developer - where it helps, where it fails, and why it hasn’t replaced genuine understanding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.rohs.ch/blog/posts/how-am-i-using-ai" rel="noopener noreferrer"&gt;Read more...&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>Why CI is One of the Best Things You'll Ever Set Up (Trust Me)</title>
      <dc:creator>wu</dc:creator>
      <pubDate>Fri, 25 Apr 2025 08:22:01 +0000</pubDate>
      <link>https://dev.to/rohsyl/why-ci-is-one-of-the-best-things-youll-ever-set-up-trust-me-4cdk</link>
      <guid>https://dev.to/rohsyl/why-ci-is-one-of-the-best-things-youll-ever-set-up-trust-me-4cdk</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Let’s be real: setting up Continuous Integration (CI) sounds like something only big teams or DevOps wizards should care about. And yeah, at first glance, it &lt;em&gt;can&lt;/em&gt; feel like overhead when all you want is to ship your feature and go for a coffee.&lt;/p&gt;

&lt;p&gt;But if you're a developer — solo, in a team, building a product or a side project — CI is one of the most valuable allies you’ll ever have. Here’s why. And I’m not talking in theory — I’m talking code, real use cases, and the headaches you avoid.&lt;/p&gt;




&lt;h3&gt;
  
  
  Wait, What Exactly Is CI?
&lt;/h3&gt;

&lt;p&gt;CI stands for &lt;strong&gt;Continuous Integration&lt;/strong&gt;. It means that every time you (or someone else) pushes code, an automated process kicks in. It checks your code, runs your tests, maybe builds your app, maybe lints your files — whatever you want.&lt;/p&gt;

&lt;p&gt;In other words, CI is your robot teammate who never sleeps, doesn’t forget stuff, and keeps the bar high even on Monday mornings.&lt;/p&gt;




&lt;h3&gt;
  
  
  Why Should You Care as a Developer?
&lt;/h3&gt;

&lt;p&gt;Let’s break it down.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. &lt;strong&gt;Catch Bugs Early&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;You know that weird bug that only shows up in production? CI can catch it before it gets there.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# A typical CI step&lt;/span&gt;
npm run &lt;span class="nb"&gt;test&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If your tests fail — boom 💥 — the pipeline fails. You get an alert, you fix it &lt;em&gt;before&lt;/em&gt; it merges. No surprise regressions.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. &lt;strong&gt;Consistent Code Quality&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Want to enforce formatting and linting? CI doesn’t compromise, unlike your teammates who say “I’ll fix it later.”&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Lint your code&lt;/span&gt;
npm run lint
&lt;span class="c"&gt;# Or format it&lt;/span&gt;
prettier &lt;span class="nt"&gt;--check&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more code reviews with “pls run prettier” comments.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. &lt;strong&gt;Fast Feedback Loop&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;You push code. Two minutes later you get a Slack message: “Tests passed. All green.” Instant confidence. Merging feels clean.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. &lt;strong&gt;It’s Not Just for Tests&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;CI isn’t just about tests. You can use it for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploying to staging&lt;/li&gt;
&lt;li&gt;Running migrations&lt;/li&gt;
&lt;li&gt;Sending notifications&lt;/li&gt;
&lt;li&gt;Running security scans&lt;/li&gt;
&lt;li&gt;Checking performance budgets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You define the rules. It obeys.&lt;/p&gt;




&lt;h3&gt;
  
  
  A Concrete Example: Node.js + GitLab CI
&lt;/h3&gt;

&lt;p&gt;Let’s say you’ve got a Node.js app and you're using GitLab. Here's a simple &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; file:&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="na"&gt;stages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;test&lt;/span&gt;

&lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;node:18&lt;/span&gt;
  &lt;span class="na"&gt;script&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;npm ci&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;npm run lint&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;npm run test&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Boom. That’s it. Every push? It runs the whole thing. You’ll know immediately if your last commit broke something.&lt;/p&gt;




&lt;h3&gt;
  
  
  But Isn’t It a Pain to Set Up?
&lt;/h3&gt;

&lt;p&gt;Only the first time. And even then, not really. Most CI platforms have templates. Most projects just need a few basic steps. Once you’ve done it once, you’ll wonder how you ever lived without it.&lt;/p&gt;

&lt;p&gt;And if you’re tired of fiddling with YAML, clunky UIs, or pipelines that look like spaghetti… well, I’m working on something for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Last Thing
&lt;/h2&gt;

&lt;p&gt;You know that moment when your code goes live and nothing’s broken, everything works, and you just &lt;em&gt;know&lt;/em&gt; it’s because your pipeline had your back?&lt;/p&gt;

&lt;p&gt;That’s the kind of dev life CI unlocks.&lt;/p&gt;

&lt;p&gt;And if you’re looking for a smarter, simpler way to build and manage CI workflows — with a UI that doesn’t suck, templates that actually help, and real-time feedback — you might want to check out what I’m building.&lt;/p&gt;

&lt;p&gt;It’s called &lt;strong&gt;c8s&lt;/strong&gt; — and if you’re curious, stay tuned.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Because once you get into CI, there’s no going back. And with c8s, getting in is actually fun.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cicd</category>
      <category>tooling</category>
      <category>saas</category>
    </item>
    <item>
      <title>CI in a few clicks for your Laravel project</title>
      <dc:creator>wu</dc:creator>
      <pubDate>Mon, 14 Apr 2025 15:01:06 +0000</pubDate>
      <link>https://dev.to/rohsyl/ci-in-a-few-clicks-for-your-laravel-project-1ld7</link>
      <guid>https://dev.to/rohsyl/ci-in-a-few-clicks-for-your-laravel-project-1ld7</guid>
      <description>&lt;p&gt;🚀 Tired of wrestling with YAML to build your CI workflows? Meet c8s — a visual, intuitive way to create, validate, and deploy workflows with confidence.&lt;/p&gt;

&lt;p&gt;In this guide, you'll learn how to set up a testing workflow for your Laravel project using c8s in just a few clicks. We will configure a GitHub Actions workflow to run Laravel tests automatically.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://c8s.me/blog/laravel-workflow-in-a-few-clicks" rel="noopener noreferrer"&gt;https://c8s.me/blog/laravel-workflow-in-a-few-clicks&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cicd</category>
      <category>laravel</category>
      <category>php</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
