Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/rename-personal-fork.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@googleworkspace/cli": patch
---

Rename the maintained fork to ratovarius/googleworkspace-cli and update repository
links, source installation examples, package metadata, CLI help, and agent guidance.
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AGENTS.md

This is the independently maintained `ratovarius/cli` fork. Read
This is the independently maintained `ratovarius/googleworkspace-cli` fork. Read
[FORK.md](FORK.md) for upstream attribution and the feature ledger, and
[CONTRIBUTING.md](CONTRIBUTING.md) for fork PRs, upstream submissions, and CI.

Expand Down
16 changes: 8 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Contributing

This repository is the independently maintained
[ratovarius/cli fork](FORK.md) of
[ratovarius/googleworkspace-cli fork](FORK.md) of
[googleworkspace/cli](https://github.com/googleworkspace/cli).
The fork welcomes bug reports and focused improvements. Read [AGENTS.md](AGENTS.md)
for architecture, validation, testing, and changeset conventions.

## Develop a change in this fork

1. Search [fork issues](https://github.com/ratovarius/cli/issues) and
1. Search [fork issues](https://github.com/ratovarius/googleworkspace-cli/issues) and
[upstream issues](https://github.com/googleworkspace/cli/issues) first.
Create a fork issue describing the problem, expected behavior, and relevant
upstream links.
2. Branch from this fork's current `main`. Keep one concern per branch.
3. Add a regression test, implement the change, and add a `.changeset/*.md`
entry. Existing package names in changesets are retained for upstream
portability.
4. Run the relevant checks below and open a PR against `ratovarius/cli:main`.
4. Run the relevant checks below and open a PR against `ratovarius/googleworkspace-cli:main`.
Link the fork issue with `Fixes #NUMBER`, describe the behavior and test
evidence, and disclose any untested platform or live-API assumptions.
5. Review the diff and CI results before merging. Keep branches backing open
Expand All @@ -25,17 +25,17 @@ for architecture, validation, testing, and changeset conventions.
For a checkout with push access to this fork:

```bash
git clone https://github.com/ratovarius/cli.git
cd cli
git clone https://github.com/ratovarius/googleworkspace-cli.git
cd googleworkspace-cli
git remote add upstream https://github.com/googleworkspace/cli.git
git fetch origin
git switch -c feat/my-change origin/main
# Make and test a focused change, then commit it.
git push -u origin feat/my-change
gh pr create --repo ratovarius/cli --base main --head feat/my-change
gh pr create --repo ratovarius/googleworkspace-cli --base main --head feat/my-change
```

Other contributors can fork `ratovarius/cli` into their own account and open
Other contributors can fork `ratovarius/googleworkspace-cli` into their own account and open
a cross-fork PR. Use Conventional Commits, subjects under 72 characters, and
no `Co-Authored-By` trailers.

Expand Down Expand Up @@ -118,7 +118,7 @@ git switch -c chore/sync-upstream origin/main
git merge upstream/main
# Resolve conflicts, inspect the changes, and run the checks above.
git push -u origin chore/sync-upstream
gh pr create --repo ratovarius/cli --base main --head chore/sync-upstream
gh pr create --repo ratovarius/googleworkspace-cli --base main --head chore/sync-upstream
```

Choose a new branch name if a sync PR is already open. If the pristine branch
Expand Down
24 changes: 12 additions & 12 deletions FORK.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# About this fork

This is **ratovarius/cli**, an independently maintained public fork of
This is **ratovarius/googleworkspace-cli**, an independently maintained public fork of
[googleworkspace/cli](https://github.com/googleworkspace/cli). The original
project and its contributors built `gws`; this fork builds on their work.
Original history, copyright notices, and the [Apache-2.0 license](LICENSE)
Expand All @@ -23,7 +23,7 @@ Their code remains included in this fork's `main`; their closure does not indica
rejection by the original maintainers. Further development of those improvements
continues through issues and PRs in this fork. Additional upstream submissions
are outside the current pilot. This policy is tracked in
[fork issue #11](https://github.com/ratovarius/cli/issues/11).
[fork issue #11](https://github.com/ratovarius/googleworkspace-cli/issues/11).

## Included improvements and upstream contributions

Expand All @@ -35,14 +35,14 @@ upstream acceptance.

| Improvement | Workflow benefit | Fork issue | Upstream proposal |
| --- | --- | --- | --- |
| Explicit `--allow-unknown-fields` | Send supported preview request fields missing from Discovery, while retaining known-field validation. Google preview enrollment still applies. | [#1](https://github.com/ratovarius/cli/issues/1) | [#931](https://github.com/googleworkspace/cli/pull/931) — closed |
| `gws docs +read` | Read text, formatting, tables, images, and all tabs in a compact structured response. | [#2](https://github.com/ratovarius/cli/issues/2) | [#932](https://github.com/googleworkspace/cli/pull/932) — closed |
| Reviewed text patch companion | Review one precise replacement, bind it to the document revision, and verify the result. | [#3](https://github.com/ratovarius/cli/issues/3) | [#933](https://github.com/googleworkspace/cli/pull/933) — closed |
| Visual review bundle companion | Collect document structure, PDF, DOCX, Markdown, assets, and an HTML review view in one local folder. | [#4](https://github.com/ratovarius/cli/issues/4) | [#934](https://github.com/googleworkspace/cli/pull/934) — closed |
| Explicit trusted file root | Export or upload within a chosen working directory with path checks. | [#5](https://github.com/ratovarius/cli/issues/5) | [#935](https://github.com/googleworkspace/cli/pull/935) — closed |
| Credential-free request previews | Validate raw requests and Docs appends without opening credentials or sending the request. Offline use requires a fresh cached Discovery schema. | [#6](https://github.com/ratovarius/cli/issues/6) | [#936](https://github.com/googleworkspace/cli/pull/936) — closed |
| Preserve credentials after decryption failure | Keep saved credentials intact and report the error instead of silently falling back to another account. | [#7](https://github.com/ratovarius/cli/issues/7) | [#937](https://github.com/googleworkspace/cli/pull/937) — active pilot |
| Current Clippy compatibility | Keep the required Rust lint check passing. | [#8](https://github.com/ratovarius/cli/issues/8) | [#930](https://github.com/googleworkspace/cli/pull/930) — closed; fix included in #937 |
| Explicit `--allow-unknown-fields` | Send supported preview request fields missing from Discovery, while retaining known-field validation. Google preview enrollment still applies. | [#1](https://github.com/ratovarius/googleworkspace-cli/issues/1) | [#931](https://github.com/googleworkspace/cli/pull/931) — closed |
| `gws docs +read` | Read text, formatting, tables, images, and all tabs in a compact structured response. | [#2](https://github.com/ratovarius/googleworkspace-cli/issues/2) | [#932](https://github.com/googleworkspace/cli/pull/932) — closed |
| Reviewed text patch companion | Review one precise replacement, bind it to the document revision, and verify the result. | [#3](https://github.com/ratovarius/googleworkspace-cli/issues/3) | [#933](https://github.com/googleworkspace/cli/pull/933) — closed |
| Visual review bundle companion | Collect document structure, PDF, DOCX, Markdown, assets, and an HTML review view in one local folder. | [#4](https://github.com/ratovarius/googleworkspace-cli/issues/4) | [#934](https://github.com/googleworkspace/cli/pull/934) — closed |
| Explicit trusted file root | Export or upload within a chosen working directory with path checks. | [#5](https://github.com/ratovarius/googleworkspace-cli/issues/5) | [#935](https://github.com/googleworkspace/cli/pull/935) — closed |
| Credential-free request previews | Validate raw requests and Docs appends without opening credentials or sending the request. Offline use requires a fresh cached Discovery schema. | [#6](https://github.com/ratovarius/googleworkspace-cli/issues/6) | [#936](https://github.com/googleworkspace/cli/pull/936) — closed |
| Preserve credentials after decryption failure | Keep saved credentials intact and report the error instead of silently falling back to another account. | [#7](https://github.com/ratovarius/googleworkspace-cli/issues/7) | [#937](https://github.com/googleworkspace/cli/pull/937) — active pilot |
| Current Clippy compatibility | Keep the required Rust lint check passing. | [#8](https://github.com/ratovarius/googleworkspace-cli/issues/8) | [#930](https://github.com/googleworkspace/cli/pull/930) — closed; fix included in #937 |

The review and bundle tools are Python standard-library examples for POSIX
systems, not built-in `gws` subcommands. Their setup and limits are documented
Expand All @@ -51,7 +51,7 @@ in [docs-review](examples/docs-review/README.md) and
different document revisions; the bundle reports those limits instead of
claiming an atomic snapshot.

The initial publication is tracked in [fork issue #9](https://github.com/ratovarius/cli/issues/9).
The initial publication is tracked in [fork issue #9](https://github.com/ratovarius/googleworkspace-cli/issues/9).

## Branches and distribution

Expand All @@ -77,7 +77,7 @@ on GitHub; it does not publish packages under Google's namespace.

## Contributing here

Open issues and PRs [in this fork](https://github.com/ratovarius/cli/issues)
Open issues and PRs [in this fork](https://github.com/ratovarius/googleworkspace-cli/issues)
for work maintained here. Only the credential-preservation pilot is currently
being offered upstream. Keep its issue and PR cross-linked so users can follow
both paths.
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ Drive, Gmail, Calendar, and every Workspace API. Zero boilerplate. Structured JS
> It is **not** an officially supported Google product.

<p>
<a href="LICENSE"><img src="https://img.shields.io/github/license/ratovarius/cli" alt="license"></a>
<a href="https://github.com/ratovarius/cli/actions/workflows/fork-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/ratovarius/cli/fork-ci.yml?branch=main&label=Fork%20CI" alt="Fork CI status"></a>
<a href="LICENSE"><img src="https://img.shields.io/github/license/ratovarius/googleworkspace-cli" alt="license"></a>
<a href="https://github.com/ratovarius/googleworkspace-cli/actions/workflows/fork-ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/ratovarius/googleworkspace-cli/fork-ci.yml?branch=main&label=Fork%20CI" alt="Fork CI status"></a>
</p>
<br>

**[Install this fork from source](#installation)** ·
[Report an issue](https://github.com/ratovarius/cli/issues)
[Report an issue](https://github.com/ratovarius/googleworkspace-cli/issues)

`gws` doesn't ship a static list of commands. It reads Google's own [Discovery Service](https://developers.google.com/discovery) at runtime and builds its entire command surface dynamically. When Google Workspace adds an API endpoint or method, `gws` picks it up automatically.

Expand Down Expand Up @@ -59,14 +59,14 @@ Drive, Gmail, Calendar, and every Workspace API. Zero boilerplate. Structured JS
Install the maintained fork's `main` from source:

```bash
cargo install --git https://github.com/ratovarius/cli --branch main --locked google-workspace-cli
cargo install --git https://github.com/ratovarius/googleworkspace-cli --branch main --locked google-workspace-cli
```

To use the Docs review companions as well, keep a source checkout:

```bash
git clone https://github.com/ratovarius/cli.git
cd cli
git clone https://github.com/ratovarius/googleworkspace-cli.git
cd googleworkspace-cli
cargo build --workspace --locked
export PATH="$PWD/target/debug:$PATH"
```
Expand Down Expand Up @@ -307,11 +307,11 @@ The repo ships 100+ Agent Skills (`SKILL.md` files) — one for every supported

```bash
# Install all skills at once
npx skills add https://github.com/ratovarius/cli
npx skills add https://github.com/ratovarius/googleworkspace-cli

# Or pick only what you need
npx skills add https://github.com/ratovarius/cli/tree/main/skills/gws-drive
npx skills add https://github.com/ratovarius/cli/tree/main/skills/gws-gmail
npx skills add https://github.com/ratovarius/googleworkspace-cli/tree/main/skills/gws-drive
npx skills add https://github.com/ratovarius/googleworkspace-cli/tree/main/skills/gws-gmail
```

<details>
Expand Down Expand Up @@ -339,7 +339,7 @@ Install this fork using the source instructions above before using agent skills.

2. Install the extension into the Gemini CLI:
```bash
gemini extensions install https://github.com/ratovarius/cli
gemini extensions install https://github.com/ratovarius/googleworkspace-cli
```

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.
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Report a security issue

For vulnerabilities in this independently maintained fork, use
[GitHub's private vulnerability reporting](https://github.com/ratovarius/cli/security/advisories/new).
[GitHub's private vulnerability reporting](https://github.com/ratovarius/googleworkspace-cli/security/advisories/new).
Include the affected commit, reproduction steps, and impact. Do not include
real OAuth tokens, document contents, or other credentials in a public issue.

Expand Down
4 changes: 2 additions & 2 deletions crates/google-workspace-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ version = "0.22.5"
edition = "2021"
description = "Google Workspace CLI — dynamic command surface from Discovery Service"
license = "Apache-2.0"
repository = "https://github.com/ratovarius/cli"
homepage = "https://github.com/ratovarius/cli"
repository = "https://github.com/ratovarius/googleworkspace-cli"
homepage = "https://github.com/ratovarius/googleworkspace-cli"
readme = "README.md"
authors = ["Justin Poehnelt"]
keywords = ["cli", "google-workspace", "google", "drive", "gmail"]
Expand Down
10 changes: 5 additions & 5 deletions crates/google-workspace-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@

## Install this fork

This is the independently maintained [ratovarius fork](https://github.com/ratovarius/cli)
This is the independently maintained [ratovarius fork](https://github.com/ratovarius/googleworkspace-cli)
of [googleworkspace/cli](https://github.com/googleworkspace/cli).
Original authorship and the Apache-2.0 license are retained.

```bash
cargo install --git https://github.com/ratovarius/cli --branch main --locked google-workspace-cli
cargo install --git https://github.com/ratovarius/googleworkspace-cli --branch main --locked google-workspace-cli
```

Upstream registry packages and binary releases do not include fork-only changes.
See the [fork ledger](https://github.com/ratovarius/cli/blob/main/FORK.md)
See the [fork ledger](https://github.com/ratovarius/googleworkspace-cli/blob/main/FORK.md)
for improvements and upstream PRs.

## Quick Start
Expand All @@ -28,8 +28,8 @@ gws gmail users.messages list --params '{"maxResults": 3}'

## Documentation

See the [full README](https://github.com/ratovarius/cli#readme) for authentication setup, helper commands, agent skills, and more.
See the [full README](https://github.com/ratovarius/googleworkspace-cli#readme) for authentication setup, helper commands, agent skills, and more.

## License

Apache-2.0 — see [LICENSE](https://github.com/ratovarius/cli/blob/main/LICENSE).
Apache-2.0 — see [LICENSE](https://github.com/ratovarius/googleworkspace-cli/blob/main/LICENSE).
4 changes: 2 additions & 2 deletions crates/google-workspace-cli/src/generate_skills.rs
Original file line number Diff line number Diff line change
Expand Up @@ -747,8 +747,8 @@ gws <service> <resource> [sub-resource] <method> [flags]

## Community & Feedback Etiquette

- This is the independently maintained `https://github.com/ratovarius/cli` fork of `https://github.com/googleworkspace/cli`; see `FORK.md` for attribution and upstream contributions.
- For bugs or feature requests, direct users to open issues in the fork: `https://github.com/ratovarius/cli/issues`
- This is the independently maintained `https://github.com/ratovarius/googleworkspace-cli` fork of `https://github.com/googleworkspace/cli`; see `FORK.md` for attribution and upstream contributions.
- For bugs or feature requests, direct users to open issues in the fork: `https://github.com/ratovarius/googleworkspace-cli/issues`
- Before creating a new issue, **always** search existing issues and feature requests first
- If a matching issue already exists, add context by commenting on the existing thread instead of creating a duplicate
"#
Expand Down
4 changes: 2 additions & 2 deletions crates/google-workspace-cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -541,9 +541,9 @@ fn print_usage() {
}
println!();
println!("COMMUNITY:");
println!(" Fork: https://github.com/ratovarius/cli");
println!(" Fork: https://github.com/ratovarius/googleworkspace-cli");
println!(" Upstream: https://github.com/googleworkspace/cli");
println!(" Report bugs / request features: https://github.com/ratovarius/cli/issues");
println!(" Report bugs / request features: https://github.com/ratovarius/googleworkspace-cli/issues");
println!(" Please search existing issues first; if one already exists, comment there.");
println!();
println!("DISCLAIMER:");
Expand Down
4 changes: 2 additions & 2 deletions crates/google-workspace/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ version = "0.22.5"
edition = "2021"
description = "Google Workspace API client — Discovery Document types, service registry, and HTTP utilities"
license = "Apache-2.0"
repository = "https://github.com/ratovarius/cli"
homepage = "https://github.com/ratovarius/cli"
repository = "https://github.com/ratovarius/googleworkspace-cli"
homepage = "https://github.com/ratovarius/googleworkspace-cli"
readme = "README.md"
authors = ["Justin Poehnelt"]
keywords = ["google-workspace", "google", "discovery", "api-client"]
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/ratovarius/cli.git"
"url": "https://github.com/ratovarius/googleworkspace-cli.git"
},
"author": {
"name": "Justin Poehnelt",
"email": "justin.poehnelt@gmail.com"
},
"homepage": "https://github.com/ratovarius/cli",
"homepage": "https://github.com/ratovarius/googleworkspace-cli",
"bugs": {
"url": "https://github.com/ratovarius/cli/issues"
"url": "https://github.com/ratovarius/googleworkspace-cli/issues"
},
"scripts": {
"test": "cargo test",
Expand Down
4 changes: 2 additions & 2 deletions skills/gws-shared/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ gws <service> <resource> [sub-resource] <method> [flags]

## Community & Feedback Etiquette

- This is the independently maintained `https://github.com/ratovarius/cli` fork of `https://github.com/googleworkspace/cli`; see `FORK.md` for attribution and upstream contributions.
- For bugs or feature requests, direct users to open issues in the fork: `https://github.com/ratovarius/cli/issues`
- This is the independently maintained `https://github.com/ratovarius/googleworkspace-cli` fork of `https://github.com/googleworkspace/cli`; see `FORK.md` for attribution and upstream contributions.
- For bugs or feature requests, direct users to open issues in the fork: `https://github.com/ratovarius/googleworkspace-cli/issues`
- Before creating a new issue, **always** search existing issues and feature requests first
- If a matching issue already exists, add context by commenting on the existing thread instead of creating a duplicate
Loading