Praktyczne ćwiczenia z interfejsem wiersza poleceń Gemini

1. Wprowadzenie

Z tego przewodnika dowiesz się więcej o interfejsie wiersza poleceń Gemini, czyli agencie AI open source, który udostępnia możliwości Gemini bezpośrednio w terminalu.

Projekt Gemini CLI jest open source, a publiczny harmonogram możesz zobaczyć tutaj.

W ramach ćwiczeń z programowania będziesz wykonywać kolejne czynności, takie jak:

  1. Instalowanie interfejsu wiersza poleceń Gemini
  2. Podstawowa konfiguracja
  3. Poznaj narzędzia i wbudowane polecenia w interfejsie wiersza poleceń Gemini
  4. Dostosowywanie interfejsu wiersza poleceń Gemini za pomocą pliku GEMINI.md
  5. Poznaj kilka przypadków użycia interfejsu wiersza poleceń Gemini

Czego potrzebujesz

Te warsztaty są przeznaczone dla użytkowników i deweloperów na wszystkich poziomach zaawansowania (w tym dla początkujących).

2. Instalacja

Zanim uruchomimy konfigurację i interfejs wiersza poleceń Gemini, utwórzmy folder, który będzie służyć jako folder domowy dla wszystkich projektów, które w nim utworzymy. Jest to punkt wyjścia dla interfejsu Gemini CLI, ale w razie potrzeby będzie on też odwoływać się do innych folderów w systemie, o których wspomnimy później.

Utwórz przykładowy folder (gemini-cli-projects) i przejdź do niego za pomocą poleceń pokazanych poniżej. Jeśli wolisz użyć innej nazwy folderu, możesz to zrobić.

mkdir gemini-cli-projects

Przejdźmy do tego folderu:

cd gemini-cli-projects

Aby uruchomić interfejs Gemini CLI, możesz użyć jednej z tych metod:

  1. Uruchom go za pomocą tego polecenia:
npx https://github.com/google-gemini/gemini-cli
  1. Najpierw możesz zainstalować interfejs wiersza poleceń Gemini globalnie w systemie. Upewnij się, że masz uprawnienia administratora.
npm install -g @google/gemini-cli

a następnie uruchom go za pomocą tego polecenia:

gemini

Jeśli interfejs wiersza poleceń Gemini został uruchomiony jedną z powyższych metod, powinien pojawić się ekran z pytaniem o wybór motywu. Wybierz jeden z nich:

9b02bd0bf1c670d.png

Po wybraniu tej opcji pojawi się prośba o podanie metody uwierzytelniania. W tym module zalecamy używanie osobistego konta Google, a nie kont niezwiązanych z Google ani kont Google Workspace. Bezpłatna licencja daje dostęp do Gemini 2.5 Pro i okna kontekstu z milionem tokenów. Bezpłatny poziom umożliwia wysyłanie 60 żądań modelu na minutę i 1000 żądań dziennie bez opłat.

Jeśli wyczerpiesz obecny bezpłatny limit przypisany do kont Google, możesz użyć klucza interfejsu Gemini API lub nawet Google Cloud Vertex AI, gdzie musisz mieć identyfikator projektu i nazwę lokalizacji tego projektu. Jeśli planujesz używać innych metod uwierzytelniania, zapoznaj się z sekcją Uwierzytelnianie w dokumentacji.

afce8d90e20adb6.png

Kliknij Enter. Spowoduje to otwarcie w przeglądarce strony uwierzytelniania Google. Przeprowadź uwierzytelnianie za pomocą konta Google, zaakceptuj warunki i gdy uwierzytelnianie się powiedzie, zobaczysz, że interfejs Gemini CLI jest gotowy i czeka na Twoje polecenie. Przykładowy zrzut ekranu znajdziesz poniżej:

ffd8ddfede565612.png

Wpisz /help (ukośnik), a zobaczysz różne polecenia i skróty klawiszowe, jak pokazano poniżej:

d333742310905dcc.png

Pierwsza interakcja z interfejsem wiersza poleceń Gemini

Wpisz pierwszą wiadomość w polu. W tym celu użyjemy zapytania:

4dc0961206c1b568.png

Zauważysz, że w wyniku naszego zapytania wywołane zostało narzędzie GoogleSearch (wbudowane w interfejs wiersza poleceń Gemini). To ciekawy sposób na wykorzystanie jednego z zaawansowanych wbudowanych narzędzi interfejsu Gemini CLI, czyli GoogleSearch, które opiera swoje odpowiedzi na informacjach pobranych z internetu. Więcej informacji o narzędziach znajdziesz w następnej sekcji.

Na razie zamknijmy interfejs wiersza poleceń Gemini. Możesz to zrobić za pomocą polecenia /quit lub dwukrotnie wpisać Ctrl-C w interaktywnej sesji terminala interfejsu wiersza poleceń Gemini.

Plik dostosowywania interfejsu wiersza poleceń Gemini : settings.json

Jeśli pamiętasz, gdy po raz pierwszy uruchomiliśmy interfejs wiersza poleceń Gemini, poprosiliśmy Cię o wybranie motywu, a następnie metody uwierzytelniania. Przy kolejnych uruchomieniach interfejsu wiersza poleceń Gemini nie będzie już wyświetlana prośba o wybranie motywu i metody uwierzytelniania. Oznacza to, że jest on gdzieś zapisywany, a plik, którego używa, nazywa się settings.json. Jest to sposób na dostosowanie interfejsu Gemini CLI.

Ustawienia są stosowane w tej kolejności:

  1. Obszar roboczy: .gemini/settings.json (zastępuje ustawienia użytkownika i systemu).
  2. Użytkownik: ~/.gemini/settings.json (zastępuje ustawienia systemowe).
  3. System: /etc/gemini-cli/settings.json (dotyczy wszystkich użytkowników).

Pamiętasz, że podczas wybierania motywu poprosiliśmy o zapisanie ustawień w ustawieniach użytkownika. Otwórz ~/.gemini folder, a zobaczysz plik settings.json.

Mój plik settings.json jest widoczny poniżej. Gdyby był wybrany inny motyw, jego nazwa byłaby widoczna w tym miejscu.

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal"
}

3. Parametry poleceń interfejsu wiersza poleceń Gemini

Podczas uruchamiania interfejsu wiersza poleceń Gemini można podać kilka parametrów wiersza poleceń. Aby uzyskać pełną listę opcji, możesz użyć znaku --help, jak pokazano poniżej.

gemini --help

Powinna się wyświetlić pełna lista dostępnych opcji. Zachęcamy do zapoznania się z dokumentacją tutaj.

Przyjrzyjmy się kilku z nich. Pierwszy sposób to skonfigurowanie interfejsu wiersza poleceń Gemini do korzystania z modelu Pro lub Flash. W momencie pisania tego przewodnika obsługiwane są tylko te 2 modele. Domyślnie używany jest model Gemini 2.5 Pro, ale jeśli chcesz użyć modelu Flash, możesz to zrobić podczas uruchamiania interfejsu wiersza poleceń Gemini za pomocą parametru -m, jak pokazano poniżej:

gemini -m "gemini-2.5-flash"

Jeśli zaczniesz w opisany powyżej sposób, możesz sprawdzić model w prawym dolnym rogu terminala interfejsu wiersza poleceń Gemini, jak pokazano poniżej:

6e662d03b61b2b3f.png

Tryb nieinteraktywny

Ciekawą opcją jest uruchomienie interfejsu wiersza poleceń Gemini w trybie nieinteraktywnym. Oznacza to, że bezpośrednio podajesz prompt, a model odpowiada na niego bez otwierania interaktywnego terminala interfejsu wiersza poleceń Gemini. Jest to bardzo przydatne, jeśli planujesz używać interfejsu wiersza poleceń Gemini w sposób zautomatyzowany w ramach skryptu lub innego procesu automatyzacji. Aby przekazać prompt do interfejsu wiersza poleceń Gemini, użyj parametru -p, jak pokazano poniżej:

gemini -p "What is the gcloud command to deploy to Cloud Run"

Pamiętaj, że nie możesz kontynuować rozmowy, zadając dodatkowe pytania.

4. Interfejs wiersza poleceń Gemini – wbudowane narzędzia

Interfejs Gemini CLI zawiera zestaw wbudowanych narzędzi, a w dokumentacji narzędzi czytamy: „Model Gemini używa tych narzędzi do interakcji z lokalnym środowiskiem, uzyskiwania dostępu do informacji i wykonywania działań. Te narzędzia zwiększają możliwości interfejsu CLI, umożliwiając mu wyjście poza generowanie tekstu i pomagając w wykonywaniu szerokiego zakresu zadań”.

Aby uzyskać listę bieżących narzędzi wbudowanych, wystarczy wywołać polecenie /tools, jak pokazano poniżej:

39939257e3f3818e.png

Jedną z pierwszych rzeczy, które powinny Cię zainteresować, jest pytanie, czy interfejs wiersza poleceń Gemini może po prostu wywoływać te narzędzia, gdy tego potrzebuje. W przypadku operacji wrażliwych, które mogą obejmować zapisywanie w systemie lokalnym, odczytywanie z systemu zewnętrznego, łączenie się z siecią zewnętrzną itp., domyślna odpowiedź to nie.

Po uruchomieniu interfejsu wiersza poleceń dostępny jest --yolomode, którego nie będziemy używać. Interfejs wiersza poleceń Gemini poprosi Cię o zezwolenie na uruchomienie wybranego narzędzia. Możesz odmówić przyznania uprawnień, zezwolić na jednorazowe uruchomienie lub przyznać uprawnienia do zawsze uruchamiania. Masz pełną kontrolę nad tym, co się dzieje.

Wpiszmy prompta, który sprawi, że interfejs wiersza poleceń Gemini wybierze jedno z wbudowanych narzędzi do wykonania zadania. Dzięki temu lepiej zrozumiemy, jak to wszystko działa.

Chcemy uzyskać informacje o najnowszych wiadomościach finansowych z całego świata i zapisać je w pliku w lokalnym katalogu roboczym, z którego uruchomiliśmy interfejs wiersza poleceń Gemini. Wpisujemy ten prompt:

Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt

Wyobraź sobie, co powinno robić. Najlepiej, gdyby wyszukiwało w Google wiadomości z odpowiednich źródeł informacji, które mogą dostarczać wiadomości finansowe. Następnie musi utworzyć plik o nazwie finance-news-today.txt (operacja zapisu w systemie lokalnym, która będzie wymagać Twojej zgody) z jego zawartością.

Zobaczmy, co się stanie (zrób to samo na swoim komputerze).

Najpierw wywołuje narzędzie GoogleSearch, aby wyszukać informacje w internecie.

122e6e4b01d05e69.png

Po zakończeniu wyszukiwania pobiera dane w sposób pokazany poniżej:

b721f40e6f643318.png

Gdy to zrobi, będzie gotowy do zapisania tych informacji w pliku. Użyje do tego narzędzia WriteFile, ale ponieważ jest to operacja wymagająca szczególnej ostrożności (zapis), poprosi Cię o zgodę. Możesz określić typ uprawnień , np. zezwól raz, zezwalaj zawsze itp. Na razie wybierzemy opcję zezwól raz.

e92f3a4774dc1e7.png

Spowoduje to zapisanie informacji w pliku, a poniżej pojawi się komunikat o powodzeniu:

33c6afdb89033c35.png

Jak sprawdzić, czy plik jest zapisany? Możemy użyć @file, aby poprosić o odczytanie treści. Podajemy prompt, jak pokazano poniżej. Gdy wpiszemy @, wyświetli się lista plików w bieżącym folderze, w tym utworzony przed chwilą plik. Wybierz ją i prześlij prompta. Mój prompt wygląda tak:

read the contents of @finance-news-today.txt

W rezultacie zostaną wywołane wymagane narzędzia (ReadManyFiles, ReadFile), a zawartość zostanie wyświetlona w sposób pokazany poniżej:

6f214cd743646f44.png

To też dobry moment, aby dowiedzieć się, jak bezpośrednio korzystać z powłoki w interfejsie wiersza poleceń Gemini. Aby przejść do trybu powłoki, naciśnij ! w polu wiadomości. Spowoduje to przełączenie na tryb Shell. Aby wrócić, naciśnij ponownie ! lub klawisz ESC.

W trybie powłoki na początku promptu zobaczysz znak !, jak pokazano poniżej:

9e239408835a3acd.png

Mogę to sprawdzić bezpośrednio za pomocą standardowych poleceń, takich jak pwdls, jak pokazano poniżej:

2f5d53d3c77fc8e2.png

Zawartość pliku możemy wydrukować za pomocą polecenia cat.

2249b5c80e3ae2c0.png

Ćwiczenie: oto krótkie ćwiczenie, które możesz wypróbować. Wybierz kanał RSS. Wpisz prompt w interfejsie wiersza poleceń Gemini, aby pobrać zawartość kanału RSS i sformatować wyniki w określony sposób. To dobry sposób na zautomatyzowanie czegoś na początku dnia.

Wskazówka: interfejs wiersza poleceń Gemini powinien korzystać z narzędzia WebFetch.

5. Konfigurowanie serwerów protokołu kontekstu modelu (MCP)

Serwer MCP to aplikacja, która udostępnia narzędzia i zasoby interfejsowi Gemini CLI za pomocą protokołu Model Context Protocol, co umożliwia interakcję z systemami zewnętrznymi i źródłami danych. Serwery MCP działają jako pomost między modelem Gemini a środowiskiem lokalnym lub innymi usługami, takimi jak interfejsy API.

Serwer MCP umożliwia interfejsowi wiersza poleceń Gemini wykrywanie i wykonywanie narzędzi, co rozszerza jego możliwości o działania wykraczające poza wbudowane funkcje, takie jak interakcja z bazami danych, interfejsami API, niestandardowymi skryptami czy specjalistycznymi przepływami pracy.

Interfejs Gemini CLI obsługuje konfigurowanie serwerów MCP na potrzeby wykrywania i używania narzędzi niestandardowych. Jeśli masz uruchomiony interfejs wiersza poleceń Gemini, możesz sprawdzić skonfigurowane serwery MCP za pomocą polecenia /mcp, jak pokazano poniżej:

255a14eb31529370.png

Jeśli nie masz skonfigurowanych żadnych serwerów MCP, uruchomi się dokumentacja serwera MCP w interfejsie Gemini CLI.

Serwery MCP możesz skonfigurować na poziomie globalnym w pliku ~/.gemini/settings.json lub w katalogu głównym projektu. Utwórz lub otwórz plik .gemini/settings.json. W pliku musisz dodać blok konfiguracji mcpServers, jak pokazano poniżej:

"mcpServers": {
    "server_name_1": {},
    "server_name_2": {},
    "server_name_n": {}
 }

Każda konfiguracja serwera obsługuje te właściwości ( dokumentacja):

Wymagane (jeden z tych elementów)

  • command (string): ścieżka do pliku wykonywalnego transportu Stdio
  • url (string): adres URL punktu końcowego SSE (np. "http://localhost:8080/sse")
  • httpUrl (string): adres URL punktu końcowego transmisji strumieniowej HTTP.

Opcjonalny

  • args (string[]): argumenty wiersza poleceń dla transportu Stdio.
  • headers (object): niestandardowe nagłówki HTTP podczas korzystania z parametrów url lub httpUrl.
  • env (obiekt): zmienne środowiskowe procesu serwera. Wartości mogą odwoływać się do zmiennych środowiskowych za pomocą składni $VAR_NAME lub ${VAR_NAME}.
  • cwd (string): katalog roboczy dla transportu Stdio
  • timeout (liczba): limit czasu żądania w milisekundach (domyślnie: 600 000 ms = 10 minut).
  • trust (boolean): jeśli ma wartość „true”, pomija wszystkie potwierdzenia wywołań narzędzi dla tego serwera (domyślnie: false).
  • includeTools (string[]): lista nazw narzędzi do uwzględnienia z tego serwera MCP. Jeśli ta opcja jest włączona, na tym serwerze będą dostępne tylko wymienione tu narzędzia (działanie białej listy). Jeśli nie określisz żadnych narzędzi, domyślnie włączone będą wszystkie narzędzia z serwera.
  • excludeTools (string[]): lista nazw narzędzi, które mają zostać wykluczone z tego serwera MCP. Wymienione tu narzędzia nie będą dostępne dla modelu, nawet jeśli są udostępniane przez serwer. Uwaga: excludeTools ma wyższy priorytet niż includeTools – jeśli narzędzie znajduje się na obu listach, zostanie wykluczone.

Skonfigurujmy jeden z kluczowych serwerów MCP, który może być potrzebny, jeśli korzystasz z GitHub. Pamiętaj jednak, że interfejs wiersza poleceń Gemini wywoła narzędzia Git, które masz w systemie. Możesz też poinstruować interfejs wiersza poleceń Gemini, aby zamiast tego używał tych narzędzi. Pamiętaj, że pomoże Ci on w wydawaniu poleceń i ich wykonywaniu, ale musisz mieć te narzędzia skonfigurowane w systemie.

Serwer MCP GitHub

Oficjalny serwer MCP na GitHubie zawiera wystarczającą dokumentację dotyczącą udostępnianych narzędzi oraz sposobu ich konfigurowania. Możesz wybrać, czy chcesz uruchamiać go lokalnie, czy zdalnie, ponieważ interfejs Gemini CLI obsługuje też zdalne serwery MCP.

W tym samouczku wybraliśmy opcję zdalnego serwera MCP w GitHubie. W tym celu musisz najpierw mieć osobisty token dostępu (PAT) z GitHuba.

Gdy to zrobisz, musisz dodać obiekt serwera MCP w pliku settings.json. Poniżej znajdziesz pełną wersję pliku settings.json w moim systemie. Możesz mieć dodatkowe ustawienia, ale obiekt mcpServers powinien wyglądać tak jak poniżej:

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal",
  "mcpServers": {
       "github": {
            "httpUrl": "https://api.githubcopilot.com/mcp/",
            "headers": {
                "Authorization": "GITHUB_PAT"
            },
            "timeout": 5000
       }
  }
}

Po zaktualizowaniu pliku settings.json o konfigurację serwera MCP GitHub możesz ponownie uruchomić interfejs Gemini CLI lub wykonać polecenie /mcp refresh. Na zrzucie ekranu poniżej widać serwer MCP GitHub skonfigurowany na moim komputerze oraz różne narzędzia, które są teraz dostępne w interfejsie Gemini CLI do pracy z MCP.

e34f348129d448e9.png

Zacznijmy od prompta, który wywoła jedno z narzędzi z serwera Github MCP. Wpisz ten prompt:

da643d182ac3fca4.png

Zauważ, że wybierze ono odpowiednie narzędzie z serwera Github MCP, ale podobnie jak w przypadku innych wbudowanych narzędzi będzie wymagać wyraźnej zgody na jego wywołanie. Sprawdź, jakie dane wyjściowe otrzymasz.

Teraz możesz pracować nad jednym z projektów w GitHubie. Zadawaj zapytania w języku naturalnym, np.:

  • Opisz mi <repo-name>.
  • Sklonuj <repo-name> na moim komputerze lokalnym.
  • Opisz @<nazwa-pliku> lub @<nazwa-katalogu>/
  • Jakie są poszczególne komponenty tego repozytorium?
  • Wprowadziłem(-am) niezbędne zmiany. Czy możesz przesłać zmiany do GitHub i użyć narzędzi serwera MCP GitHub?

W dalszej części modułu znajdziesz szczegółowe ćwiczenie dotyczące pracy z serwerem MCP GitHub.

Serwer MCP Context7

Context7 udostępnia aktualną dokumentację modeli LLM i edytorów kodu AI. Jeśli chcesz przekazać LLM kontekst w postaci najnowszej dokumentacji wybranego frameworka, warto skonfigurować serwer Context7 MCP.

Sprawdź, czy biblioteka jest widoczna na stronie głównej Context7.

Oto serwer MCP, który musisz dodać w pliku settings.json.

"context7": {
      "httpUrl": "https://mcp.context7.com/mcp"
    }

Po skonfigurowaniu serwera MCP i załadowaniu na nim interfejsu Gemini CLI powinny być widoczne narzędzia Context7, jak pokazano poniżej:

92f715d87989ff72.png

Możesz teraz precyzyjnie określić prompt i poprosić interfejs wiersza poleceń Gemini o użycie Context7 w celu uzyskania najnowszej dokumentacji podczas generowania aplikacji lub fragmentu kodu przy użyciu konkretnej platformy XYZ.

Oto przykładowy prompt, w którym chcę napisać agenta przy użyciu pakietu Agent Development Kit (ADK) od Google. W prompcie proszę o sprawdzenie dokumentacji na ten temat na serwerze Context7 MCP.

I am working on coding an Agent using the Agent Development Kit (ADK) from Google. I would like to know how to create the LLMAgent in Python. Use Context7 for the latest documentation on ADK and specifically use /google/adk-python, /google/adk-docs and adk.wiki 

Oto otrzymane dane wyjściowe:

fe79972a61372d59.png

Serwer MCP Prezentacji Google

Projekt Github na stronie https://github.com/matteoantoci/google-slides-mcp udostępnia serwer MCP do interakcji z interfejsem Google Slides API. Umożliwia tworzenie, odczytywanie i modyfikowanie prezentacji Google w sposób programowy.

Instrukcje konfigurowania serwera MCP znajdziesz w projekcie. Musisz mieć środowisko Node.js, w którym zbudujesz serwer, skonfigurujesz projekt Google Cloud i tokeny OAuth 2.0, a następnie skonfigurujesz serwer MCP w pliku settings.json.

Po skonfigurowaniu możesz używać promptów takich jak:

  • Wyodrębnij najnowsze informacje z „web_url”, podsumuj je w postaci najważniejszych punktów i utwórz prezentację o nazwie „my_presentation”.

Wypróbuj tę funkcję!

Więcej serwerów MCP

Oto dodatkowa lista serwerów MCP, które mogą Cię zainteresować:

  1. Serwer MCP Firebase
  2. Usługi multimedialne Google Gen AI (Imagen, Veo, Lyria)
  3. MCP Toolbox for Databases (praca z bazami danych Firestore, BigQuery i Google Cloud)
  4. Serwer MCP Google Workspace (praca z Dokumentami, Arkuszami, Kalendarzem i Gmailem)

Instrukcje konfiguracji powyższych serwerów MCP znajdziesz w tym poście na blogu.

6. Przykłady zastosowań do wypróbowania

Interfejs wiersza poleceń Gemini można stosować w wielu przypadkach użycia, które dotyczą zarówno deweloperów, jak i osób niebędących deweloperami. Poniżej znajdziesz kilka scenariuszy. W zależności od tego, co Cię interesuje, możesz wypróbować dowolny z nich lub wszystkie.

W każdym z tych przypadków podajemy prompt. Możesz to wypróbować w trybie interaktywnym lub nieinteraktywnym interfejsu wiersza poleceń Gemini za pomocą parametru -p podczas uruchamiania interfejsu wiersza poleceń Gemini.

Porządkowanie plików i folderów

Za pomocą interfejsu Gemini CLI możesz porządkować pliki w różnych folderach w zależności od ich typów. Otwórz na komputerze folder z kilkoma plikami w formatach TXT, PNG, JPG, PDF, MP4 i innych. Najprawdopodobniej będzie to pulpit lub folder Pobrane.

Przejdź do tego folderu i uruchom Gemini CLI. Najpierw poprosimy go o utworzenie kilku folderów: Obrazy, Dokumenty, Filmy, a potem o uporządkowanie plików w tych folderach.

Interfejs wiersza poleceń Gemini często prosi o zezwolenie przed wykonaniem poleceń, zwłaszcza tych, które modyfikują system plików (np. zapisywanie, przenoszenie lub usuwanie plików). Zanim udzielisz pozwolenia, zawsze dokładnie sprawdzaj te prośby. To Twoja siatka bezpieczeństwa.

Create the following folders "Images","Documents","Videos"

Następnie wpisz ten prompt:

Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.

Kilka innych scenariuszy porządkowania (podpowiedzi są podane obok każdego scenariusza):

  1. Podsumowanie: dla każdego dokumentu w folderze „Dokumenty” utwórz w tym samym folderze plik tekstowy o nazwie „summary_ORIGINAL_FILENAME.txt”, który zawiera 3-zdaniowe podsumowanie najważniejszych punktów dokumentu.
  2. Kategoryzacja według typu: skanuj wszystkie pliki PDF i DOCX w tym katalogu. Przenieś wszystkie pliki, które mają w nazwie lub treści słowo „faktura”, do folderu „Finanse/Faktury”. Przenieś pliki z „paragonem” do folderu „Finanse/Paragony”. Wszystkie inne pliki .docx trafią do folderu „Raporty”.
  3. Wyodrębnianie kluczowych informacji (i „tagowanie”): w przypadku każdego pliku PDF w folderze „Financial/Invoices” odczytaj jego zawartość. Jeśli znajdziesz datę, zmień nazwę pliku, aby zawierała tę datę w formacie RRRR-MM-DD, np. ‘invoice_2025-07-26_original_name.pdf'.

Porządkowanie obrazów

Zobaczmy, jak możemy uporządkować treści graficzne na naszym urządzeniu.

Aby to wypróbować:

  • Musisz mieć katalog lub folder z różnymi plikami obrazów (np. JPG, PNG). Dołącz zdjęcia z danymi EXIF (większość zdjęć z aparatów i telefonów je zawiera).
  • Przejdź do tego katalogu.
  • Uruchom interfejs wiersza poleceń Gemini.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Zmień nazwę według daty (dane EXIF): zmień nazwy wszystkich plików .jpg i .png w tym katalogu, aby zawierały datę utworzenia z danych EXIF w formacie „RRRRMMDD_GGMMSS_oryginalna_nazwa.jpg”. Jeśli nie znajdziesz daty EXIF, użyj daty ostatniej modyfikacji pliku.
  • Utwórz opisy obrazów: dla każdego obrazu w tym folderze opisz, co się na nim znajduje, i zapisz ten opis w pliku tekstowym o nazwie „description_ORIGINAL_FILENAME.txt” w tym samym katalogu.
  • Identyfikowanie duplikatów (koncepcyjne, wymaga bardziej zaawansowanej logiki): znajdź w tym folderze wszystkie zduplikowane obrazy na podstawie ich zawartości wizualnej i wyświetl ich nazwy plików. Nie usuwaj ich jeszcze.

Streszczanie artykułów (plików lokalnych lub stron internetowych)

W przypadku każdego z poniższych scenariuszy możesz w razie potrzeby zmienić adres URL, temat zainteresowania i nazwy plików lokalnych. Podane nazwy plików są przykładowe. Możesz je zastąpić nazwami plików, które masz w systemie.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Podsumuj artykuł w internecie (jeden adres URL): wejdź na stronę https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 i podsumuj 3 najważniejsze wnioski z tego artykułu.
  • Podsumowywanie wielu artykułów w internecie (np. z wyszukiwarki): znajdź w wyszukiwarce Google najnowsze artykuły o „Gemini CLI”. W przypadku 5 najbardziej trafnych artykułów podsumuj każdy z nich w 2–3 zdaniach i podaj ich adresy URL.
  • Podsumuj lokalny plik tekstowy: podsumuj najważniejsze punkty artykułu w pliku „my_research_paper.txt”. Skup się na metodologii i wnioskach.
  • Podsumuj lokalny plik PDF: przeczytaj „financial_report_Q2_2025.pdf”. Podaj podsumowanie wyników finansowych i wymienionych kluczowych wyzwań.

Wyodrębnianie konkretnych informacji (pliki lokalne lub internet)

W przypadku każdego z poniższych scenariuszy możesz w razie potrzeby zmienić adres URL, temat zainteresowania i nazwy plików lokalnych. Podane nazwy plików są przykładowe. Możesz je zastąpić nazwami plików, które masz w systemie.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Wyodrębnij podmioty z lokalnego artykułu: z pliku „biography.txt” wypisz wszystkie osoby i ważne daty z nimi związane.
  • Wyodrębnij dane z tabeli w pliku PDF: z pliku „quarterly_sales.pdf” wyodrębnij dane z tabeli na stronie 3, która zawiera informacje o „Sprzedaży produktów według regionu”, i przedstaw je w formacie tabeli Markdown.
  • Wyodrębnij dane z tabeli w pliku PDF: z pliku „quarterly_sales.pdf” wyodrębnij dane z tabeli na stronie 3, która zawiera informacje o „Sprzedaży produktów według regionu”, i przedstaw je w formacie tabeli Markdown.
  • Wyodrębnianie nagłówków i źródeł wiadomości ze strony internetowej z wiadomościami: wejdź na stronę „https://news.google.com/” (lub podobną stronę z wiadomościami). Wyodrębnij główne nagłówki ze strony głównej i odpowiednie źródła wiadomości. Przedstaw je w formie listy punktowanej.
  • Znajdowanie specyfikacji produktu na stronie e-commerce: otwórz stronę „https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441” (przykład dla książki). Wyodrębnij tytuł książki, autora i inne szczegóły. Przedstaw to w formacie JSON.

Odpowiadanie na pytania na podstawie treści (działanie podobne do RAG)

W przypadku każdego z poniższych scenariuszy możesz w razie potrzeby zmienić adres URL, temat zainteresowania i nazwy plików lokalnych. Podane nazwy plików są przykładowe. Możesz je zastąpić nazwami plików, które masz w systemie.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Pytania i odpowiedzi dotyczące dokumentu lokalnego: załączam plik „user_manual.pdf”. Jakie kroki należy wykonać, aby rozwiązać problemy z połączeniem sieciowym?
  • Pytania i odpowiedzi na stronie internetowej: na podstawie treści ze strony „https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health” wymień główne zagrożenia dla zdrowia związane ze zmianami klimatu według WHO.
  • Porównaj informacje z różnych źródeł: mam 2 artykuły: „article1.txt” i „article2.txt”. Oba omawiają ostatnie zmiany w polityce gospodarczej. Porównaj ich poglądy na temat potencjalnego wpływu na małe firmy.

Generowanie treści na podstawie wyodrębnionych informacji

W przypadku każdego z poniższych scenariuszy możesz w razie potrzeby zmienić adres URL, temat zainteresowania i nazwy plików lokalnych.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Wygeneruj podsumowanie artykułu: przeczytaj @tech_innovation_article.txt. Napisz krótką, interesującą notatkę prasową (około 150 słów) do newslettera firmowego, w której podkreślisz nową technologię i jej potencjał.
  • Napisz e-maila z podsumowaniem transkrypcji spotkania: oto plik z transkrypcją spotkania: @meeting_transcript.txt. Przygotuj e-maila do zespołu z podsumowaniem kluczowych decyzji i przypisanych działań, w tym z informacją o tym, kto jest za nie odpowiedzialny.

Obsługa wielu trybów w interfejsie wiersza poleceń Gemini

Interfejs wiersza poleceń Gemini obsługuje wiele modeli za pomocą Gemini i możesz poprosić go o przetwarzanie plików w różnych formatach treści zgodnie z Twoimi wymaganiami.

Za pomocą interfejsu wiersza poleceń Gemini przetworzymy wiele obrazów faktur i wyodrębnimy z nich kluczowe informacje. Wykonaj te czynności:

  • Utwórz folder na komputerze i pobierz faktury z tego repozytorium w GitHubie.
  • Uruchom interfejs wiersza poleceń Gemini z tego folderu

Wpiszmy ten prompt, aby wyodrębnić informacje z faktur w formie tabeli.

The current folder contains a list of invoice image files. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.

Dane wyjściowe powinny wyglądać tak:

fb4183498d02229.png

Zastosuj tę metodę do wszystkich swoich plików w formatach innych niż tekstowe.

Korzystanie z interfejsu wiersza poleceń Gemini do pracy z bazami danych

Interfejs wiersza poleceń Gemini umożliwia wydajniejszą pracę z różnymi bazami danych. Możesz go używać w wielu scenariuszach: do wysyłania zapytań w języku naturalnym, eksportowania danych, projektowania schematów baz danych, generowania realistycznych danych testowych i nie tylko.

Aby to zademonstrować, użyjemy SQLite3. Musimy zainstalować SQLite3 i mieć przykładową bazę danych Chinook.

Oto krótkie instrukcje konfigurowania SQLite3:

  1. macOS: SQLite3 jest zainstalowany fabrycznie. Zweryfikuj u sqlite3 --version. W razie potrzeby zainstaluj za pomocą Homebrew: brew install sqlite3.
  2. Windows: pobierz wstępnie skompilowane pliki binarne ze strony SQLite. Wyodrębnij pliki do katalogu (np. C:\sqlite). Dodaj ten katalog do zmiennej środowiskowej PATH w systemie.
  3. Linux: Debian/Ubuntu: sudo apt update && sudo apt install sqlite3

Pobierz przykładową bazę danych Chinook (bezpośredni link do pobrania).

Aby uruchomić te prompty, zalecamy utworzenie folderu (database-tasks) w katalogu gemini-cli-projects. Skopiuj do tego folderu plik bazy danych Chinook. Sprawdź, czy narzędzie sqlite3 jest skonfigurowane w systemie i dostępne w ścieżce, aby interfejs wiersza poleceń Gemini mógł z niego korzystać. Uruchom interfejs wiersza poleceń Gemini.

Diagram schematu bazy danych jest widoczny poniżej:

fb8e96c21ad57590.png

Założymy, że znajdujesz się w folderze o nazwie database-tasks, a plik bazy danych Chinook ma nazwę chinook.db.

Poniżej znajdziesz kilka promptów, które pomogą Ci w pracy z bazami danych. Pierwszy z nich omówimy pokrótce, aby pokazać, o jakie uprawnienia będziemy prosić.

Zaczynamy od promptu, aby wyświetlić listę tabel znajdujących się w bazie danych. Wpisujemy ten prompt:

What tables are present in the @chinook.db 

Narzędzie odczytuje plik, a następnie chce użyć narzędzia sqlite3 dostępnego w moim systemie, aby wykonać niezbędne czynności:

b2a17ef60706c3f5.png

Przyznaj uprawnienia do jednorazowego uruchomienia, a uzyskasz niezbędne dane wyjściowe:

8d40754b830f4697.png

Wypróbuj te prompty lub dowolny inny prompt:

  • Ilu jest pracowników?
  • Jaki jest schemat tabeli faktur?
  • Które 3 faktury mają najwyższą wartość i którzy klienci je wystawili?

Zauważysz, że interfejs wiersza poleceń Gemini wykonuje 2 czynności: generuje prawidłowe polecenie SQL spełniające Twoje wymagania i podaje prawidłowe polecenie sqlite3.

Generowanie danych za pomocą interfejsu wiersza poleceń Gemini

Możesz poprosić interfejs wiersza poleceń Gemini o wygenerowanie danych w różnych formatach. Mogą to być elementy treści lub dane JSON, które chcesz zasymulować. Skupimy się tutaj na scenariuszach, które mają zastosowanie w przypadku deweloperów i testerów.

Oto kilka promptów, które możesz wypróbować:

Generowanie danych JSON przykładowych opinii klientów

Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).

Generowanie odpowiedzi interfejsu API (JSON)

Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').

Generowanie przykładowych instrukcji wstawiania do bazy danych (SQL)

Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.

Generowanie danych CSV na potrzeby wczytywania i analizy danych

Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).

Wygeneruj plik konfiguracji (YAML)

Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.

Generowanie danych testowych dla przypadków brzegowych i weryfikacji

Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).

Vibe coding z interfejsem wiersza poleceń Gemini

Użyjmy interfejsu wiersza poleceń Gemini, aby wygenerować kod aplikacji. Poprosimy interfejs wiersza poleceń Gemini o wygenerowanie aplikacji, a następnie prześlemy jej początkową wersję do repozytorium GitHub.

Wymagania wstępne

Aby wykonać zadania w tej sekcji, musisz mieć:

  • Git
  • Interfejs wiersza poleceń Gemini z serwerem MCP GitHub (zrobiliśmy to wcześniej)
  • Znajomość podstaw Gita i podstaw programowania

Zakładamy, że interfejs Gemini CLI został uruchomiony w wybranym folderze. Sprawdź, czy serwery MCP zostały uruchomione, zwłaszcza serwer MCP Github.

Wpisz ten prompt. Możesz go dowolnie modyfikować. Pamiętaj, że podczas sesji z interfejsem Gemini CLI poprosi Cię o uprawnienia do tworzenia plików itp. Przyznaj wymagane uprawnienia.

Pamiętaj też, że nie chcemy, aby interfejs wiersza poleceń Gemini uruchamiał aplikację ani ją testował, ponieważ chcemy mieć większą kontrolę. Ale to zależy całkowicie od Ciebie, jak to zrobisz.

Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.

I would like you to proceed in the following way: 
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally. 

Oto jak wyglądała moja pierwsza odpowiedź. Możesz otrzymać zupełnie inną odpowiedź, więc przejrzyj plan i w razie potrzeby wchodź w interakcję z interfejsem wiersza poleceń Gemini.

90232297f1e952f8.png

Chociaż poprosiłem go, aby nie uruchamiał serwerów, pokazał mi polecenie powłoki i zapytał, czy może je wykonać. Zdecydowałem się tego nie robić, aby mieć większą kontrolę nad uruchamianiem.

Wysłano do niego tę wiadomość:

d74e235b0db77c51.png

Postępowałem zgodnie z instrukcjami, uruchomiłem serwer i widzę, że ta witryna działa prawidłowo:

71a0a6123a90e068.png

Możesz wprowadzać więcej zmian za pomocą interfejsu wiersza poleceń Gemini, ale na razie to wystarczy, ponieważ musimy przesłać to do repozytorium GitHub.

Najpierw utworzymy plik .gitignore, korzystając z interfejsu Gemini CLI.

Create a .gitignore file for this project.

Teraz podamy interfejsowi wiersza poleceń Gemini instrukcje, aby przesłać to repozytorium na nasze konto GitHub. W tle powinny zostać uruchomione narzędzia serwera MCP GitHub.

Wpisz prompt podobny do tego:

Great! I would now like to push all of this to a new repository in my Github account. I would like to name this repository <Your-Name>-event-talks-app

Wykonuje ona kilka poleceń:

  1. Utwórz repozytorium.
  2. Będzie używać wielu poleceń Git : init, add, commit do zarządzania lokalnym repozytorium Git.
  3. Następnie skonfiguruje zdalne repozytorium Git i wykona operację push.

Uwaga: w niektórych przypadkach interfejs wiersza poleceń Gemini może przekroczyć limit czasu lub użyć nieprawidłowej nazwy użytkownika itp. Wchodź z nim w interakcje i sugeruj poprawki.

Jeśli wszystko pójdzie dobrze, powinno powstać repozytorium GitHub. Przykładowy zrzut ekranu znajdziesz poniżej:

35c2db48c39fb21a.png

Nie wygenerowaliśmy README.md ani nie wykonaliśmy innych czynności, które zwykle robimy, ale to dobre ćwiczenie na następną sekcję, w której będziemy pracować z utworzonym właśnie repozytorium.

Korzystanie z interfejsu wiersza poleceń Gemini do pracy z repozytorium GitHub

W tym przypadku użyjemy interfejsu wiersza poleceń Gemini do pracy z repozytorium GitHub. Przyjrzymy się kilku scenariuszom, w tym:

  • Zrozumienie bazy kodu
  • Generowanie dokumentacji
  • Wdrażanie nowej funkcji
  • Zatwierdź i prześlij zmiany z powrotem do repozytorium.
  • Praca nad problemem w GitHubie i wdrażanie proponowanych zmian

Powinno to stanowić dobrą podstawę do pracy z repozytoriami i korzystania z interfejsu wiersza poleceń Gemini jako asystenta w tych zadaniach związanych z programowaniem.

Wymagania wstępne

Aby wykonać zadania w tej sekcji, musisz mieć:

  • Git
  • Interfejs wiersza poleceń Gemini z serwerem MCP GitHub (zrobiliśmy to wcześniej)
  • Znajomość podstaw Git i podstaw programowania (w tym przykładzie użyjemy Node.js, ponieważ możesz mieć już gotowe środowisko na komputerze ze względu na zainstalowany interfejs Gemini CLI). Możesz później wybrać repozytorium z innym językiem programowania i platformą.
  • Powinna być już ukończona poprzednia sekcja, a repozytorium, w którym utworzyliśmy witrynę Event Talks, powinno być pod ręką.

Nadal używaj interfejsu wiersza poleceń Gemini w folderze lub katalogu, w którym została wygenerowana aplikacja Event Talks. W razie potrzeby możesz sklonować repozytorium na komputer lokalny, a następnie uruchomić interfejs wiersza poleceń Gemini w tym katalogu. Wypróbuj te scenariusze:

Zrozumienie bazy kodu

  • Chcę szczegółowo poznać ten projekt. Pomóż mi zrozumieć główne funkcje, a potem podziel je na funkcje po stronie serwera i po stronie klienta. Pokaż mi przykładowy przepływ i wyjaśnij, jak działają żądania i odpowiedzi.
  • Wyjaśnij @server.js

Generowanie pliku README

  • Wygeneruj plik README dla tego projektu.

W tym przypadku interfejs Gemini CLI nie tylko wygenerował plik README, ale też chciał wykonać polecenia, aby dodać go do repozytorium Git i przesłać zmiany do zdalnego repozytorium, na co zezwoliłem. Zaproponował też wygenerowanie pliku LICENSE, na co również zezwoliłem.

Wygenerowano pliki README i LICENSE, a zmiany zostały przesłane do GitHub.

d77239c8fae0aa8b.png

Wdrażanie nowej funkcji

  • Chcę wdrożyć nową funkcję, która umożliwi użytkownikowi wyszukiwanie według konkretnego głośnika. Najpierw pokaż mi plan wprowadzenia tej zmiany, a potem wygenerujemy kod.

Przedstawił mi plan, który zatwierdziłem, a potem wprowadził zmiany. Przetestuj zmiany, a jeśli pojawią się błędy (co jest prawdopodobne), poproś interfejs wiersza poleceń Gemini o ich naprawienie.

Gdy zmiany będą wyglądać dobrze, możesz wykonać te same czynności, aby zatwierdzić je i wypchnąć do repozytorium zdalnego.

Generowanie zgłoszeń na podstawie sugerowanych funkcji

Spróbujmy czegoś ciekawego. Zapytamy interfejs wiersza poleceń Gemini, jak można poprawić komfort korzystania z tej aplikacji. Na podstawie jego oceny możemy utworzyć te sugestie jako problemy w tym samym repozytorium GitHub. Użyje narzędzia „create_issue” z serwera MCP GitHub.

Wypróbuj ten prompt:

  • Chcę, abyś ocenił aplikację z punktu widzenia wygody użytkownika. łatwość obsługi, szybkość reakcji, pomocne wiadomości i inne. Przygotuj listę ulepszeń, a potem utwórz je jako problemy w repozytorium GitHub.

Najpierw przedstawi Ci proponowane ulepszenia, a potem, za Twoją zgodą, utworzy zgłoszenia w repozytorium GitHub. Oto przykładowy zrzut ekranu z naszego testu:

495b0f7afab91ec6.png

Praca nad problemem w GitHubie i wdrażanie proponowanych zmian

Możemy teraz wziąć jeden z wcześniej wygenerowanych problemów i poprosić interfejs wiersza poleceń Gemini o jego rozwiązanie.

Poniżej znajdziesz przykładowy problem, który został wygenerowany:

2e41f9f6eac3d1b.png

Skopiuj cały adres URL problemu i wpisz prompta podobnego do tego:

  • Zapoznaj się z sekcją Problem: <YOUR_ISSUE_URL> i dowiedz się, jakie zmiany musisz wprowadzić. Najpierw omów plan, a potem pokaż proponowane zmiany w kodzie.

Możesz zatwierdzić zmiany i wypchnąć je do repozytorium. Możesz nawet poprosić o zamknięcie zgłoszenia.

cd3c89cf3d47723b.png

7. (Opcjonalnie) Dostosowywanie interfejsu wiersza poleceń Gemini za pomocą pliku GEMINI.md

Jeśli do tej pory korzystałeś(-aś) z interfejsu wiersza poleceń Gemini, być może zauważyłeś(-aś), że po prostu podawaliśmy prompt i oczekiwaliśmy, że interfejs wiersza poleceń Gemini go wykona, czasami z wynikami, które nie spełniały naszych oczekiwań. W niektórych promptach podaliśmy konkretne instrukcje, co należy zrobić.

Może to działać prawidłowo zgodnie z instrukcjami przekazywanymi do interfejsu wiersza poleceń Gemini i uzyskiwanymi wynikami. W wielu przypadkach chcesz jednak mieć pewność, że jest ona zgodna z regułami. Mogą to być konkretne języki programowania lub platformy, których należy używać. Mogą to być też konkretne narzędzia. Mogą to być style kodowania. Nie chodzi tylko o generowanie, ale możesz też chcieć, aby interfejs Gemini CLI działał w tzw. trybie „planowania” i tylko przedstawiał plan, a nie generował kodu ani nie modyfikował plików w systemie.

Wpisz GEMINI.md. Jest to plik kontekstu (domyślnie GEMINI.md, ale można go skonfigurować za pomocą ustawienia contextFileName), który ma kluczowe znaczenie dla konfigurowania kontekstu instrukcyjnego (zwanego też „pamięcią”) przekazywanego do modelu Gemini. Ten plik umożliwia przekazywanie AI instrukcji dotyczących projektu, przewodników po stylu kodowania lub wszelkich istotnych informacji, dzięki czemu odpowiedzi będą bardziej dopasowane do Twoich potrzeb i dokładniejsze.

Plik GEMINI.md jest w formacie Markdown i wczytuje się hierarchicznie, łącząc informacje z wielu lokalizacji.

Kolejność wczytywania jest następująca:

  1. Kontekst globalny:**~/.gemini/GEMINI.md** (w przypadku instrukcji, które mają zastosowanie do wszystkich projektów).
  2. Kontekst projektu lub elementu nadrzędnego: interfejs CLI wyszukuje pliki GEMINI.md w bieżącym katalogu i w katalogach powyżej aż do katalogu głównego projektu.
  3. Kontekst podkatalogu: interfejs wiersza poleceń skanuje też podkatalogi w poszukiwaniu plików GEMINI.md, co umożliwia stosowanie instrukcji dotyczących poszczególnych komponentów.

Możesz użyć /memory show, aby zobaczyć ostateczny połączony kontekst wysyłany do modelu.

Jak wygląda GEMINI.md i jak go utworzyć na podstawie oficjalnej dokumentacji:

# Project: My Awesome TypeScript Library

## General Instructions:

- When generating new TypeScript code, please follow the existing coding style.
- Ensure all new functions and classes have JSDoc comments.
- Prefer functional programming paradigms where appropriate.
- All code should be compatible with TypeScript 5.0 and Node.js 20+.

## Coding Style:

- Use 2 spaces for indentation.
- Interface names should be prefixed with `I` (e.g., `IUserService`).
- Private class members should be prefixed with an underscore (`_`).
- Always use strict equality (`===` and `!==`).

## Specific Component: `src/api/client.ts`

- This file handles all outbound API requests.
- When adding new API call functions, ensure they include robust error handling and logging.
- Use the existing `fetchWithRetry` utility for all GET requests.

## Regarding Dependencies:

- Avoid introducing new external dependencies unless absolutely necessary.
- If a new dependency is required, please state the reason.

Zawiera on ogólne instrukcje oraz bardzo szczegółowe wskazówki dotyczące stylu kodowania, zarządzania zależnościami i innych kwestii. Jest to przykładowy plik GEMINI.md dla projektów w TypeScript, ale możesz napisać własny plik na podstawie języka programowania, platformy, stylu kodowania i innych preferencji.

Wypróbujmy niestandardowy plik GEMINI.md. Pochodzi z gistu, który pokazuje, jak używać interfejsu Gemini CLI w trybie Plan. Plik jest odtworzony tutaj:

# Gemini CLI Plan Mode

You are Gemini CLI, an expert AI assistant operating in a special 'Plan Mode'. Your sole purpose is to research, analyze, and create detailed implementation plans. You must operate in a strict read-only capacity.

Gemini CLI's primary goal is to act like a senior engineer: understand the request, investigate the codebase and relevant resources, formulate a robust strategy, and then present a clear, step-by-step plan for approval. You are forbidden from making any modifications. You are also forbidden from implementing the plan.

## Core Principles of Plan Mode

*   **Strictly Read-Only:** You can inspect files, navigate code repositories, evaluate project structure, search the web, and examine documentation.
*   **Absolutely No Modifications:** You are prohibited from performing any action that alters the state of the system. This includes:
    *   Editing, creating, or deleting files.
    *   Running shell commands that make changes (e.g., `git commit`, `npm install`, `mkdir`).
    *   Altering system configurations or installing packages.

## Steps

1.  **Acknowledge and Analyze:** Confirm you are in Plan Mode. Begin by thoroughly analyzing the user's request and the existing codebase to build context.
2.  **Reasoning First:** Before presenting the plan, you must first output your analysis and reasoning. Explain what you've learned from your investigation (e.g., "I've inspected the following files...", "The current architecture uses...", "Based on the documentation for [library], the best approach is..."). This reasoning section must come **before** the final plan.
3.  **Create the Plan:** Formulate a detailed, step-by-step implementation plan. Each step should be a clear, actionable instruction.
4.  **Present for Approval:** The final step of every plan must be to present it to the user for review and approval. Do not proceed with the plan until you have received approval. 

## Output Format

Your output must be a well-formatted markdown response containing two distinct sections in the following order:

1.  **Analysis:** A paragraph or bulleted list detailing your findings and the reasoning behind your proposed strategy.
2.  **Plan:** A numbered list of the precise steps to be taken for implementation. The final step must always be presenting the plan for approval.


NOTE: If in plan mode, do not implement the plan. You are only allowed to plan. Confirmation comes from a user message.

Zapisz powyższą zawartość w pliku o nazwie GEMINI.md i zapisz go w folderze ~/.gemini/GEMINI.md. Jest to ten sam folder, w którym utworzyliśmy plik settings.json. Możesz też przechowywać plik GEMINI.md w folderze <current project folder>/.gemini lub mieć kilka plików GEMINI.md w podkatalogach, jeśli masz różne instrukcje.

Wpisz prompt, aby wygenerować aplikację i sprawdzić jej działanie.

Oto kolejny plik GEMINI.md ( tryb wyjaśniania w Gemini), który możesz przeanalizować, a potem dostosować do swoich potrzeb i wykorzystać. Ta funkcja koncentruje się na tym, że GEMINI CLI jest interaktywnym przewodnikiem, który pomaga użytkownikom zrozumieć złożone bazy kodu poprzez proces odkrywania oparty na rozmowie.

Plik GEMINI.md jest kluczem do dostosowania interfejsu wiersza poleceń Gemini do Twoich preferencji. Warto zapoznać się z praktyczną serią „ Praktyczny interfejs wiersza poleceń Gemini”, która szczegółowo omawia ten obszar, pokazuje, jak automatycznie wygenerować taki plik dla projektu, dostosować nawet prompt systemowy i inne elementy.

8. Gratulacje

Gratulacje! Udało Ci się poznać interfejs wiersza poleceń Gemini, jego możliwości i zastosować go w kilku przypadkach użycia.

Dokumentacja