<?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>Forem: Nitin Kumar Yadav</title>
    <description>The latest articles on Forem by Nitin Kumar Yadav (@nitinkumaryadav1307).</description>
    <link>https://forem.com/nitinkumaryadav1307</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%2F3728348%2Fc4d0b99f-ce87-4b39-88ec-7254012820f5.jpeg</url>
      <title>Forem: Nitin Kumar Yadav</title>
      <link>https://forem.com/nitinkumaryadav1307</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nitinkumaryadav1307"/>
    <language>en</language>
    <item>
      <title>"I Built a Web Browser from Scratch in 42 Days — No Libraries, Just Node.js"</title>
      <dc:creator>Nitin Kumar Yadav</dc:creator>
      <pubDate>Sat, 04 Apr 2026 19:02:26 +0000</pubDate>
      <link>https://forem.com/nitinkumaryadav1307/i-built-a-web-browser-from-scratch-in-42-days-no-libraries-just-nodejs-416h</link>
      <guid>https://forem.com/nitinkumaryadav1307/i-built-a-web-browser-from-scratch-in-42-days-no-libraries-just-nodejs-416h</guid>
      <description>&lt;h1&gt;
  
  
  I Built a Web Browser from Scratch in 42 Days
&lt;/h1&gt;

&lt;p&gt;42 days ago I made a decision.&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%2Fwyop0fgkq8galy7rsc2y.jpeg" 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%2Fwyop0fgkq8galy7rsc2y.jpeg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wanted to understand how the internet actually works. Not just use it. Not just build on top of it. Actually understand it — at the wire level.&lt;/p&gt;

&lt;p&gt;So I started building a web browser from scratch. In Node.js. No external libraries. Every line written by hand.&lt;/p&gt;

&lt;p&gt;I called it Courage.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Courage can do today
&lt;/h2&gt;

&lt;p&gt;...&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%2F6m6v5klaqz1p3oi9ilsx.jpeg" 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%2F6m6v5klaqz1p3oi9ilsx.jpeg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parse URLs into protocol, host, port, path&lt;/li&gt;
&lt;li&gt;Open raw TCP and TLS connections&lt;/li&gt;
&lt;li&gt;Build and send HTTP GET requests&lt;/li&gt;
&lt;li&gt;Parse HTTP responses including chunked encoding&lt;/li&gt;
&lt;li&gt;Tokenize raw HTML character by character&lt;/li&gt;
&lt;li&gt;Build a DOM tree using a stack&lt;/li&gt;
&lt;li&gt;Match CSS rules to DOM nodes&lt;/li&gt;
&lt;li&gt;Calculate layout (x, y, width, height) for every element&lt;/li&gt;
&lt;li&gt;Paint rectangles and text on a Canvas using Electron&lt;/li&gt;
&lt;li&gt;Execute JavaScript via eval()&lt;/li&gt;
&lt;li&gt;Navigate with back, forward, reload&lt;/li&gt;
&lt;li&gt;Multiple tabs with independent history&lt;/li&gt;
&lt;li&gt;Render real websites — today it rendered Wikipedia&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Before this project I knew how to use the web. Now I understand it.&lt;/p&gt;

&lt;p&gt;TCP handshakes aren't magic. HTTP is just text. HTML is just tokens. CSS is just rules. A browser is just a pipeline.&lt;/p&gt;

&lt;p&gt;Every abstraction that used to feel like magic now makes complete sense.&lt;/p&gt;

&lt;p&gt;The most surprising thing — a layout engine is just two passes over a tree. Width flows down from parent to child. Height bubbles up from child to parent. That's it. That's what every browser does.&lt;/p&gt;




&lt;h2&gt;
  
  
  The hard days
&lt;/h2&gt;

&lt;p&gt;Day 9 — built a DOM tree using a stack. Failed 6 times before it clicked.&lt;/p&gt;

&lt;p&gt;Day 21 — layout engine born. Took 3 days to get width and height right.&lt;/p&gt;

&lt;p&gt;Day 42 — fixed a bug where CSS inside style tags was breaking the entire DOM tree because my tokenizer treated &amp;gt; in CSS selectors as HTML tag endings.&lt;/p&gt;

&lt;p&gt;Every bug taught me something real.&lt;/p&gt;




&lt;h2&gt;
  
  
  The code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Nitin-kumar-yadav1307/Courage" rel="noopener noreferrer"&gt;github.com/Nitin-kumar-yadav1307/Courage&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;42 days. No libraries. Every line by hand.&lt;/p&gt;

&lt;p&gt;This is just the beginning.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>BugVaulty — Auto-Track Every Error to Notion with AI Solutions 🐛</title>
      <dc:creator>Nitin Kumar Yadav</dc:creator>
      <pubDate>Sat, 28 Mar 2026 07:23:31 +0000</pubDate>
      <link>https://forem.com/nitinkumaryadav1307/bugvaulty-auto-track-every-error-to-notion-with-ai-solutions-am9</link>
      <guid>https://forem.com/nitinkumaryadav1307/bugvaulty-auto-track-every-error-to-notion-with-ai-solutions-am9</guid>
      <description>&lt;p&gt;🤖 &lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;BugVaulty&lt;/strong&gt; is an npm package that automatically catches &lt;br&gt;
every error in your Node.js, Express, or React app — analyzes &lt;br&gt;
it with AI — and saves it to Notion automatically.&lt;/p&gt;

&lt;p&gt;No manual work. One line of code. Forever.&lt;/p&gt;

&lt;p&gt;In my early coding journey, I used to write down errors because it's one of the best ways to debug. If you already know how an error happened, it becomes easier to fix.&lt;/p&gt;

&lt;p&gt;Also, if you're working in a team, everyone can see the errors and help debug them, so you don't have to search the same error again and again on Google or AI.&lt;/p&gt;

&lt;p&gt;So I automated this process using Notion, MCP, and AI. Once you install and configure this package, all the errors from your terminal will automatically be tracked in your Notion.&lt;/p&gt;
&lt;h3&gt;
  
  
  How it works:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error happens in your app
        ↓
BugVaulty catches it automatically
        ↓
AI analyzes it (Groq / OpenAI / Claude)
        ↓
Notion page created automatically with:
  📅 Date &amp;amp; Time
  📁 File path &amp;amp; line number  
  ❌ What went wrong
  💡 Step by step solution
  🔧 Code fix
  🚀 How to avoid it
  ⭐ Difficulty rating
  🏷️ Tags
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  One line setup:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dotenv&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;config&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bugvaulty&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bugvaulty&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;bugvaulty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="c1"&gt;// That's it! All errors now tracked to Notion automatically&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Supports 3 AI providers:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Free option - Groq&lt;/span&gt;
&lt;span class="nx"&gt;bugvaulty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;groq&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gsk_xxx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}})&lt;/span&gt;

&lt;span class="c1"&gt;// OpenAI&lt;/span&gt;
&lt;span class="nx"&gt;bugvaulty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;openai&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sk-xxx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}})&lt;/span&gt;

&lt;span class="c1"&gt;// Anthropic Claude&lt;/span&gt;
&lt;span class="nx"&gt;bugvaulty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;ai&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;claude&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sk-ant-xxx&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Works with Express:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bugvaulty&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;expressMiddleware&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Works with React:
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BugVaultyProvider&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bugvaulty/react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;BugVaultyProvider&lt;/span&gt; &lt;span class="na"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{...}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;App&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;BugVaultyProvider&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  What Notion looks like after an error:
&lt;/h3&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%2F1bv4r377hezahy5wx100.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%2F1bv4r377hezahy5wx100.png" alt="BugVaulty Notion Error Page" width="588" height="907"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every project gets its own page in Notion — detected automatically from your package.json name!&lt;/p&gt;
&lt;h2&gt;
  
  
  Video Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/gvG2qNiNXFs"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Show us the code
&lt;/h2&gt;

&lt;p&gt;📦 &lt;a href="https://www.npmjs.com/package/bugvaulty" rel="noopener noreferrer"&gt;npm package&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 &lt;a href="https://github.com/Nitin-kumar-yadav1307/bug-vaulty" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Install it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;bugvaulty
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;Notion MCP is the entire backbone of BugVaulty.&lt;/p&gt;

&lt;p&gt;Instead of building a custom database or dashboard, &lt;br&gt;
I used Notion as the storage and display layer via &lt;br&gt;
the Notion API and MCP.&lt;/p&gt;

&lt;p&gt;Here is what Notion MCP unlocks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Auto project organization&lt;/strong&gt;&lt;br&gt;
BugVaulty detects your project name from package.json &lt;br&gt;
and automatically creates a dedicated Notion page for &lt;br&gt;
that project. Every error goes under the right project &lt;br&gt;
automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Rich structured pages&lt;/strong&gt;&lt;br&gt;
Each error is saved as a beautifully structured Notion &lt;br&gt;
page with headings, bullet points, and code blocks — &lt;br&gt;
not just plain text.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Searchable knowledge base&lt;/strong&gt;&lt;br&gt;
Because everything is in Notion, you can search your &lt;br&gt;
entire error history instantly. Next time you hit the &lt;br&gt;
same error — your own solution is already there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Zero infrastructure&lt;/strong&gt;&lt;br&gt;
No custom dashboard needed. No database to maintain. &lt;br&gt;
Notion IS the interface. This is what makes Notion MCP &lt;br&gt;
so powerful for developer tools.&lt;/p&gt;

&lt;p&gt;BugVaulty + Notion MCP = your personal AI debugging &lt;br&gt;
brain that never forgets. 🧠&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>⚡ GitZip — Turning Git Commands into One-Word Spells with GitHub Copilot CLI</title>
      <dc:creator>Nitin Kumar Yadav</dc:creator>
      <pubDate>Tue, 10 Feb 2026 05:11:28 +0000</pubDate>
      <link>https://forem.com/nitinkumaryadav1307/gitzip-turning-git-commands-into-one-word-spells-with-github-copilot-cli-976</link>
      <guid>https://forem.com/nitinkumaryadav1307/gitzip-turning-git-commands-into-one-word-spells-with-github-copilot-cli-976</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;GitZip is a CLI productivity tool that turns long and hard-to-remember Git commands into short, reusable one-word "spells".&lt;/p&gt;

&lt;p&gt;Instead of repeatedly typing complex Git commands or copy-pasting them from Google or ChatGPT, developers can save a command once and reuse it instantly.&lt;/p&gt;

&lt;p&gt;For example, instead of running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset --soft HEAD~1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I can save it as a spell called &lt;code&gt;gundo&lt;/code&gt; and run it anytime with a single word.&lt;/p&gt;

&lt;p&gt;GitZip focuses on improving developer productivity, reducing mistakes, and making Git easier to use — especially for beginners.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🎥 &lt;strong&gt;Demo Video:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://drive.google.com/file/d/1gLayfnghgSHl3z6Chc-XuTbF9KIL1_mk/view?usp=sharing" rel="noopener noreferrer"&gt;for demo video click here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The demo shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating a Git command spell&lt;/li&gt;
&lt;li&gt;Running the spell inside a Git repository&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;gitzip demo&lt;/code&gt;, which automatically:

&lt;ul&gt;
&lt;li&gt;Initializes a Git repository&lt;/li&gt;
&lt;li&gt;Creates commits&lt;/li&gt;
&lt;li&gt;Creates a spell&lt;/li&gt;
&lt;li&gt;Undoes a commit&lt;/li&gt;
&lt;li&gt;Shows before/after Git logs&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;This makes it very easy for judges to test and understand the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot CLI played an important role in my development workflow.&lt;/p&gt;

&lt;p&gt;While building GitZip, I frequently used Copilot (CLI / Chat) to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask for correct Git commands&lt;/li&gt;
&lt;li&gt;Understand safer alternatives to risky Git operations&lt;/li&gt;
&lt;li&gt;Validate commands before saving them as reusable spells&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitZip is designed around this exact workflow:&lt;br&gt;
Ask GitHub Copilot for a Git command → Save it once → Reuse it forever.&lt;/p&gt;

&lt;p&gt;Instead of replacing Copilot, GitZip extends it by making Copilot's output reusable inside the terminal. This helped me build faster, avoid mistakes, and focus on designing a better user experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  Source Code
&lt;/h2&gt;

&lt;p&gt;🔗 GitHub Repository:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/Nitin-kumar-yadav1307/GitZip" rel="noopener noreferrer"&gt;https://github.com/Nitin-kumar-yadav1307/GitZip&lt;/a&gt;&lt;/p&gt;




</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
