Skip to content

ddekerf/repo-upgrader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository Upgrader

An Electron desktop application for managing NuGet package updates in both GitHub and local repositories with AI-powered recommendations.

Features

Current

  • ✅ Add and manage GitHub repositories through the UI
  • ✅ Analyze repositories for outdated NuGet packages
  • AI-Powered Recommendations via GitHub Copilot SDK
    • Security vulnerability detection
    • Breaking change analysis
    • Intelligent version recommendations
    • Upgrade guidance and migration notes
  • ✅ View detailed recommendations with priority badges
  • ✅ Select and apply multiple recommendations at once

Planned

  • 🚧 Local Repository Support - Work with your local .NET projects
  • 🚧 Workspace Management - Analyze multiple projects at once
  • 🚧 Monorepo Support - Coordinate updates across related projects
  • 🚧 Automatic pull request creation for updates
  • 🚧 Direct .csproj file updates for local repos

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm
  • GitHub Copilot CLI (optional, for AI-powered features)
    • Install: npm install -g @github/copilot
    • Or use the GitHub CLI: gh copilot

Installation

npm install

Running the Application

npm start

Usage

Working with GitHub Repositories

  1. Add a Repository: Enter a GitHub repository URL (e.g., https://github.com/owner/repo) and click "Add Repository"
  2. View Details: Click on a repository card to view its details
  3. Analyze: Click "Analyze Repository" to scan for NuGet packages
  4. Review AI Recommendations: Browse the list of intelligent package updates with security and breaking change analysis
  5. Select and Apply: Check the packages you want to update and click "Apply Selected Recommendations"

Working with Local Repositories (Coming Soon)

  1. Add Local Folder: Click "Add Local Repository" and select your .NET project folder
  2. Analyze Locally: The app will scan your local .csproj files without needing GitHub access
  3. Apply Updates: Directly modify your local project files with recommended updates
  4. Review Changes: See a diff of changes before confirming

Workspace Mode (Coming Soon)

  • Open a workspace folder containing multiple .NET projects
  • Analyze all projects at once
  • Coordinate package version updates across projects
  • Perfect for monorepos and microservice architectures

AI-Powered Features

When GitHub Copilot CLI is installed and available, the application provides:

  • Security Analysis: Identifies packages with known vulnerabilities
  • Breaking Change Detection: Warns about updates that may break your code
  • Smart Version Selection: Recommends optimal versions based on stability and compatibility
  • Upgrade Guidance: Provides migration steps and notes for complex updates
  • Priority Assessment: Automatically prioritizes critical security updates

Without Copilot CLI, the app falls back to basic recommendations.

Environment Variables

  • GITHUB_TOKEN: (Optional) Set this for accessing private repositories and higher API rate limits

Project Structure

repo-upgrader/
├── main.js              # Electron main process
├── preload.js           # Preload script for secure IPC
├── copilot-service.js   # GitHub Copilot SDK integration
├── index.html           # Main UI template
├── styles.css           # Application styles
├── renderer.js          # Renderer process (UI logic)
└── package.json         # Project configuration

Technologies

  • Electron: Cross-platform desktop application framework
  • GitHub Copilot SDK: AI-powered code analysis and recommendations
  • Octokit: GitHub REST API client
  • HTML/CSS/JavaScript: Frontend implementation

Development Status

Phase 4 Complete! The application now includes:

  • ✅ GitHub Copilot SDK integration for intelligent package analysis
  • ✅ AI-powered security vulnerability detection
  • ✅ Breaking change analysis and upgrade guidance
  • ✅ Smart priority assessment

Planned features:

  • NuGet API integration for fetching actual latest versions
  • Automatic pull request creation with package updates
  • Support for multiple .NET project types (packages.config, etc.)
  • Enhanced error handling and logging
  • Unit and integration tests

License

ISC

About

Electron app for managing NuGet package updates with AI-powered recommendations via GitHub Copilot SDK

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors