You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,8 @@ These are the active scripts this repo exposes today.
36
36
37
37
| Script | Command | What it does | Safety posture |
38
38
|---|---|---|---|
39
-
| Gmail Inbox Accelerator |`python -m src.inbox.accelerator --dry`| Loads configurable Gmail rules, searches matching messages, and previews label/archive actions | Use `--dry` before any write run |
39
+
| Gmail Inbox Accelerator preview |`python -m src.inbox.accelerator`| Loads configurable Gmail rules, searches matching messages, and previews label/archive actions | Dry run by default; no Gmail or local state changes are saved |
40
+
| Gmail Inbox Accelerator apply |`python -m src.inbox.accelerator --apply`| Applies reviewed rules to Gmail labels, archive state, and read state if configured | Write-capable; run only after preview review |
40
41
| Inbox status check |`python -m src.inbox.accelerator --status`| Prints current state, rule index, labeled count, archived count, errors, runs, and last run | Read-only |
41
42
| Inbox state reset |`python -m src.inbox.accelerator --reset`| Removes local processing state so the next run starts from rule 0 | Local state only |
42
43
| Google Ads Campaign Health Audit |`python -m src.audit.campaign_health --days 30`| Pulls Google Ads campaign data and checks budget pacing, conversion health, impression share, naming, auto-tagging, and status anomalies | Read-only API workflow |
@@ -52,7 +53,7 @@ Rule-based email processing using the Gmail API. Categorizes, labels, archives,
52
53
-**Rule engine** — configurable pattern matching by sender, subject, and keywords
53
54
-**Batch processing** — labels and archives messages efficiently through API calls
54
55
-**State persistence** — tracks progress across runs and resumes where it left off
55
-
-**Dry-run mode** — previews changes before applying them
56
+
-**Dry-run mode** — previews changes without modifying Gmail or local state
56
57
57
58
### Platform audit (`src/audit/`)
58
59
@@ -84,12 +85,12 @@ Structured reporting examples show how script output can be translated into oper
84
85
Start in dry-run or read-only mode before applying changes.
85
86
86
87
```bash
87
-
python -m src.inbox.accelerator --dry
88
+
python -m src.inbox.accelerator
88
89
python -m src.inbox.accelerator --status
89
90
python -m src.audit.campaign_health --days 30
90
91
```
91
92
92
-
Use write-capable inbox workflows only after reviewing the dry-run output and confirming the rule configuration.
93
+
Use `python -m src.inbox.accelerator --apply` only after reviewing the dry-run output and confirming the rule configuration. Avoid broad catch-all inbox rules, and treat `mark_read` as an explicit opt-in for narrow, low-risk message classes.
5. Download the credentials JSON and save as `credentials.json` in the project root
10
-
6. On first run, a browser window will open for authorization — the resulting token is saved as `token.json`
9
+
5. Download the credentials JSON and save it as an ignored local file named `credentials.json`
10
+
6. On first authorization, the resulting token is saved as an ignored local file named`token.json`
11
11
12
12
Reference: [Gmail API Python Quickstart](https://developers.google.com/gmail/api/quickstart/python)
13
13
14
+
Do not commit OAuth credentials or tokens. The repository `.gitignore` excludes the default local filenames, but you should still treat them as private machine-local files.
15
+
14
16
### Gmail Rules
15
17
16
18
```bash
@@ -23,7 +25,9 @@ Edit `gmail_rules.json` to add your own sender patterns, subject filters, and la
23
25
-`query` — Gmail search query (same syntax as the Gmail search bar)
24
26
-`label` — target label (created automatically if it doesn't exist)
25
27
-`archive` — whether to remove from inbox
26
-
-`mark_read` — whether to mark as read
28
+
-`mark_read` — whether to mark as read; keep this `false` unless the rule is narrow and intentionally low-risk
29
+
30
+
Run the inbox accelerator without flags first. It defaults to a dry run and does not modify Gmail or local processing state. Use `--apply` only after reviewing the matched rules.
27
31
28
32
## Google Ads API Setup
29
33
@@ -45,6 +49,8 @@ Fill in your credentials:
45
49
46
50
Reference: [Google Ads API Authentication](https://developers.google.com/google-ads/api/docs/oauth/overview)
47
51
52
+
Do not commit `config/google-ads.yaml` or any copied output from live accounts. Public examples should use synthetic account names, IDs, and performance data only.
0 commit comments