Skip to content

feat: add upgrade command for updating projects to newer ASP versions#719

Merged
allen-stephen merged 2 commits intomainfrom
feat/upgrade-command
Jan 22, 2026
Merged

feat: add upgrade command for updating projects to newer ASP versions#719
allen-stephen merged 2 commits intomainfrom
feat/upgrade-command

Conversation

@allen-stephen
Copy link
Collaborator

Summary

  • Adds agent-starter-pack upgrade command to update existing projects to newer ASP versions
  • Uses 3-way comparison by re-templating old and new versions at upgrade time
  • Merges pyproject.toml dependencies intelligently (new template + user-added)

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @allen-stephen, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant new feature: an upgrade command for the agent-starter-pack CLI. This command streamlines the process of updating existing projects to newer versions of the framework. It achieves this by performing a sophisticated 3-way comparison between the user's current project, the old template version, and the new template version. This approach ensures that user-specific customizations are preserved, while new features and fixes from the framework are seamlessly integrated. The command also intelligently handles dependency updates in pyproject.toml and provides interactive prompts for resolving any conflicting changes.

Highlights

  • New Upgrade Command: Introduces a new upgrade command (agent-starter-pack upgrade) to facilitate updating existing projects to newer ASP versions.
  • 3-Way Comparison Logic: Implements a robust 3-way comparison mechanism to intelligently merge changes, preserving user modifications while applying template updates.
  • Intelligent Dependency Merging: Includes smart dependency merging for pyproject.toml, combining new template dependencies with user-added ones.
  • Interactive Conflict Resolution: Provides interactive conflict resolution for files modified by both the user and the new template, ensuring controlled updates.
  • UVX Requirement: Requires uvx for re-templating older project versions during the upgrade process, ensuring accurate comparisons.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a significant and well-designed upgrade command to help users update their projects. The implementation is robust, using a 3-way comparison for intelligent merging and providing a good interactive user experience for resolving conflicts. The code is well-structured into command logic and utility functions, and it includes a comprehensive set of unit and integration tests.

My feedback includes a few minor suggestions to improve logging, debuggability, and maintainability by replacing a magic number with a constant and making exception handling more informative. Overall, this is an excellent addition to the CLI.

@allen-stephen allen-stephen merged commit 8da8536 into main Jan 22, 2026
34 checks passed
enriquekalven pushed a commit to enriquekalven/agent-starter-pack that referenced this pull request Feb 7, 2026
…GoogleCloudPlatform#719)

* feat: add upgrade command for updating projects to newer ASP versions

* fix: address gca comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants