<?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: Anna</title>
    <description>The latest articles on Forem by Anna (@anya92).</description>
    <link>https://forem.com/anya92</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%2F176814%2Fd4f239d3-8313-4966-bcd9-f06673b17707.png</url>
      <title>Forem: Anna</title>
      <link>https://forem.com/anya92</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anya92"/>
    <language>en</language>
    <item>
      <title>NPM SmartUpgrade</title>
      <dc:creator>Anna</dc:creator>
      <pubDate>Mon, 16 Feb 2026 07:41:25 +0000</pubDate>
      <link>https://forem.com/anya92/npm-smartupgrade-1aba</link>
      <guid>https://forem.com/anya92/npm-smartupgrade-1aba</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;NPM Smart Upgrade is a VS Code extension that scans a workspace for npm dependency updates and groups them by major/minor/patch. From the sidebar, you can run per‑package breaking‑change analysis, view the results in a details panel, and trigger package upgrades. If breaking changes are found, the extension can generate migration suggestions and apply diffs directly in the workspace. It also supports optional automatic patch updates and works across multiple workspace folders.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Project Repo: &lt;a href="https://github.com/anya92/npm-smart-upgrade" rel="noopener noreferrer"&gt;https://github.com/anya92/npm-smart-upgrade&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open the NPM Smart Upgrade view to see grouped updates and sign in if you want analysis.&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%2Ffl2fdw1wctmpak5qfe7x.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%2Ffl2fdw1wctmpak5qfe7x.png" alt=" " width="774" height="1192"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use per‑package actions to analyze or update. &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%2Fhscbcoumo3jduqndez7t.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%2Fhscbcoumo3jduqndez7t.png" alt=" " width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Start breaking‑change analysis from a package item. &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%2F3fbmtm39se1rqmr1e4pa.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%2F3fbmtm39se1rqmr1e4pa.png" alt=" " width="782" height="512"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review detected breaking changes in the details panel. &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%2Frqjara0cb0x3eotoui1z.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%2Frqjara0cb0x3eotoui1z.png" alt=" " width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;See at‑a‑glance BC status in the list (Yes/No). &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%2Fyjr2hcjjej3049cw3une.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%2Fyjr2hcjjej3049cw3une.png" alt=" " width="800" height="1027"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apply upgrades and generate migration help with Update &amp;amp; Resolve. &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%2Faczwwv96vodffsy7pfzg.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%2Faczwwv96vodffsy7pfzg.png" alt=" " width="800" height="282"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;I started by writing a short PRD with requirements, then used Copilot CLI (often in Plan mode) to turn the PRD into a working feature set. It consistently surfaced good points I hadn’t thought about, which helped me avoid rework.&lt;/p&gt;

&lt;p&gt;Copilot CLI was especially helpful for debugging: I pasted error messages and got fixes quickly, which saved a lot of time.&lt;/p&gt;

&lt;p&gt;Overall, I spent around 4–6 hours to get the extension working. Without Copilot, it would have taken me much longer because I wasn’t very familiar with building VS Code extensions. It felt like having a pair programmer that could both implement and troubleshoot as I went.&lt;/p&gt;

&lt;p&gt;Thanks for the challenge! &lt;/p&gt;

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