summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/commands/docsCommand.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/commands/docsCommand.ts')
-rw-r--r--packages/cli/src/ui/commands/docsCommand.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/packages/cli/src/ui/commands/docsCommand.ts b/packages/cli/src/ui/commands/docsCommand.ts
new file mode 100644
index 00000000..e53a4a80
--- /dev/null
+++ b/packages/cli/src/ui/commands/docsCommand.ts
@@ -0,0 +1,37 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import open from 'open';
+import process from 'node:process';
+import { type CommandContext, type SlashCommand } from './types.js';
+import { MessageType } from '../types.js';
+
+export const docsCommand: SlashCommand = {
+ name: 'docs',
+ description: 'open full Gemini CLI documentation in your browser',
+ action: async (context: CommandContext): Promise<void> => {
+ const docsUrl = 'https://goo.gle/gemini-cli-docs';
+
+ if (process.env.SANDBOX && process.env.SANDBOX !== 'sandbox-exec') {
+ context.ui.addItem(
+ {
+ type: MessageType.INFO,
+ text: `Please open the following URL in your browser to view the documentation:\n${docsUrl}`,
+ },
+ Date.now(),
+ );
+ } else {
+ context.ui.addItem(
+ {
+ type: MessageType.INFO,
+ text: `Opening documentation in your browser: ${docsUrl}`,
+ },
+ Date.now(),
+ );
+ await open(docsUrl);
+ }
+ },
+};