Testissä Gemini CLI

Blog | September 24, 2025

Tässä artikkelissa kehittäjämme Jarmo Jomppanen avaa sanaisen arkkunsa ja jakaa yksityiskohtaisia kokemuksiaan Googlen Gemini CLI -komentorivityökalun käyttöönotosta.

geminiHero

Gemini CLI on Googlen komentoriviltä pyörivä generatiivinen tekoälyassistentti [1]. Se toimii kuin keskusteleva apuri, joka: ajaa kaiken halutessasi Docker-ympäristössä, kontissa [2], lukee hakemistosi sisällön, hakee tietoa verkosta (pyydettäessä), kirjoittaa ja muokkaa tiedostoja, kirjaa muutokset vaiheittain Git-repoon (pyydettäessä), operoi ympäristön kanssa käynnistellen ja lopettaen prosesseja ja tekee kaiken tämän suoraan samassa terminaali-ikkunassa, jossa muutenkin elät.

Iso bonus on päivittäinen ilmaiskiintiö (60 pyyntöä/min tai 1 000 pyyntöä/pv), jotka riittävät kevyempään koodailuun ilman luottokorttia.

Asennus & käyttöönotto

  • Node.js ≥ 20 kuntoon. (Mac: Homebrew, Windows: winget)

  • Aja: npm install -g @google/gemini-cli

  • Kirjoita gemini, valitse väriteema ja kirjaudu Google-tililläsi

Ensimmäinen käynnistys avaa värikkään "kojelaudan" terminaaliin; siitä näkee heti, että taustalla tapahtuu paljon. VS Codeen löytyy lisäksi Gemini Code Assist -laajennus, joka jakaa saman kiintiön, mutta tuo osan toiminnoista editoriin suoraan käyttettäväksi. Taidan itse pitää enemmän kuitenkin tuosta terminaalista.

Ensikokemukset

Vauhdikas startti. Asennus on "npm ja menoksi".

Sandbox. Työkalu tekee paljon. Aja se aina Docker-sandboxissa: näin minimoit riskejä (esim. prompt- tai komentoinjektiot) ja rajaat aluetta. Jos pyörität mallia paikallisesti, seuraa suorituskykyä kyllä mutta kotikoneella ajettavien työkalujen kohdalla ei kannata jättää tulosta onnen varaan.

Huomaa fallback-ansa. Resurssipulan, liian ison tehtävän tai ilmaiskierrosten loppuessa työkalu tipahtaa pro:sta flash-malliin. Silloin todellisten ratkaisujen tahti putoaa jyrkästi. Tässä kohtaa menet vain Google AI Studioon. Laita API KEY:n sieltä ja se .env tiedostoon niin pro on ja pysyy, ainakin siihen asti kunnes kiintiö on kulutettu.

Mihin Gemini CLI oikeasti auttaa?

  • "Lisää sovelluksen frontendiin ja backendiin lokitus."

  • "Kirjoita yksikkötestit ja varmista ennen ‘valmis’-merkintää, että menevät läpi."

  • "Analysoi projektin hakemisto ja kerro, kuinka siinä on tehty X."

  • "Kerro, mikä prosessi käyttää porttia 3000 ja lopeta se." (Kyllä se sen tekee. Kysyy ja sitten tekee. Sandbox!)

Itse rakensin koemielessä Three.js-pohjaisen 3D-maapallon, jonka päälle chat-ikkuna kysyy ja piirtää oikeita satelliittiratoja. Alku eteni sutjakasti, kunnes mallin fallback iski ja projekti jämähti. Kun kiintiöasetukset korjasi ja laittoi AI:lle timeout-säännön ("jos ei edisty pian, arvioi uudelleen"), homma alkoi taas rullata. Tai, ainakin siihen asti, kunnes päivän kiintiö loppui. Hm.

satellites
Satelliitteja radallaan

Kuvassa on yksi monesta eri versiosta, miten kokeilin tehdä tuota. Oppimiskäyrä eri oireiden kautta valmiiseen softaan oli aivan liian kova ilmaiskierroksilla. Oikeastaan paras versio sovelluksesta tuli ensimmäisellä kerralla ja kaikki haettiin satelliiteille palveluista oikein. Ahneudessani toivoma kytkös itse chattiin ja älykäs tekstipohjainen filtteröinti jäivät vain kaukaiseksi haaveeksi. Sitten kehitykseen liittyvä ohjeistus auttoi kyllä CLI:n toiminnan tutkimiseen mutta projekti itse jäi sille tielleen. Ilmaiskierrosten kanssa projektia pitää heti rajata ei vaan tehtävän softan ominaisuuksien osalta vaan myös sen, miten haluaa varmistaa, että AI tekee asioita oikealla tavalla.

Mitenkäs se MCP sitten?

Jotta näillä työkaluilla saa varsinaisesti mitään todella kiinnostavaa aikaan, tarvitaan MCP-palvelin. Gemini CLI:ssä MCP-palvelimen asetusten valitseminen on kohtalaisen suoraviivaista. Jos valitaan valmis palvelin. Esimerkiksi "Awesome MCP Servers"-sivuilta käydään hakemassa tarvittava ja "projekti/.gemini/settings.json"-tiedostoon laitetaan lyhyt rimpsu [4]. Gemini CLI ajaa senkin Dockeriin, ellet ole ajanut sitä itse jo käsin ja komennolla /mcp voi katsoa, mitä palvelimia on käytettävissä.

mcpFunctions
Käytettävän MCP-palvelimen tarjoamat funktiot

Oman MCP-palvelimen teko vaatii enemmän, mutta CLI osaa auttaa alkuun. Jatkan tämän opiskelua seuraavaksi.

Vinkkejä tehokkaaseen käyttöön

Ota käyttöön GEMINI.md. Tiedosto määrittelee promptauksen pohjan projektille. Siihen voi kirjata selkeän pysyvän setin, mitä AI:n tulisi tietää projektista.

Erota kontekstit. Avaa useampi terminaali-istunto: yksi rakentaa, toinen testaa, kolmas tekee koodikatselmuksia. Näin AI ei sekoita rooleja.

Pakota testit. "Tehtävä valmis vasta, kun yksikkötestit menevät läpi" – lause toistuu melkein joka promptissani.

Palautuskohdat talteen. Gemini kommitoi automaattisesti vaiheita ja keskusteluhistoriaa lookaalisti piilossa olevaan Git-repoon. Komento /restore palauttaa tilan.

Huomasin, että useiden istuntojen pyörittäminen (kohta 2) kulutti kiintiön nopeasti. Testien pakottaminen (kohta 3) lisäsi pyyntömäärää ja ylitin rajan (rate-limit). En ollut aluksi ottanut palautuskohtia (kohta 4) käyttöön – ne auttavat katkaisemaan loopit ja palaamaan viimeiseen ehjään tilaan.

Vertailu vastaaviin työkaluihin

GitHub Copilot. Aiempi kokemus Copilotista oli jäänyt kauas, mutta nyt se löytyy VS Coden laidasta heti ja on paljon parempi kuin muistin. Testissä käytin mallina GPT-4o:ta. Sijoittelu on erinomainen – tätä tulee käytettyä. [5]

Gemini CLI. Tässä tuntuu olevan kaikki heti lähtöön aina juuri silleen, kuin pitääkin olla. Koska tämä on ensimmäinen tällainen työkalu on tuntuma todella mukava ja epäilyttää, että tässä on varmaan joku ansa. Vielä muita työkaluja kokeiltuanikin, tähän on jäänyt sellainen kotoisa fiilis. Ehkä lisäpisteitä Googlelle voi antaa myös siitä, että työkalun koodi on avointa lähdekoodia.

Claude Code. Kun nyt olen Clauden CLI:tä käyttänyt jonkin aikaa niin onhan siinä oma etumatkansa. Sen tekemät askeleet näkyvät hyvin ranskalaisin viivoin listatuissa ja valmiiksimerkatuissa kohdissa todella selkeästi. Claude myös vaikutti tekevän todella hyvää koodia ja oli ainoa, joka heti alusta lähtien sai Chat-ominaisuuden kytkettyä suoraan kielimalliin. Etumatka muihin työkaluihin lyhenee kuitenkin vauhdilla. [6]

ChatGPT - Codex. Tietysti eniten koodin läpikäymisestä on tullut AI työkaluissa kokemusta ChatGPT:n osalta Canvaksessa ja chatissa. Se on kyllä hyvä mutta ei ollenkaan niin mukava, kuin hyvän CLI:n kanssa tehdessä. Canvaksen bugit välillä myös ovat olleet rasittavia. Ja nyt Open AI:ltakin on tullut komentoriville Codex. Sen ehkä itselleni kiinnostavin ominaisuus toistaiseksi on, että sillä voi myös kytkeytyä paikalliseen Ollama:ssa pyörivään malliin. Kokeilin ja kyllä se ainakin vastailee! Tätä sietää tutkia lisää. [7]

Cursor. Cursorille on vihdoin tullut myös oma CLI:nsä. Onhan tämä IDE:n kanssa yhdessä aivan älyttömän hyvä tekemään koodia. Se tarjoaa työkalut, joilla muutoksia voi seurata ja hyväksyä askeleittain. Taidan käyttää Cursoria enemmän jo ihan vain tottuakseni tällaiseen enemmän. Aluksi koin IDE:n hankalana lähestyä ja oli paljon helpompi mennä vain työkalun tuottaman virran mukaan juttelemaan. Lopulta Cursorin IDE:n kautta alkaa kuitenkin nähdä paremmin koko projektin ja versionhallinnan. [8]

Yksityisyys & turvallisuus

Ilmaisella versiolla kaikki työkaluun syötetty ja sen tuotokset päätyvät Googlen analytiikkakoneeseen. Jos kirjoitat suljettua koodia, käytä jotain muuta. Suositeltavaa olisi käyttää Sandbox-ominaisuutta aina. Lisäksi mukaan on hyvä ottaa palautus (Checkpoints [3]) ja ainakin sitä kautta myös versionhallinta. On tässä kyllä todella helpoksi tehty vähitellen lipsua, antaa AI:lle, täysin vapaat kädet touhuta, mitä AI:n sitten tarviikaan tehdä. En usko kokeneeni aikaisemmin tuollaista autonomiaa koneellani ja siinä on kyllä jotain samaan aikaan kiehtovaa ja todella pelottavaa käsillä. Jatkotutkimukset vaativat kyllä jonkinlaista nykyistä parempaa karanteenia. Esim. virtuaalikone, Docker ja kontit tekevät resurssien ja tietoturvan hallinnan helpommaksi kaikenlaisten AI työkalujen välillä.

Mitä tästä ajattelisi?

Muutamia ajatuksia:

  • Salamannopea käyttöönotto

  • Kokonaisvaltainen projektinäkemys – ei pelkästään rivin-täydennystä.

  • Avoin lähdekoodi (MCP + tools) houkuttelee yhteisöä laajentamaan.

  • Mallin automaattinen "flash fallback" heikentää laatua yllättäen.

  • Saatat jäädä ikuiseen looppiin silti. No palautuspisteet käyttöön. Ehkä se siitä.

  • Yksityisyys – Googlen muistikirja kulkee aina kyydissä.

Google päivittää malleja ja työkaluja tiuhaan, joten ominaisuudet luultavasti paranevat nopeammin kuin kilpailijoilla pysytään perässä. Kokeilemisen arvoinen nyt – ja seurattava tarkasti jatkossa.

Suosittelenko?

Ehdottomasti. Jos haluat viettää suuren osan ajasta vain terminaalissa ja haluat siihen pätevän AI-apurin tämä on kyllä aika pätevä. Kyydissä istuu tietysti Googlen kirjuri kaikkialle, että tarkkana saa olla, mitä sitten tekee. Ehkä tässä toivoo, että tällainen löytyisi joskus ilman noita rajoitteita. En vielä taida tehdä kaappiin tilaa Iron Man -puvulle, mutta suunta on oikea.

--

Tämän blogikirjoituksen kirjoitti Kodanin Senior Software Developer Jarmo Jomppanen. Tekstiä voi kommentoida Linkedin-palvelussa.

Want to know more?

Our expertise is at your service. Whether you’re starting a new project or need assistance with an existing one, we’re here to help.

Say hello to get the ball rolling.