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/single-upstream-pilot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@googleworkspace/cli": patch
---

Document credential preservation as the sole upstream pilot and keep further
development of the other improvements in this public fork.
12 changes: 11 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,17 @@ The active workflows run Rust and companion checks on Linux and macOS.
The [archived upstream automation](.github/upstream-workflows/README.md)
documents which upstream checks and release jobs are not enabled here.

## Offer an improvement upstream
## Current upstream pilot and future submissions

The current policy is to keep
[googleworkspace/cli#937](https://github.com/googleworkspace/cli/pull/937)
as the sole active upstream contribution. All other feature development continues
in this fork. Proposals #930–#936 were closed by author request, with their code
and history retained here. No additional upstream PRs are planned during this
pilot.

The remaining instructions in this section are a reference for a future
maintainer decision to resume broader upstream contributions.

Maintain two PRs when a change belongs in both projects: one for inclusion
here and one for upstream acceptance. A fork-local merge does not merge the
Expand Down
59 changes: 37 additions & 22 deletions FORK.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,23 @@ Original history, copyright notices, and the [Apache-2.0 license](LICENSE)
are retained. This fork is not an official Google product and does not speak
for the upstream maintainers.

The fork exists to improve Google Docs writing and review workflows and keep
those improvements available while upstream contributions are reviewed.
Development here can continue independently. A quiet upstream branch is not
treated as an announcement that the original project has been abandoned.
The fork exists to improve Google Docs writing and review workflows. Development
here continues independently. A quiet upstream branch is not treated as an
announcement that the original project has been abandoned.

## Current upstream pilot

The sole active upstream contribution is
[#937: preserve saved credentials after authentication failures](https://github.com/googleworkspace/cli/pull/937).
This basic reliability fix benefits all Workspace commands. Its branch includes
the small Clippy cleanup as a separate commit, so it requires no other PR.

The other seven proposals were closed by author request to focus upstream review.
Their code remains included in this fork's `main`; their closure does not indicate
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).

## Included improvements and upstream contributions

Expand All @@ -20,16 +33,16 @@ The improvements below are included on this fork's `main`. The upstream PR
links show their current acceptance status; inclusion here does not imply
upstream acceptance.

| Improvement | Workflow benefit | Fork issue | Upstream PR |
| 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) |
| `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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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 |

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 @@ -46,8 +59,9 @@ The initial publication is tracked in [fork issue #9](https://github.com/ratovar
documentation and CI.
- `upstream-main` records the last imported upstream `main` unchanged. It is
updated deliberately during upstream sync, not automatically.
- Individual `feat/*` and `fix/*` branches back the focused upstream PRs.
They stay separate from this fork's publication and maintenance changes.
- Individual `feat/*` and `fix/*` branches preserve the original proposals.
`fix/preserve-credentials` backs the active upstream pilot. Start further fork
development from this fork's current `main`, keeping the pilot branch focused.

Install this fork from source using the [README](README.md#installation).
The upstream npm, crates.io, Homebrew, and binary releases do not include
Expand All @@ -61,14 +75,15 @@ fork release version and owned package namespace, update download metadata,
and validate the intended platforms. The initial publication provides source
on GitHub; it does not publish packages under Google's namespace.

## Contributing in both places
## Contributing here

Open issues and PRs [in this fork](https://github.com/ratovarius/cli/issues)
for work maintained here. Generally useful improvements can also be offered
upstream as focused PRs based on upstream `main`. Keep cross-links so users
can follow both paths.
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.

The [contribution guide](CONTRIBUTING.md) gives the commands for fork changes,
upstream submissions, testing, and importing upstream changes. If upstream
does not respond, reviewed changes can still land here and remain available
to the community. The original PRs remain available for later review.
testing, importing upstream changes, and any future decision to resume broader
upstream contributions. If upstream does not respond, reviewed changes can still
land here and remain available to the community. Closed proposal discussions
remain available as history.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ review, export, and credential-handling improvements. Original authorship,
history, and the Apache-2.0 license are preserved.

See [what this fork adds and its upstream PRs](FORK.md), or
[contribute here](CONTRIBUTING.md). This fork can develop independently while
focused improvements are offered back to the original project.
[contribute here](CONTRIBUTING.md). The initial upstream contribution is the
[credential-preservation fix](https://github.com/googleworkspace/cli/pull/937).
Other feature development continues in this fork.

**One CLI for all of Google Workspace — built for humans and AI agents.**<br>
Drive, Gmail, Calendar, and every Workspace API. Zero boilerplate. Structured JSON output. 40+ agent skills included.
Expand Down
Loading