<?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: Nikodem Witkowski</title>
    <description>The latest articles on Forem by Nikodem Witkowski (@skoczekboczek).</description>
    <link>https://forem.com/skoczekboczek</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%2F3764848%2F69e5829d-7192-4fc2-9662-2a8e490a28c3.png</url>
      <title>Forem: Nikodem Witkowski</title>
      <link>https://forem.com/skoczekboczek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/skoczekboczek"/>
    <language>en</language>
    <item>
      <title>Smart Package Pilot: Automated Context Engineering for Safer Upgrades</title>
      <dc:creator>Nikodem Witkowski</dc:creator>
      <pubDate>Fri, 13 Feb 2026 18:02:24 +0000</pubDate>
      <link>https://forem.com/skoczekboczek/smart-package-pilot-automated-context-engineering-for-safer-upgrades-49h3</link>
      <guid>https://forem.com/skoczekboczek/smart-package-pilot-automated-context-engineering-for-safer-upgrades-49h3</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;I built Smart Package Pilot a terminal based CLI tool designed to streamline the process of updating legacy dependencies.&lt;/p&gt;

&lt;p&gt;Updating dependencies in a project can involve significant risk. Developers often avoid bumping major versions (e.g. &lt;code&gt;v4&lt;/code&gt; to &lt;code&gt;v5&lt;/code&gt;) because they fear breaking changes. Standard AI prompts like &lt;em&gt;"How to update axios"&lt;/em&gt; often yield generic results because the LLM lacks knowledge of the specific version constraints of the local environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart Package Pilot solves this by automating the research phase&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scan:&lt;/strong&gt; It parses the local &lt;code&gt;package.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analyze:&lt;/strong&gt; It queries the NPM Registry in real-time to fetch the latest metadata and compares it against installed versions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Engineering:&lt;/strong&gt; It generates a precise, version-specific prompt for GitHub Copilot&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead of generic advice, the tool constructs a prompt containing the exact version diffs (e.g. &lt;code&gt;Current: 0.21.1&lt;/code&gt; -&amp;gt; &lt;code&gt;Target: 1.6.0&lt;/code&gt;) and specific requests for a Migration Strategy and Breaking Changes List. By pressing C, the developer copies this perfect context to the clipboard, allowing Copilot to provide safe, working code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&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%2F94ys5eg0evauqvpp4jht.gif" 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%2F94ys5eg0evauqvpp4jht.gif" alt="Smart Package Pilot Demo" width="960" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Building a CLI tool with a React-based UI (using the &lt;code&gt;Ink&lt;/code&gt; library) is unique because you are rendering to &lt;code&gt;stdout&lt;/code&gt; instead of the traditional DOM. Since this was my first time working with &lt;code&gt;Ink&lt;/code&gt;, GitHub Copilot was a massive accelerator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Accelerating Ink Library Adoption&lt;/strong&gt;&lt;br&gt;
Although I had never used &lt;code&gt;Ink&lt;/code&gt; before, Copilot allowed me to intuitively build layouts using Flexbox in a terminal environment right from the start. It helped me grasp the library's mechanics instantly, significantly accelerating my understanding of the tool&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Crafting the Perfect Prompt&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The core feature of my tool is generating the perfect context for the AI. I used Copilot to help me design that very prompt. I experimented by asking Copilot: &lt;em&gt;"What specific information do you need to safely upgrade a dependency?"&lt;/em&gt;. Based on its suggestions, I refined the final output of my tool to ensure it provides the exact data (breaking changes, version diffs) that the LLM needs to succeed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/SkoczekBoczek/smart-package" rel="noopener noreferrer"&gt;https://github.com/SkoczekBoczek/smart-package&lt;/a&gt;&lt;/p&gt;

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