Lewati ke isi

Lembar Contekan Gemini CLI

Referensi cepat untuk semua yang dibahas dalam lokakarya ini.

Terakhir diperbarui: 2026-05-05 · Sumber diverifikasi terhadap repositori gemini-cli


Instalasi

npm install -g @google/gemini-cli
gemini                     # Launch interactive mode
gemini --version           # Check version

Pintasan Keyboard

Pintasan Aksi
Tab Terima edit yang disarankan
Shift+Tab Telusuri opsi
Ctrl+G Editor eksternal (edit prompt atau rencana)
Ctrl+C Batalkan operasi saat ini
/ Navigasi riwayat prompt

Perintah Slash

Perintah Deskripsi
/plan Alihkan Mode Perencanaan (penelitian hanya-baca)
/stats Tampilkan penggunaan token dan info model
/clear Bersihkan konteks dan mulai dari awal
/tools Daftar alat yang tersedia
/resume Lanjutkan sesi sebelumnya
/rewind Kembalikan ke status sebelumnya
/restore Pulihkan dari checkpoint (memerlukan checkpointing diaktifkan)
/memory show Tampilkan memori yang disimpan
/memory reload Muat ulang memori dari file sumber
/memory list Daftar semua file GEMINI.md yang digunakan
/memory inbox Tinjau kandidat memori yang diekstrak secara otomatis (memerlukan experimental.autoMemory: true)
~~/memory add "..."~~ ~~Tambahkan memori~~ — dihapus pada v0.41.1, gunakan bahasa alami sebagai gantinya: "Ingat bahwa..." (detail)
/hooks panel Tampilkan status eksekusi hook
/skills list Daftar skill yang tersedia
/extensions list Daftar ekstensi yang diinstal
/commands Daftar perintah kustom

Mode Headless

# Simple prompt
gemini -p "Explain this code"

# Structured output
gemini -p "List endpoints as JSON" --output-format json

# Pipe input
cat error.log | gemini -p "Diagnose this error"

# Pipe code
cat file.js | gemini -p "Review this code for bugs"

Hierarki GEMINI.md

~/.gemini/GEMINI.md          # Global preferences
./GEMINI.md                  # Project conventions
./backend/GEMINI.md          # Subdirectory rules
./frontend/GEMINI.md         # Subdirectory rules

Sintaks impor

@./docs/coding-standards.md
@./docs/architecture.md

Lihat referensi GEMINI.md untuk sintaks lengkap.


Sub-agen

# Built-in
@codebase_investigator Map the call chain for the login endpoint

# Custom (defined in .gemini/agents/)
@security-scanner Review auth middleware for vulnerabilities

Definisi sub-agen (.gemini/agents/my-agent.md)

---
model: gemini-3.1-flash-lite-preview
tools:
  - read_file
  - list_directory
---
You are a specialist in...

Conductor Extension

# Install
gemini extensions install https://github.com/gemini-cli-extensions/conductor

# Set up project context
/conductor:setup prompt="Project description..."

# Create a feature track
/conductor:newTrack prompt="Feature description..."

# Implement the current track
/conductor:implement

Mesin Kebijakan (TOML)

# Deny reading secrets
[[rule]]
toolName = "read_file"
argsPattern = '"file_path":".*\.env"'
decision = "deny"
priority = 100
deny_message = "Reading .env files is not allowed."

# Allow running tests
[[rule]]
toolName = "run_shell_command"
commandPrefix = "npm test"
decision = "allow"
priority = 50

# Default: ask human
[[rule]]
toolName = "*"
decision = "ask_user"
priority = 1

Lihat referensi Mesin Kebijakan untuk skema lengkap dan Amankan Gemini CLI dengan Mesin Kebijakan untuk panduan praktis.


Hooks

Konfigurasi hook settings.json

{
  "hooks": {
    "BeforeTool": [{
      "matcher": "write_file|replace",
      "hooks": [{
        "name": "my-hook",
        "type": "command",
        "command": "$GEMINI_PROJECT_DIR/.gemini/hooks/my-hook.sh",
        "timeout": 3000
      }]
    }]
  }
}

Templat skrip hook

#!/usr/bin/env bash
input=$(cat)
filepath=$(echo "$input" | jq -r '.tool_input.file_path // ""')

# Allow (default)
echo '{}'

# Deny with reason
echo '{"decision":"deny","reason":"Blocked because..."}'

# Inject context
echo '{"systemMessage":"Remember to..."}'

Event hook

SessionStart → BeforeAgent → BeforeModel → BeforeToolSelection →
AfterModel → BeforeTool → AfterTool → AfterAgent → PreCompress →
Notification → SessionEnd

Lihat Referensi hook untuk siklus hidup event yang lengkap.


Server MCP

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "github-mcp-server"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_TOKEN"
      }
    }
  }
}

GitHub Actions

- uses: google-github-actions/run-gemini-cli@v1
  with:
    prompt: "Review this PR for code quality and security"

Opsi Autentikasi

# Personal (free tier)
gemini   # OAuth flow

# Vertex AI (enterprise)
gcloud auth application-default login
# + configure .gemini/settings.json with auth.provider = "vertex-ai"

Pola yang Berguna

# Smart commit
git diff --cached | gemini -p "Generate a conventional commit message"

# Code review
git diff main...HEAD | gemini -p "Review these changes"

# Generate docs
gemini -p "Generate JSDoc for all exports in backend/controllers/"

# Batch processing
for f in src/*.js; do gemini -p "Add TypeScript types" < "$f"; done

Ekstensi

# Install from GitHub
gemini extensions install https://github.com/owner/repo

# Install a specific version
gemini extensions install https://github.com/owner/repo --ref v1.2.0

# List installed extensions
gemini extensions list
/extensions list   # from interactive mode

# Update all extensions
gemini extensions update --all

# Create from a template
gemini extensions new my-extension mcp-server

# Develop locally (symlink — changes reflected immediately)
gemini extensions link .

# Disable for this workspace only
gemini extensions disable my-extension --scope workspace

Ekstensi Komunitas Terkemuka

# Conductor (spec-driven development) — already in UC1
gemini extensions install https://github.com/gemini-cli-extensions/conductor

# Superpowers (TDD, code review, subagent-driven development)
gemini extensions install https://github.com/obra/superpowers

# Oh-My-Gemini-CLI (multi-agent orchestration framework)
gemini extensions install https://github.com/Joonghyun-Lee-Frieren/oh-my-gemini-cli

# Google Workspace CLI (optional — requires Workspace auth)
gemini extensions install https://github.com/googleworkspace/cli

Galeri

Jelajahi ekstensi komunitas: geminicli.com/extensions/browse

Publikasikan milik Anda sendiri: Tambahkan topik gemini-cli-extension ke repositori GitHub Anda + tag sebuah rilis.