You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Dev Tools Week Q4 2025] make gemini-cli and github spec-kit available in Che/JetBrains #23642
A component gemini-cli-injector mounts an additional volume at /gemini-cli where it installs gemini-cli. 2 commands setup-sh-env and setup-bashsh-env make sure the binary gemini is available on the PATH when using bash (remote shell) or sh (web console).
Github spec-kit
A component spec-kit-injector mounts an additional volume at /spec-kit where it installs github spec-kit.
2 commands setup-sh-env and setup-bashsh-env make sure the binary specify is available on the PATH when using bash (remote shell) or sh (web console).
When the workspace is launched you can remote shell to it using
kubectl exec -it $(kubectl get pod | kubectl get pod | grep workspace | head -n 1) -- bash
Or use the terminal in the OpenShift web console for it.
When launched gemini-cli then asks the user to choose an auth method. 3 are available.
Auth Method
Billing Model
Typical Limits (Free Tier)
Login with Google (OAuth/Personal Account)
Free (No credit card required for the free limits).
1,000 requests per day (RPD)60 requests per minute (RPM)
Gemini API Key (from AI Studio)
Pay-as-you-go (Requires setting up a billing account for higher limits).
100 requests per day (RPD) with Pro1,500 requests per day (RPD) with Flash
Vertex AI (Application Default Credentials/ADC)
Pay-as-you-go (Billed through your Google Cloud project).
High, Configurable Quotas based on project tier and spending.
Login with Google (free tier with a large quota) then tries to open a browser, which is of course not available. To trick it and manually provide the auth one has to do the following:
Google auth has the largest free quota. Here are the instructions how to use it:
EXEC: point BROWSER env var to a script that prints the url:
EXEC: launch gemini and when prompted choose "Login with Google"
ASSERT: it then prints an url to the shell:
Code Assist login required.
Attempting to open authentication page in your browser.
Otherwise navigate to:
https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=http%3A%2F%2Flocalhost%3A36319%2Foauth2callback&access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&state=XXXXXXX&response_type=code&client_id=XXXXXX-XXXXX.apps.googleusercontent.com
Waiting for Authentication...
EXEC: copy this url to your browser which then makes you log into your google account and redirects to a url on localhost and fails.
changed the title [-][Dev Tools Week Q4 2025] make gemini-cli available in Che/JetBrains[/-][+][Dev Tools Week Q4 2025] make gemini-cli and github spec-kit available in Che/JetBrains[/+]on Nov 7, 2025
I tried composing but it looks like imports using the plugin (with an url to the devfile with either gemini-cli/spec-kit) directive in devfile is ignored by the operator.
Activity
adietish commentedon Nov 6, 2025
The following editor definition can be used to have a workspace where gemini-cli and github spec-kit are available:
https://gist.github.com/adietish/1a81be712a10f53dded6ca6703605d4d/raw/8e1a69a0232fa5a9152bd722f9b78734dbbd0a6c/ultimate-with-gemini-cli-and-spec-kit.yaml
Approach
Gemini-cli
A component gemini-cli-injector mounts an additional volume at

/gemini-cliwhere it installs gemini-cli. 2 commandssetup-sh-envandsetup-bashsh-envmake sure the binarygeminiis available on thePATHwhen usingbash(remote shell) orsh(web console).Github spec-kit
A component spec-kit-injector mounts an additional volume at

/spec-kitwhere it installs github spec-kit.2 commands
setup-sh-envandsetup-bashsh-envmake sure the binaryspecifyis available on thePATHwhen usingbash(remote shell) orsh(web console).When the workspace is launched you can remote shell to it using
Or use the terminal in the OpenShift web console for it.
adietish commentedon Nov 6, 2025
When launched gemini-cli then asks the user to choose an auth method. 3 are available.
Login with Google (free tier with a large quota) then tries to open a browser, which is of course not available. To trick it and manually provide the auth one has to do the following:
Google auth has the largest free quota. Here are the instructions how to use it:
BROWSERenv var to a script that prints the url:geminiand when prompted choose "Login with Google"curl "<copied url>"[-][Dev Tools Week Q4 2025] make gemini-cli available in Che/JetBrains[/-][+][Dev Tools Week Q4 2025] make gemini-cli and github spec-kit available in Che/JetBrains[/+]adietish commentedon Nov 7, 2025
I tried composing but it looks like imports using the
plugin(with an url to the devfile with either gemini-cli/spec-kit) directive in devfile is ignored by the operator.adietish commentedon Dec 2, 2025
In the latest version of gemini one can also before launching gemini do the following:
Gemini-cli will then print the url that you can then navigate to in your browser in order to get the required verification code.
che-bot commentedon Aug 12, 2026
Issues go stale after
180days of inactivity.lifecycle/staleissues rot after an additional7days of inactivity and eventually close.Mark the issue as fresh with
/remove-lifecycle stalein a new comment.If this issue is safe to close now please do so.
Moderators: Add
lifecycle/frozenlabel to avoid stale mode.