Skip to content

Commit e71ce29

Browse files
Justin Poehneltgoogle-labs-jules[bot]jpoehnelt
authored
fix: Gemini extension installation issue and update docs (npm#16)
* Fix Gemini extension installation issue and update docs - Removed redundant authentication settings from `gemini-extension.json`. - Added Gemini extension installation section to `README.md`. - Added Gemini agent rules of engagement to `CONTEXT.md`. - Added a changeset file for the patch. Co-authored-by: jpoehnelt <3392975+jpoehnelt@users.noreply.github.com> * docs: simplify gemini part Removed installation section and optimization tips for gws in the README. * fix: remove template sanitization settings from config Removed settings related to template sanitization. --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: jpoehnelt <3392975+jpoehnelt@users.noreply.github.com>
1 parent c11d3c4 commit e71ce29

4 files changed

Lines changed: 26 additions & 33 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@googleworkspace/cli": patch
3+
---
4+
5+
Fix Gemini extension installation issue by removing redundant authentication settings and update the documentation.

CONTEXT.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
The `gws` CLI provides dynamic access to Google Workspace APIs (Drive, Gmail, Calendar, Sheets, Admin, etc.) by parsing Discovery Documents at runtime.
44

5+
## Rules of Engagement for Agents
6+
7+
* **Schema Discovery:** *If you don't know the exact JSON payload structure, run `gws schema <resource>.<method>` first to inspect the schema before executing.*
8+
* **Context Window Protection:** *Workspace APIs (like Drive and Gmail) return massive JSON blobs. ALWAYS use field masks when listing or getting resources by appending `--params '{"fields": "id,name"}'` to avoid overwhelming your context window.*
9+
* **Dry-Run Safety:** *Always use the `--dry-run` flag for mutating operations (create, update, delete) to validate your JSON payload before actual execution.*
10+
511
## Core Syntax
612

713
```bash

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,20 @@ The `gws-shared` skill includes an `install` block so OpenClaw auto-installs the
175175
</details>
176176

177177

178+
## Gemini CLI Extension
179+
180+
1. Authenticate the CLI first:
181+
```bash
182+
gws setup
183+
```
184+
185+
2. Install the extension into the Gemini CLI:
186+
```bash
187+
gemini extensions install https://github.com/googleworkspace/cli
188+
```
189+
190+
Installing this extension gives your Gemini CLI agent direct access to all `gws` commands and Google Workspace agent skills. Because `gws` handles its own authentication securely, you simply need to authenticate your terminal once prior to using the agent, and the extension will automatically inherit your credentials.
191+
178192
## Advanced Usage
179193

180194
### Multipart Uploads

gemini-extension.json

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,5 @@
22
"name": "google-workspace-cli",
33
"version": "latest",
44
"description": "CLI tool for managing Google Workspace resources dynamically using Discovery APIs.",
5-
"contextFileName": "CONTEXT.md",
6-
"settings": [
7-
{
8-
"name": "Credentials File",
9-
"description": "Path to the Google Workspace authorized user credentials or service account JSON file.",
10-
"envVar": "GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE",
11-
"sensitive": false
12-
},
13-
{
14-
"name": "OAuth Client ID",
15-
"description": "Client ID for OAuth authentication.",
16-
"envVar": "GOOGLE_WORKSPACE_CLI_CLIENT_ID",
17-
"sensitive": false
18-
},
19-
{
20-
"name": "OAuth Client Secret",
21-
"description": "Client Secret for OAuth authentication.",
22-
"envVar": "GOOGLE_WORKSPACE_CLI_CLIENT_SECRET",
23-
"sensitive": true
24-
},
25-
{
26-
"name": "Sanitize Template",
27-
"description": "Resource name of the Model Armor template to use for sanitization (e.g., projects/P/locations/L/templates/T).",
28-
"envVar": "GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE",
29-
"sensitive": false
30-
},
31-
{
32-
"name": "Impersonated User",
33-
"description": "Email address of the user to impersonate (requires Domain-Wide Delegation).",
34-
"envVar": "GOOGLE_WORKSPACE_CLI_IMPERSONATED_USER",
35-
"sensitive": false
36-
}
37-
]
5+
"contextFileName": "CONTEXT.md"
386
}

0 commit comments

Comments
 (0)