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
5 changes: 0 additions & 5 deletions .changeset/add-html-mode.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/document-helper-commands.md

This file was deleted.

14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# @googleworkspace/cli

## 0.13.0

### Minor Changes

- 9d937af: Add `--html` flag to `+send`, `+reply`, `+reply-all`, and `+forward` for HTML email composition.

### Patch Changes

- 2df32ee: Document helper commands (`+` prefix) in README

Adds a "Helper Commands" section to the Advanced Usage chapter explaining
the `+` prefix convention, listing all 24 helper commands across 10 services
with descriptions and usage examples.

## 0.12.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

[package]
name = "gws"
version = "0.12.0"
version = "0.13.0"
edition = "2021"
description = "Google Workspace CLI — dynamic command surface from Discovery Service"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@googleworkspace/cli",
"version": "0.12.0",
"version": "0.13.0",
"private": true,
"description": "Google Workspace CLI — dynamic command surface from Discovery Service",
"license": "Apache-2.0",
Expand Down
22 changes: 10 additions & 12 deletions skills/gws-gmail-forward/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ gws gmail +forward --message-id <ID> --to <EMAILS>

## Flags

| Flag | Required | Default | Description |
| -------------- | -------- | ------- | ----------------------------------------------------------------------------- |
| `--message-id` | ✓ | — | Gmail message ID to forward |
| `--to` | ✓ | — | Recipient email address(es), comma-separated |
| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
| `--cc` | — | — | CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--body` | — | — | Optional note above the forwarded message (plain text, or HTML with `--html`) |
| `--html` | — | — | Treat `--body` as HTML content (default is plain text) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |
| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--message-id` | ✓ | — | Gmail message ID to forward |
| `--to` | ✓ | — | Recipient email address(es), comma-separated |
| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
| `--cc` | — | — | CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--body` | — | — | Optional note to include above the forwarded message (plain text, or HTML with --html) |
| `--html` | — | — | Send as HTML (formats forwarded block with Gmail styling; treat --body as HTML) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |

## Examples

Expand All @@ -48,8 +48,6 @@ gws gmail +forward --message-id 18f1a2b3c4d --to dave@example.com --body '<p>FYI
## Tips

- Includes the original message with sender, date, subject, and recipients.
- With `--html`, the forwarded block uses Gmail's `gmail_quote` CSS classes and preserves the original message's HTML formatting. Use HTML fragment tags (`<p>`, `<b>`, `<a>`, etc.) — no `<html>`/`<body>` wrapper needed.
- With `--html`, inline images embedded in the forwarded message (`cid:` references) will appear broken. Externally hosted images are unaffected.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Important tips regarding the use of the --html flag have been removed. These tips provided valuable information about how HTML content is handled, including the use of gmail_quote CSS classes, the recommendation to use HTML fragments instead of full documents, and a crucial warning about broken inline images (cid: references). Removing this information can lead to confusion and unexpected behavior for users. It's highly recommended to restore these tips.

Suggested change
- With `--html`, the forwarded block uses Gmail's `gmail_quote` CSS classes and preserves the original message's HTML formatting. Use HTML fragment tags (`<p>`, `<b>`, `<a>`, etc.) — no `<html>`/`<body>` wrapper needed.
- With `--html`, inline images embedded in the forwarded message (`cid:` references) will appear broken. Externally hosted images are unaffected.

## See Also

Expand Down
34 changes: 16 additions & 18 deletions skills/gws-gmail-reply-all/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ gws gmail +reply-all --message-id <ID> --body <TEXT>

## Flags

| Flag | Required | Default | Description |
| -------------- | -------- | ------- | ------------------------------------------------------------------- |
| `--message-id` | ✓ | — | Gmail message ID to reply to |
| `--body` | ✓ | — | Reply body (plain text, or HTML if `--html` is set) |
| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
| `--to` | — | — | Additional To email address(es), comma-separated |
| `--cc` | — | — | Additional CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--remove` | — | — | Exclude recipients from the outgoing reply (comma-separated emails) |
| `--html` | — | — | Treat `--body` as HTML content (default is plain text) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |
| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--message-id` | ✓ | — | Gmail message ID to reply to |
| `--body` | ✓ | — | Reply body (plain text, or HTML with --html) |
| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
| `--to` | — | — | Additional To email address(es), comma-separated |
| `--cc` | — | — | Additional CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--remove` | — | — | Exclude recipients from the outgoing reply (comma-separated emails) |
| `--html` | — | — | Send as HTML (quotes original with Gmail styling; treat --body as HTML) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |

## Examples

Expand All @@ -50,13 +50,11 @@ gws gmail +reply-all --message-id 18f1a2b3c4d --body '<i>Noted</i>' --html
## Tips

- Replies to the sender and all original To/CC recipients.
- Use `--to` to add extra recipients to the To field.
- Use `--cc` to add new CC recipients.
- Use `--bcc` for recipients who should not be visible to others.
- Use `--remove` to exclude recipients from the outgoing reply, including the sender or Reply-To target.
- The command fails if no To recipient remains after exclusions and `--to` additions.
- With `--html`, the quoted block uses Gmail's `gmail_quote` CSS classes and preserves the original message's HTML formatting. Use HTML fragment tags (`<p>`, `<b>`, `<a>`, etc.) — no `<html>`/`<body>` wrapper needed.
- With `--html`, inline images embedded in the quoted message (`cid:` references) will appear broken. Externally hosted images are unaffected.
- Use --to to add extra recipients to the To field.
- Use --cc to add new CC recipients.
- Use --bcc for recipients who should not be visible to others.
- Use --remove to exclude recipients from the outgoing reply, including the sender or Reply-To target.
- The command fails if no To recipient remains after exclusions and --to additions.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Important tips regarding the use of the --html flag have been removed. These tips provided valuable information about how HTML content is handled, including the use of gmail_quote CSS classes, the recommendation to use HTML fragments instead of full documents, and a crucial warning about broken inline images (cid: references). Removing this information can lead to confusion and unexpected behavior for users. It's highly recommended to restore these tips.

Suggested change
- With `--html`, the quoted block uses Gmail's `gmail_quote` CSS classes and preserves the original message's HTML formatting. Use HTML fragment tags (`<p>`, `<b>`, `<a>`, etc.) — no `<html>`/`<body>` wrapper needed.
- With `--html`, inline images embedded in the quoted message (`cid:` references) will appear broken. Externally hosted images are unaffected.

## See Also

Expand Down
26 changes: 12 additions & 14 deletions skills/gws-gmail-reply/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ gws gmail +reply --message-id <ID> --body <TEXT>

## Flags

| Flag | Required | Default | Description |
| -------------- | -------- | ------- | --------------------------------------------------------------- |
| `--message-id` | ✓ | — | Gmail message ID to reply to |
| `--body` | ✓ | — | Reply body (plain text, or HTML if `--html` is set) |
| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
| `--to` | — | — | Additional To email address(es), comma-separated |
| `--cc` | — | — | Additional CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--html` | — | — | Treat `--body` as HTML content (default is plain text) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |
| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--message-id` | ✓ | — | Gmail message ID to reply to |
| `--body` | ✓ | — | Reply body (plain text, or HTML with --html) |
| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
| `--to` | — | — | Additional To email address(es), comma-separated |
| `--cc` | — | — | Additional CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--html` | — | — | Send as HTML (quotes original with Gmail styling; treat --body as HTML) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |

## Examples

Expand All @@ -49,10 +49,8 @@ gws gmail +reply --message-id 18f1a2b3c4d --body '<b>Bold reply</b>' --html

- Automatically sets In-Reply-To, References, and threadId headers.
- Quotes the original message in the reply body.
- With `--html`, the quoted block uses Gmail's `gmail_quote` CSS classes and preserves the original message's HTML formatting. Use HTML fragment tags (`<p>`, `<b>`, `<a>`, etc.) — no `<html>`/`<body>` wrapper needed.
- With `--html`, inline images embedded in the quoted message (`cid:` references) will appear broken. Externally hosted images are unaffected.
- `--to` adds extra recipients to the To field.
- For reply-all, use `+reply-all` instead.
- --to adds extra recipients to the To field.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Important tips regarding the use of the --html flag have been removed. These tips provided valuable information about how HTML content is handled, including the use of gmail_quote CSS classes, the recommendation to use HTML fragments instead of full documents, and a crucial warning about broken inline images (cid: references). Removing this information can lead to confusion and unexpected behavior for users. It's highly recommended to restore these tips.

Suggested change
- --to adds extra recipients to the To field.
- With `--html`, the quoted block uses Gmail's `gmail_quote` CSS classes and preserves the original message's HTML formatting. Use HTML fragment tags (`<p>`, `<b>`, `<a>`, etc.) — no `<html>`/`<body>` wrapper needed.
- With `--html`, inline images embedded in the quoted message (`cid:` references) will appear broken. Externally hosted images are unaffected.
- --to adds extra recipients to the To field.

- For reply-all, use +reply-all instead.

## See Also

Expand Down
19 changes: 9 additions & 10 deletions skills/gws-gmail-send/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ gws gmail +send --to <EMAILS> --subject <SUBJECT> --body <TEXT>

## Flags

| Flag | Required | Default | Description |
| ----------- | -------- | ------- | -------------------------------------------------------- |
| `--to` | ✓ | — | Recipient email address(es), comma-separated |
| `--subject` | ✓ | — | Email subject |
| `--body` | ✓ | — | Email body (plain text, or HTML if `--html` is set) |
| `--cc` | — | — | CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--html` | — | — | Treat `--body` as HTML content (default is plain text) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |
| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| `--to` | ✓ | — | Recipient email address(es), comma-separated |
| `--subject` | ✓ | — | Email subject |
| `--body` | ✓ | — | Email body (plain text, or HTML with --html) |
| `--cc` | — | — | CC email address(es), comma-separated |
| `--bcc` | — | — | BCC email address(es), comma-separated |
| `--html` | — | — | Treat --body as HTML content (default is plain text) |
| `--dry-run` | — | — | Show the request that would be sent without executing it |

## Examples

Expand All @@ -46,7 +46,6 @@ gws gmail +send --to alice@example.com --subject 'Hello' --body '<b>Bold</b> tex
## Tips

- Handles RFC 2822 formatting and base64 encoding automatically.
- With `--html`, the `--body` value should be HTML content, not a full document. Use tags like `<p>`, `<b>`, `<i>`, `<a href="...">`, `<br>`, `<ul>/<ol>/<li>`, `<table>`. No need for `<html>`/`<head>`/`<body>` wrappers.
- For attachments, use the raw API instead: gws gmail users messages send --json '...'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

An important tip regarding the use of the --html flag has been removed. This tip provided valuable information about how HTML content should be formatted (as a fragment, not a full document). Removing this information can lead to confusion and unexpected behavior for users. It's highly recommended to restore this tip.

Suggested change
- For attachments, use the raw API instead: gws gmail users messages send --json '...'
- With `--html`, the `--body` value should be HTML content, not a full document. Use tags like `<p>`, `<b>`, `<i>`, `<a href="...">`, `<br>`, `<ul>/<ol>/<li>`, `<table>`. No need for `<html>`/`<head>`/`<body>` wrappers.
- For attachments, use the raw API instead: gws gmail users messages send --json '...'


> [!CAUTION]
Expand Down
Loading