这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@jakemac53
Copy link
Contributor

TLDR

Adds information about the regular git release process as well as explaining some of the tradeoffs.

Re-structure a bit the custom release section as well.

Dive Deeper

Reviewer Test Plan

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker
Podman - -
Seatbelt - -

Linked issues / bugs

Adds information about the regular git release process as well as
explaining some of the tradeoffs.

Re-structure a bit the custom release section as well.
@jakemac53 jakemac53 requested a review from a team as a code owner September 19, 2025 17:54
@jakemac53 jakemac53 requested a review from chrstnb September 19, 2025 17:54
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jakemac53, 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 significantly enhances the documentation for releasing Gemini CLI extensions by introducing and detailing two primary distribution methods: Git repositories and GitHub Releases. It provides guidance on managing release channels, explains the advantages and disadvantages of each method, and clarifies the structure and naming conventions for custom and platform-specific archives, ensuring users have a clearer understanding of their options for publishing extensions.

Highlights

  • New Release Method Documentation: Added comprehensive documentation for releasing Gemini CLI extensions via a Git repository, detailing its flexibility, update mechanisms, and recommended branching strategies.
  • Comparison of Release Methods: Introduced a comparison between Git repository releases and GitHub Releases, outlining the tradeoffs and benefits of each approach for extension distribution.
  • Restructured GitHub Releases Section: Reorganized and clarified the existing documentation for GitHub Releases, including asset naming conventions for platform-specific archives and the required archive structure.
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

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 does a great job of expanding the documentation on extension releasing, adding a new section for git-based releases and restructuring the existing content for better clarity. The new information is valuable for extension developers. I've identified one statement in the new documentation that is factually incorrect about how extension updates work, which could mislead users. My review includes a specific suggestion to correct this.

@github-actions
Copy link

github-actions bot commented Sep 19, 2025

Size Change: -2 B (0%)

Total Size: 17.3 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 17.3 MB -2 B (0%)
./bundle/sandbox-macos-permissive-closed.sb 1.03 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 830 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-closed.sb 3.29 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B

compressed-size-action


This is the most flexible and simple option. Users can depend on any ref from your git repo, such as a branch or tag, which allows you to manage multiple release channels. You also can point at any git repository, so your extension does not have to be hosted on github.

For instance, you can maintain a `stable` branch, which users can install this way `gemini extensions install <your-repo-uri> --ref=stable`. Or, you could make this the default by treating your default branch as your stable release, and doing development in a different branch (for instance called `dev`). You can maintain as many branches or tags as you like, providing maximum flexibility for you and your users.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@chrstnb should we consider using the stable ref by default if it exists? This would allow people to use their main branch for development while not risking users accidentally depending on it (otherwise they have to do --ref=stable to be on the stable release channel).

In particular this can avoid issues around having to force push to your default branch if your history starts to diverge from your development branch due to cherry picks etc.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think the idea is that the github repo based approach is super simple and accessible. I'm wary of introducing a specific way of doing things yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am fine with that, I do worry this would be hard to change in the future though.

Copy link
Collaborator

@chrstnb chrstnb left a comment

Choose a reason for hiding this comment

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

A couple comments but overall looks great

@jakemac53 jakemac53 enabled auto-merge September 19, 2025 18:53
@jakemac53 jakemac53 added this pull request to the merge queue Sep 19, 2025
Merged via the queue into main with commit 4c43c69 Sep 19, 2025
19 checks passed
@jakemac53 jakemac53 deleted the extension-releasing-docs branch September 19, 2025 18:59
nagendrareddy10 pushed a commit to nagendrareddy10/gemini-cli that referenced this pull request Sep 22, 2025
yashv6655 added a commit to yashv6655/gemini-cli that referenced this pull request Sep 22, 2025
thacio added a commit to thacio/auditaria that referenced this pull request Oct 3, 2025
giraffe-tree pushed a commit to giraffe-tree/gemini-cli that referenced this pull request Oct 10, 2025
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.

3 participants