|
1 | | -# Welcome to Gemini CLI documentation |
| 1 | +# Gemini CLI documentation |
2 | 2 |
|
3 | | -This documentation provides a comprehensive guide to installing, using, and |
4 | | -developing Gemini CLI, a tool that lets you interact with Gemini models through |
5 | | -a command-line interface. |
| 3 | +Gemini CLI is an open-source AI agent that brings the power of Gemini directly |
| 4 | +into your terminal. It is designed to be a terminal-first, extensible, and |
| 5 | +powerful tool for developers, engineers, SREs, and beyond. |
6 | 6 |
|
7 | | -## Gemini CLI overview |
| 7 | +Gemini CLI integrates with your local environment. It can read and edit files, |
| 8 | +execute shell commands, and search the web, all while maintaining your project |
| 9 | +context. |
8 | 10 |
|
9 | | -Gemini CLI brings the capabilities of Gemini models to your terminal in an |
10 | | -interactive Read-Eval-Print Loop (REPL) environment. Gemini CLI consists of a |
11 | | -client-side application (`packages/cli`) that communicates with a local server |
12 | | -(`packages/core`), which in turn manages requests to the Gemini API and its AI |
13 | | -models. Gemini CLI also contains a variety of tools for tasks such as performing |
14 | | -file system operations, running shells, and web fetching, which are managed by |
15 | | -`packages/core`. |
| 11 | +## Get started |
16 | 12 |
|
17 | | -## Navigating the documentation |
| 13 | +Begin your journey with Gemini CLI by setting up your environment and learning |
| 14 | +the basics. |
18 | 15 |
|
19 | | -This documentation is organized into the following sections: |
| 16 | +- **[Quickstart](./get-started/index.md):** A streamlined guide to get you |
| 17 | + chatting in minutes. |
| 18 | +- **[Installation](./get-started/installation.md):** Instructions for macOS, |
| 19 | + Linux, and Windows. |
| 20 | +- **[Authentication](./get-started/authentication.md):** Set up access using |
| 21 | + Google OAuth, API keys, or Vertex AI. |
| 22 | +- **[Examples](./get-started/examples.md):** View common usage scenarios to |
| 23 | + inspire your own workflows. |
20 | 24 |
|
21 | | -### Overview |
| 25 | +## Use Gemini CLI |
22 | 26 |
|
23 | | -- **[Architecture overview](./architecture.md):** Understand the high-level |
24 | | - design of Gemini CLI, including its components and how they interact. |
25 | | -- **[Contribution guide](../CONTRIBUTING.md):** Information for contributors and |
26 | | - developers, including setup, building, testing, and coding conventions. |
| 27 | +Master the core capabilities that let Gemini CLI interact with your system |
| 28 | +safely and effectively. |
27 | 29 |
|
28 | | -### Get started |
29 | | - |
30 | | -- **[Gemini CLI quickstart](./get-started/index.md):** Let's get started with |
31 | | - Gemini CLI. |
32 | | -- **[Gemini 3 Pro on Gemini CLI](./get-started/gemini-3.md):** Learn how to |
33 | | - enable and use Gemini 3. |
34 | | -- **[Authentication](./get-started/authentication.md):** Authenticate to Gemini |
35 | | - CLI. |
36 | | -- **[Configuration](./get-started/configuration.md):** Learn how to configure |
37 | | - the CLI. |
38 | | -- **[Installation](./get-started/installation.md):** Install and run Gemini CLI. |
39 | | -- **[Examples](./get-started/examples.md):** Example usage of Gemini CLI. |
40 | | - |
41 | | -### CLI |
42 | | - |
43 | | -- **[Introduction: Gemini CLI](./cli/index.md):** Overview of the command-line |
| 30 | +- **[Using the CLI](./cli/index.md):** Learn the basics of the command-line |
44 | 31 | interface. |
45 | | -- **[Commands](./cli/commands.md):** Description of available CLI commands. |
46 | | -- **[Checkpointing](./cli/checkpointing.md):** Documentation for the |
47 | | - checkpointing feature. |
48 | | -- **[Custom commands](./cli/custom-commands.md):** Create your own commands and |
49 | | - shortcuts for frequently used prompts. |
50 | | -- **[Enterprise](./cli/enterprise.md):** Gemini CLI for enterprise. |
51 | | -- **[Headless mode](./cli/headless.md):** Use Gemini CLI programmatically for |
52 | | - scripting and automation. |
53 | | -- **[Keyboard shortcuts](./cli/keyboard-shortcuts.md):** A reference for all |
54 | | - keyboard shortcuts to improve your workflow. |
55 | | -- **[Model selection](./cli/model.md):** Select the model used to process your |
56 | | - commands with `/model`. |
57 | | -- **[Sandbox](./cli/sandbox.md):** Isolate tool execution in a secure, |
58 | | - containerized environment. |
59 | | -- **[Agent Skills](./cli/skills.md):** Extend the CLI with specialized expertise |
60 | | - and procedural workflows. |
61 | | -- **[Settings](./cli/settings.md):** Configure various aspects of the CLI's |
62 | | - behavior and appearance with `/settings`. |
63 | | -- **[Telemetry](./cli/telemetry.md):** Overview of telemetry in the CLI. |
64 | | -- **[Themes](./cli/themes.md):** Themes for Gemini CLI. |
65 | | -- **[Token caching](./cli/token-caching.md):** Token caching and optimization. |
66 | | -- **[Trusted Folders](./cli/trusted-folders.md):** An overview of the Trusted |
67 | | - Folders security feature. |
68 | | -- **[Tutorials](./cli/tutorials.md):** Tutorials for Gemini CLI. |
69 | | -- **[Uninstall](./cli/uninstall.md):** Methods for uninstalling the Gemini CLI. |
70 | | - |
71 | | -### Core |
72 | | - |
73 | | -- **[Introduction: Gemini CLI core](./core/index.md):** Information about Gemini |
74 | | - CLI core. |
75 | | -- **[Memport](./core/memport.md):** Using the Memory Import Processor. |
76 | | -- **[Tools API](./core/tools-api.md):** Information on how the core manages and |
77 | | - exposes tools. |
78 | | -- **[System Prompt Override](./cli/system-prompt.md):** Replace built-in system |
79 | | - instructions using `GEMINI_SYSTEM_MD`. |
80 | | - |
81 | | -- **[Policy Engine](./core/policy-engine.md):** Use the Policy Engine for |
82 | | - fine-grained control over tool execution. |
83 | | - |
84 | | -### Tools |
85 | | - |
86 | | -- **[Introduction: Gemini CLI tools](./tools/index.md):** Information about |
87 | | - Gemini CLI's tools. |
88 | | -- **[File system tools](./tools/file-system.md):** Documentation for the |
89 | | - `read_file` and `write_file` tools. |
90 | | -- **[Shell tool](./tools/shell.md):** Documentation for the `run_shell_command` |
91 | | - tool. |
92 | | -- **[Web fetch tool](./tools/web-fetch.md):** Documentation for the `web_fetch` |
93 | | - tool. |
94 | | -- **[Web search tool](./tools/web-search.md):** Documentation for the |
95 | | - `google_web_search` tool. |
96 | | -- **[Memory tool](./tools/memory.md):** Documentation for the `save_memory` |
97 | | - tool. |
98 | | -- **[Todo tool](./tools/todos.md):** Documentation for the `write_todos` tool. |
99 | | -- **[MCP servers](./tools/mcp-server.md):** Using MCP servers with Gemini CLI. |
100 | | - |
101 | | -### Extensions |
102 | | - |
103 | | -- **[Introduction: Extensions](./extensions/index.md):** How to extend the CLI |
104 | | - with new functionality. |
| 32 | +- **[File management](./tools/file-system.md):** Grant the model the ability to |
| 33 | + read code and apply changes directly to your files. |
| 34 | +- **[Shell commands](./tools/shell.md):** Allow the model to run builds, tests, |
| 35 | + and git commands. |
| 36 | +- **[Memory management](./tools/memory.md):** Teach Gemini CLI facts about your |
| 37 | + project and preferences that persist across sessions. |
| 38 | +- **[Project context](./cli/gemini-md.md):** Use `GEMINI.md` files to provide |
| 39 | + persistent context for your projects. |
| 40 | +- **[Web search and fetch](./tools/web-search.md):** Enable the model to fetch |
| 41 | + real-time information from the internet. |
| 42 | +- **[Session management](./cli/session-management.md):** Save, resume, and |
| 43 | + organize your chat sessions. |
| 44 | + |
| 45 | +## Configuration |
| 46 | + |
| 47 | +Customize Gemini CLI to match your workflow and preferences. |
| 48 | + |
| 49 | +- **[Settings](./cli/settings.md):** Control response creativity, output |
| 50 | + verbosity, and more. |
| 51 | +- **[Model selection](./cli/model.md):** Choose the best Gemini model for your |
| 52 | + specific task. |
| 53 | +- **[Ignore files](./cli/gemini-ignore.md):** Use `.geminiignore` to keep |
| 54 | + sensitive files out of the model's context. |
| 55 | +- **[Trusted folders](./cli/trusted-folders.md):** Define security boundaries |
| 56 | + for file access and execution. |
| 57 | +- **[Token caching](./cli/token-caching.md):** Optimize performance and cost by |
| 58 | + caching context. |
| 59 | +- **[Themes](./cli/themes.md):** Personalize the visual appearance of the CLI. |
| 60 | + |
| 61 | +## Advanced features |
| 62 | + |
| 63 | +Explore powerful features for complex workflows and enterprise environments. |
| 64 | + |
| 65 | +- **[Headless mode](./cli/headless.md):** Run Gemini CLI in scripts or CI/CD |
| 66 | + pipelines for automated reasoning. |
| 67 | +- **[Sandboxing](./cli/sandbox.md):** Execute untrusted code or tools in a |
| 68 | + secure, isolated container. |
| 69 | +- **[Checkpointing](./cli/checkpointing.md):** Save and restore workspace state |
| 70 | + to recover from experimental changes. |
| 71 | +- **[Custom commands](./cli/custom-commands.md):** Create shortcuts for |
| 72 | + frequently used prompts. |
| 73 | +- **[System prompt override](./cli/system-prompt.md):** Customize the core |
| 74 | + instructions given to the model. |
| 75 | +- **[Telemetry](./cli/telemetry.md):** Understand how usage data is collected |
| 76 | + and managed. |
| 77 | +- **[Enterprise](./cli/enterprise.md):** Manage configurations and policies for |
| 78 | + large teams. |
| 79 | + |
| 80 | +## Extensions |
| 81 | + |
| 82 | +Extend Gemini CLI's capabilities with new tools and behaviors using extensions. |
| 83 | + |
| 84 | +- **[Introduction](./extensions/index.md):** Learn about the extension system |
| 85 | + and how to manage extensions. |
105 | 86 | - **[Writing extensions](./extensions/writing-extensions.md):** Learn how to |
106 | | - build your own extension. |
107 | | -- **[Extension releasing](./extensions/releasing.md):** How to release Gemini |
108 | | - CLI extensions. |
109 | | - |
110 | | -### Hooks |
111 | | - |
112 | | -- **[Hooks](./hooks/index.md):** Intercept and customize Gemini CLI behavior at |
113 | | - key lifecycle points. |
114 | | -- **[Writing Hooks](./hooks/writing-hooks.md):** Learn how to create your first |
115 | | - hook with a comprehensive example. |
116 | | -- **[Best Practices](./hooks/best-practices.md):** Security, performance, and |
117 | | - debugging guidelines for hooks. |
118 | | - |
119 | | -### IDE integration |
120 | | - |
121 | | -- **[Introduction to IDE integration](./ide-integration/index.md):** Connect the |
122 | | - CLI to your editor. |
123 | | -- **[IDE companion extension spec](./ide-integration/ide-companion-spec.md):** |
124 | | - Spec for building IDE companion extensions. |
125 | | - |
126 | | -### Development |
127 | | - |
128 | | -- **[NPM](./npm.md):** Details on how the project's packages are structured. |
129 | | -- **[Releases](./releases.md):** Information on the project's releases and |
130 | | - deployment cadence. |
131 | | -- **[Changelog](./changelogs/index.md):** Highlights and notable changes to |
| 87 | + create your first extension. |
| 88 | +- **[Extensions reference](./extensions/reference.md):** Deeply understand the |
| 89 | + extension format, commands, and configuration. |
| 90 | +- **[Best practices](./extensions/best-practices.md):** Learn strategies for |
| 91 | + building great extensions. |
| 92 | +- **[Extensions releasing](./extensions/releasing.md):** Learn how to share your |
| 93 | + extensions with the world. |
| 94 | + |
| 95 | +## Ecosystem and extensibility |
| 96 | + |
| 97 | +Connect Gemini CLI to external services and other development tools. |
| 98 | + |
| 99 | +- **[MCP servers](./tools/mcp-server.md):** Connect to external services using |
| 100 | + the Model Context Protocol. |
| 101 | +- **[IDE integration](./ide-integration/index.md):** Use Gemini CLI alongside VS |
| 102 | + Code. |
| 103 | +- **[Hooks](./hooks/index.md):** (Preview) Write scripts that run on specific |
| 104 | + CLI events. |
| 105 | +- **[Agent skills](./cli/skills.md):** (Preview) Add specialized expertise and |
| 106 | + workflows. |
| 107 | +- **[Sub-agents](./core/subagents.md):** (Preview) Delegate tasks to specialized |
| 108 | + agents. |
| 109 | + |
| 110 | +## Development and reference |
| 111 | + |
| 112 | +Deep dive into the architecture and contribute to the project. |
| 113 | + |
| 114 | +- **[Architecture](./architecture.md):** Understand the technical design of |
132 | 115 | Gemini CLI. |
133 | | -- **[Integration tests](./integration-tests.md):** Information about the |
134 | | - integration testing framework used in this project. |
135 | | -- **[Issue and PR automation](./issue-and-pr-automation.md):** A detailed |
136 | | - overview of the automated processes we use to manage and triage issues and |
137 | | - pull requests. |
138 | | - |
139 | | -### Support |
140 | | - |
141 | | -- **[FAQ](./faq.md):** Frequently asked questions. |
142 | | -- **[Troubleshooting guide](./troubleshooting.md):** Find solutions to common |
143 | | - problems. |
144 | | -- **[Quota and pricing](./quota-and-pricing.md):** Learn about the free tier and |
145 | | - paid options. |
146 | | -- **[Terms of service and privacy notice](./tos-privacy.md):** Information on |
147 | | - the terms of service and privacy notices applicable to your use of Gemini CLI. |
148 | | - |
149 | | -We hope this documentation helps you make the most of Gemini CLI! |
| 116 | +- **[Command reference](./cli/commands.md):** A complete list of available |
| 117 | + commands. |
| 118 | +- **[Local development](./local-development.md):** Set up your environment to |
| 119 | + contribute to Gemini CLI. |
| 120 | +- **[Contributing](../CONTRIBUTING.md):** Learn how to submit pull requests and |
| 121 | + report issues. |
| 122 | +- **[FAQ](./faq.md):** Answers to common questions. |
| 123 | +- **[Troubleshooting](./troubleshooting.md):** Solutions for common issues. |
0 commit comments