Skip to content

feat(cmd,internal/sideflip): add initial command#2961

Merged
julieqiu merged 2 commits intomainfrom
sideflip
Nov 19, 2025
Merged

feat(cmd,internal/sideflip): add initial command#2961
julieqiu merged 2 commits intomainfrom
sideflip

Conversation

@julieqiu
Copy link
Copy Markdown
Member

@julieqiu julieqiu commented Nov 19, 2025

Create an initial sideflip CLI framework which prints the version command.

@julieqiu julieqiu requested a review from coryan November 19, 2025 21:51
@julieqiu julieqiu requested a review from a team as a code owner November 19, 2025 21:51
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @julieqiu, 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 establishes the initial structure and core components for a new CLI tool, sideflip, designed to streamline the management of Google Cloud client libraries. It sets up the main executable, integrates a third-party CLI framework, and includes a sophisticated version reporting system, laying the groundwork for future command implementations.

Highlights

  • New CLI Framework: Introduced the foundational framework for a new command-line interface (CLI) tool named sideflip, which is intended to manage Google Cloud client libraries.
  • CLI Library Integration: Integrated the github.com/urfave/cli/v3 library to provide robust command-line parsing and structure for the sideflip tool.
  • Version Reporting: Implemented a dynamic version reporting mechanism for the sideflip CLI, which can extract build information (like VCS revision and commit time) and a base version from an embedded file to construct a comprehensive version string.
  • Initial Command: Added an initial version command to the sideflip CLI, allowing users to query the tool's version information.
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
Copy Markdown
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 adds the basic framework for a new sideflip CLI tool. The overall structure is good, but it appears that much of the code was copied from the existing librarian tool without being fully adapted. There are several places where names, usage text, and configuration details still refer to librarian, which will cause confusion and prevent the new tool from working correctly. I've left specific comments on these issues. Addressing them will ensure the new sideflip CLI is correctly set up.

@julieqiu julieqiu changed the title feat(cmd,internal/sideflip): add feat(cmd,internal/sideflip): add initial command Nov 19, 2025
Add a framework for the sideflip CLI.
coryan
coryan previously approved these changes Nov 19, 2025
Copy link
Copy Markdown
Contributor

@coryan coryan left a comment

Choose a reason for hiding this comment

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

A few nits and a question, otherwise LGTM

@julieqiu julieqiu enabled auto-merge (squash) November 19, 2025 22:09
@codecov
Copy link
Copy Markdown

codecov bot commented Nov 19, 2025

Codecov Report

❌ Patch coverage is 45.28302% with 29 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.20%. Comparing base (5888f45) to head (7efb1a8).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
internal/sideflip/sideflip/sideflip.go 0.00% 19 Missing ⚠️
cmd/sideflip/main.go 0.00% 5 Missing ⚠️
internal/sideflip/sideflip/version.go 82.75% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2961      +/-   ##
==========================================
- Coverage   83.38%   83.20%   -0.19%     
==========================================
  Files         134      137       +3     
  Lines       10990    11043      +53     
==========================================
+ Hits         9164     9188      +24     
- Misses       1409     1438      +29     
  Partials      417      417              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@julieqiu julieqiu merged commit c959aea into main Nov 19, 2025
11 checks passed
@julieqiu julieqiu deleted the sideflip branch November 19, 2025 22:10
ldetmer added a commit that referenced this pull request Nov 20, 2025
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: not available
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-release-container:latest
<details><summary>librarian: 0.7.0</summary>

##
[0.7.0](v0.6.0...v0.7.0)
(2025-11-20)

### Features

* add command execution package with logging (#2968)
([12f4e94](12f4e949))

* add branch support to RepositoryConfig (#2906)
([2cab5d6](2cab5d65))

* add image sha as a config in repositories config (#2954)
([3d1f537](3d1f5375))

* add initial config (#2965)
([502b063](502b063c))

* add fetch package (#2964)
([53de44d](53de44d8))

* parse gapic_metadata for API version release notes (#2815)
([7ee0328](7ee03283))

* onboard 25 repositories to automation for publish-release (#2907)
([87fae04](87fae04a))

* add version command (#2894)
([8f85be0](8f85be09))

* add RequireCommand test helper (#2978)
([a820a71](a820a710))

* add initial command (#2961)
([c959aea](c959aeae))

* add `stage-release` command (#2902)
([ee05006](ee050065))

### Bug Fixes

* require git v2.28.0 (#2963)
([265ee47](265ee47f))

* enums referenced outside the package (#2952)
([7331816](73318169))

</details>
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