-
Notifications
You must be signed in to change notification settings - Fork 159
Create Google Gemini cli extension #8177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
21e3af9 to
780c2ec
Compare
ericpgreen2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned in Slack, can you please remove all the Google integrations so we can first land the Rill-native functionality?
bd3c3a0 to
39ed6e2
Compare
74b4731 to
62464b2
Compare
62464b2 to
be569bd
Compare
2eec0b4 to
319985e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of this language seems to be addressed to the end user (e.g. "By connecting to your Rill projects, the Gemini agent can..."), not the Gemini agent. I'd expect that the document would be exclusively addressed to the Gemini agent.
7abb8e2 to
de2e5ef
Compare
.github/workflows/cli-release.yml
Outdated
| - name: Set up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version-file: '.nvmrc' | ||
|
|
||
| - name: Build Gemini Extension | ||
| if: env.PUBLISH_RELEASE == 'true' | ||
| run: | | ||
| cd integrations/gemini | ||
| npm ci | ||
| npm run build | ||
| npm run package | ||
| env: | ||
| HUSKY: 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you pull the Gemini extension release into a separate workflow? So that issues with the Gemini extension can't hold up normal releases/patches
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair enough, I am going to make it a manually triggered release
.github/workflows/cli-release.yml
Outdated
| - name: Add Gemini Extension to Release | ||
| if: env.PUBLISH_RELEASE == 'true' | ||
| uses: softprops/action-gh-release@v1 | ||
| with: | ||
| files: integrations/gemini/release/** | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version-file: '.nvmrc' | ||
|
|
||
| - name: Install dependencies | ||
| run: cd integrations/gemini && npm ci | ||
| env: | ||
| HUSKY: 0 | ||
|
|
||
| - name: Build extension | ||
| run: cd integrations/gemini && npm run build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow is called Build and Release Rill Integrations, but looks like it just builds and exits?
integrations/gemini/.example.env
Outdated
| # Rill Configuration | ||
| RILL_ORG="demo" | ||
| RILL_PROJECT="demo-project" | ||
| RILL_ACCESS_TOKEN="rill_usr_1234567890abcdef" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where precisely will users provide these values? I'm seeing placeholders both here and in integrations/gemini/gemini-extension.json. Ideally there's just one place, and ideally it's a single snippet they can copy/paste from their AI tab.
integrations/gemini/README.md
Outdated
| Update the extension with your Rill credentials by providing the following information when prompted: | ||
|
|
||
| - `Organization`: Your Rill organization name | ||
| - `Project`: Your Rill project name | ||
| - `Access Token`: Your Rill access token |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do they provide these values?
integrations/gemini/README.md
Outdated
| Install the extension via GitHub: | ||
|
|
||
| ```bash | ||
| gemini extensions install https://github.com/rilldata/rill |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we have a monorepo, how does Gemini know where in the repo to pick it up from? Does it need some additional hint?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The two supported options are that It needs to be at the root or referenced in the releases. This can also be lifted into its own repo.
integrations/gemini/README.md
Outdated
| This extension is distributed through [GitHub Releases](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases). This provides a faster and more reliable initial installation experience for users, as releases are shipped as single archives instead of requiring a git clone. | ||
|
|
||
| Each release includes an archive file containing the full contents of the repository at the tagged commit. When checking for updates, Gemini CLI looks for the "latest" release on GitHub (you must mark it as such when creating the release), unless the user installed a specific release by passing `--ref=<some-release-tag>`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't the latest release occupied by our normal rill binary? I.e. not Gemini. Do we need a dedicated repo here?
f7d0b13 to
ca354fa
Compare

Create Google Gemini cli extension
Checklist: