From 59e8fcb4096b2f4f3841150035aa995aaebc0e97 Mon Sep 17 00:00:00 2001 From: cperry-goog <78765543+cperry-goog@users.noreply.github.com> Date: Thu, 15 May 2025 20:43:01 -0700 Subject: [PATCH] Docs: Fix broken links and update documentation (#377) --- docs/cli/configuration.md | 4 ++-- docs/cli/index.md | 4 +--- docs/index.md | 4 +--- docs/server/index.md | 6 +++--- docs/tools/index.md | 21 ++++++--------------- docs/tools/shell.md | 2 +- 6 files changed, 14 insertions(+), 27 deletions(-) diff --git a/docs/cli/configuration.md b/docs/cli/configuration.md index e3965caa..2fbca3ff 100644 --- a/docs/cli/configuration.md +++ b/docs/cli/configuration.md @@ -36,7 +36,7 @@ When you create a `.gemini/settings.json` file for project-specific settings, or - **Generally, it's recommended to add `.gemini/` to your project's `.gitignore` file.** - **Reasoning:** This directory often contains user-specific preferences (like themes) or local sandbox configurations that might not be relevant or applicable to all collaborators on the project. Keeping it out of version control avoids imposing one user's local setup on others. -- **Exception:** If your team decides that certain project-specific configurations within `.gemini/` (e.g., a carefully crafted `sandbox-macos-custom.sb` profile that _all_ macOS users on the project should use) are essential for consistent project behavior, you might choose to commit specific files within `.gemini/` (e.g., `!.gemini/sandbox-macos-custom.sb`) or the entire directory. However, this should be a deliberate decision by the team. +- **Exception:** If your team decides that certain project-specific configurations within `.gemini/` (e.g., a carefully crafted `sandbox-macos-custom.sb` profile that _all_ macOS users on the project should use) are essential for consistent project behavior, you might choose to commit specific files within `.gemini/` (e.g., `.gemini/sandbox-macos-custom.sb`) or the entire directory. However, this should be a deliberate decision by the team. - User-specific `settings.json` often contains local paths or preferences that should not be committed. Always consider the nature of the files within `.gemini/` before deciding to include them in version control. For most common use cases, ignoring the entire directory is the safest approach. @@ -46,7 +46,7 @@ Always consider the nature of the files within `.gemini/` before deciding to inc - **`theme`** (string): - Specifies the visual theme for the CLI. - Example: `"theme": "VS2015"` - - See the [UI Guide](./ui-guide.md#themes) for available theme names. + - See the [Theming section in README.md](../../README.md#theming) for available theme names. - **`sandbox`** (boolean or string): - Controls whether and how to use sandboxing for tool execution. - `true`: Enable default sandbox (e.g., Docker or Podman if configured, otherwise OS-level like Seatbelt on macOS). diff --git a/docs/cli/index.md b/docs/cli/index.md index d5ab6461..db1dab97 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -14,7 +14,6 @@ The Gemini CLI (`packages/cli`) is the primary way users interact with the Gemin - Syntax highlighting for code blocks in various languages. - Clear display of tool calls, inputs, and outputs. - **Command History:** Easily access and re-run previous commands and prompts. -- **Suggestions:** (If applicable, describe suggestion features) - **Theming:** Customize the look and feel of the CLI to your preference. See the [Theming section in README.md](../../README.md#theming). - **Configuration:** Tailor the CLI's behavior through configuration files. See [CLI Configuration](./configuration.md). - **Special Commands:** Utilize built-in commands for tasks like managing history, memory, or display. See [Commands](./commands.md). @@ -24,7 +23,7 @@ The Gemini CLI (`packages/cli`) is the primary way users interact with the Gemin 1. **Start the CLI:** Run `npm start` from the project root (or execute the installed CLI command directly). Refer to the main [README.md](../../README.md) for setup and running instructions. 2. **Enter a Prompt:** Type your question or instruction at the `>` prompt and press Enter. ``` - > Explain quantum computing in simple terms. + > Explain how to build a web app. ``` 3. **View Response:** Gemini's response will be displayed in the terminal. If Gemini needs to use a tool (e.g., to read a file you mentioned), you will see messages indicating the tool usage. 4. **Continue Conversation:** You can continue the conversation by asking follow-up questions or giving new instructions. @@ -32,7 +31,6 @@ The Gemini CLI (`packages/cli`) is the primary way users interact with the Gemin ## Navigating this Section - **[Commands](./commands.md):** A detailed reference for all built-in CLI commands (e.g., `/help`, `/history`, `/theme`). -- **[UI Guide](./ui-guide.md):** Learn more about the different parts of the CLI's user interface, including themes and display elements. - **[Configuration](./configuration.md):** Understand how to configure various aspects of the CLI. This documentation will help you become proficient in using the Gemini CLI for a wide range of tasks. diff --git a/docs/index.md b/docs/index.md index 23a0f9fb..66eb6787 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,12 +10,10 @@ The Gemini CLI is a tool designed to bring the capabilities of Gemini models to This documentation is organized into the following sections: -- **[Getting Started](./getting-started.md):** Learn how to install, configure, and run the Gemini CLI for the first time. - **[Architecture Overview](./architecture.md):** Understand the high-level design of the Gemini CLI, including its core components and how they interact. - **CLI Usage:** - **[CLI Introduction](./cli/index.md):** An overview of the command-line interface. - **[Commands](./cli/commands.md):** Detailed descriptions of all available CLI commands. - - **[UI Guide](./cli/ui-guide.md):** Information on the terminal UI, themes, and customization. - **[Configuration](./cli/configuration.md):** How to configure the CLI. - **Server Details:** - **[Server Introduction](./server/index.md):** An overview of the server component. @@ -27,7 +25,7 @@ This documentation is organized into the following sections: - **[Shell Tool](./tools/shell.md):** Using the `execute_bash_command` tool. - **[Web Fetch Tool](./tools/web.md):** Using the `web_fetch` tool. - **[Multi-File Read Tool](./tools/multi-file.md):** Using the `read_many_files` tool. -- **[Contributing & Development Guide](../CONTRIBUTING.md#development-setup-and-workflow):** Information for contributors and developers, including setup, building, testing, and coding conventions. +- **[Contributing & Development Guide](../CONTRIBUTING.md):** Information for contributors and developers, including setup, building, testing, and coding conventions. - **[Troubleshooting Guide](./troubleshooting.md):** Find solutions to common problems and FAQs. We hope this documentation helps you make the most of the Gemini CLI! diff --git a/docs/server/index.md b/docs/server/index.md index ae8334e6..006e4d21 100644 --- a/docs/server/index.md +++ b/docs/server/index.md @@ -20,9 +20,9 @@ The server package is a crucial part of the Gemini CLI ecosystem. While the CLI While the exact implementation details are within the `packages/server/src/` directory, key conceptual components include: -- **API Client (`client.ts`):** A module responsible for making HTTP requests to the Gemini API, handling authentication, and parsing responses. -- **Prompt Management (`prompts.ts`):** Logic for creating and formatting the prompts sent to the Gemini model. This includes integrating user queries, historical context, and tool specifications. -- \*\*Tool Registry and Execution (`tool-registry.ts`, `tools.ts`, individual tool files like `read-file.ts`, `shell.ts`): +- **API Client** (`client.ts`): A module responsible for making HTTP requests to the Gemini API, handling authentication, and parsing responses. +- **Prompt Management** (`prompts.ts`): Logic for creating and formatting the prompts sent to the Gemini model. This includes integrating user queries, historical context, and tool specifications. +- **Tool Registry and Execution** (`tool-registry.ts`, `tools.ts`, individual tool files like `read-file.ts`, `shell.ts`): - A system for discovering, registering, and describing available tools to the Gemini model. - Code for executing each tool safely and effectively, often involving interaction with the operating system or external services. - **Configuration (`config.ts`):** Handles loading and providing access to server-side configurations, including API keys, model choices, and potentially tool-specific settings. diff --git a/docs/tools/index.md b/docs/tools/index.md index f10477bd..2f35c99a 100644 --- a/docs/tools/index.md +++ b/docs/tools/index.md @@ -28,15 +28,6 @@ The server component (`packages/server`) manages these tools, presents their def You will typically see messages in the CLI indicating when a tool is being called and whether it succeeded or failed. -## Categories of Built-in Tools - -The built-in tools can be broadly categorized as follows: - -- **[File System Tools](./file-system.md):** For interacting with files and directories (reading, writing, listing, searching, etc.). -- **[Shell Tool](./shell.md):** For executing shell commands. -- **[Web Fetch Tool](./web.md):** For retrieving content from URLs. -- **[Multi-File Read Tool](./multi-file.md):** A specialized tool for reading content from multiple files or directories, often used by the `@` command. - ## Security and Confirmation Many tools, especially those that can modify your file system or execute commands (`write_file`, `edit`, `execute_bash_command`), are designed with safety in mind. The Gemini CLI will typically: @@ -46,13 +37,13 @@ Many tools, especially those that can modify your file system or execute command It's important to always review confirmation prompts carefully before allowing a tool to proceed. -## Detailed Tool Documentation +## Categories of Built-in Tools -For detailed information on each specific tool, including its parameters and behavior, please refer to the individual pages in this section: +The built-in tools can be broadly categorized as follows: -- **[File System Tools](./file-system.md)** -- **[Shell Tool (execute_bash_command)](./shell.md)** -- **[Web Fetch Tool](./web.md)** -- **[Multi-File Read Tool](./multi-file.md)** +- **[File System Tools](./file-system.md):** For interacting with files and directories (reading, writing, listing, searching, etc.). +- **[Shell Tool](./shell.md):** For executing shell commands. +- **[Web Fetch Tool](./web.md):** For retrieving content from URLs. +- **[Multi-File Read Tool](./multi-file.md):** A specialized tool for reading content from multiple files or directories, often used by the `@` command. Understanding the available tools and how they work will help you make the most effective use of the Gemini CLI. diff --git a/docs/tools/shell.md b/docs/tools/shell.md index 6715cfa9..5b8e8c9d 100644 --- a/docs/tools/shell.md +++ b/docs/tools/shell.md @@ -1,6 +1,6 @@ # Shell Tool -This document provides details on the shell tool available. +This document provides details on the shell tool. ## `execute_bash_command`