@cakemail-org/cakemail-cli 1.5.0 โ 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +12 -0
- package/.env.example +40 -0
- package/.env.test.example +45 -0
- package/CHANGELOG.md +1031 -0
- package/README.md +319 -15
- package/audit-formats.js +128 -0
- package/cakemail.rb +20 -0
- package/dist/cli.js +27 -10
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +16 -6
- package/dist/client.js.map +1 -1
- package/dist/commands/account.js +1 -1
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/attributes.js +1 -1
- package/dist/commands/attributes.js.map +1 -1
- package/dist/commands/campaigns.d.ts.map +1 -1
- package/dist/commands/campaigns.js +103 -8
- package/dist/commands/campaigns.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +63 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contacts.d.ts.map +1 -1
- package/dist/commands/contacts.js +91 -12
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/emails.js +1 -1
- package/dist/commands/emails.js.map +1 -1
- package/dist/commands/interests.d.ts +5 -0
- package/dist/commands/interests.d.ts.map +1 -0
- package/dist/commands/interests.js +172 -0
- package/dist/commands/interests.js.map +1 -0
- package/dist/commands/lists.d.ts.map +1 -1
- package/dist/commands/lists.js +6 -8
- package/dist/commands/lists.js.map +1 -1
- package/dist/commands/logs.d.ts +5 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +237 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/reports.js +1 -1
- package/dist/commands/reports.js.map +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/segments.js.map +1 -1
- package/dist/commands/senders.d.ts.map +1 -1
- package/dist/commands/senders.js +11 -8
- package/dist/commands/senders.js.map +1 -1
- package/dist/commands/suppressed.js +1 -1
- package/dist/commands/suppressed.js.map +1 -1
- package/dist/commands/tags.d.ts +5 -0
- package/dist/commands/tags.d.ts.map +1 -0
- package/dist/commands/tags.js +124 -0
- package/dist/commands/tags.js.map +1 -0
- package/dist/commands/templates.js +1 -1
- package/dist/commands/templates.js.map +1 -1
- package/dist/commands/transactional-templates.d.ts +5 -0
- package/dist/commands/transactional-templates.d.ts.map +1 -0
- package/dist/commands/transactional-templates.js +354 -0
- package/dist/commands/transactional-templates.js.map +1 -0
- package/dist/commands/webhooks.js +1 -1
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/utils/auth.d.ts +8 -1
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +39 -11
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/config-file.d.ts +7 -0
- package/dist/utils/config-file.d.ts.map +1 -1
- package/dist/utils/config-file.js +15 -0
- package/dist/utils/config-file.js.map +1 -1
- package/dist/utils/config.d.ts +2 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +12 -4
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/errors.js +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/list-defaults.d.ts +33 -0
- package/dist/utils/list-defaults.d.ts.map +1 -0
- package/dist/utils/list-defaults.js +52 -0
- package/dist/utils/list-defaults.js.map +1 -0
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +36 -13
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/progress.d.ts.map +1 -1
- package/dist/utils/progress.js +32 -4
- package/dist/utils/progress.js.map +1 -1
- package/dist/utils/spinner.d.ts +17 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/spinner.js +43 -0
- package/dist/utils/spinner.js.map +1 -0
- package/docs/DOCUMENTATION-STANDARD.md +1068 -0
- package/docs/README.md +161 -0
- package/docs/developer/ARCHITECTURE.md +516 -0
- package/docs/developer/AUTH.md +204 -0
- package/docs/developer/CONTRIBUTING.md +227 -0
- package/docs/developer/DOCUMENTATION_SUMMARY.md +346 -0
- package/docs/developer/PROJECT_INDEX.md +365 -0
- package/docs/planning/API_COVERAGE.md +1045 -0
- package/docs/planning/BACKLOG.md +1159 -0
- package/docs/planning/PROFILE_SYSTEM_TASKS.md +287 -0
- package/docs/planning/UX_IMPLEMENTATION_PLAN.md +691 -0
- package/docs/planning/archive/RELEASE_CHECKLIST_v1.3.0.md +332 -0
- package/docs/planning/archive/RELEASE_v1.3.0.md +428 -0
- package/docs/planning/archive/cakemail-cli-ux-improvements.md +438 -0
- package/docs/planning/cakemail-profile-system-plan.md +1121 -0
- package/docs/testing/AI_USER_SIMULATION_DESIGN.md +1342 -0
- package/docs/testing/KENOGAMI_BIDIRECTIONAL_FLOW.md +1517 -0
- package/docs/testing/KENOGAMI_TRUTH_RECONCILIATION_SYSTEM.md +1369 -0
- package/docs/user-manual/.obsidian/app.json +1 -0
- package/docs/user-manual/.obsidian/appearance.json +1 -0
- package/docs/user-manual/.obsidian/core-plugins.json +33 -0
- package/docs/user-manual/.obsidian/workspace.json +167 -0
- package/docs/user-manual/01-getting-started/01-installation.md +214 -0
- package/docs/user-manual/01-getting-started/02-quick-start.md +432 -0
- package/docs/user-manual/01-getting-started/03-authentication.md +448 -0
- package/docs/user-manual/01-getting-started/04-configuration.md +430 -0
- package/docs/user-manual/01-getting-started/05-output-formats.md +447 -0
- package/docs/user-manual/02-core-concepts/01-accounts.md +514 -0
- package/docs/user-manual/02-core-concepts/02-profile-system.md +771 -0
- package/docs/user-manual/02-core-concepts/03-smart-defaults.md +485 -0
- package/docs/user-manual/02-core-concepts/04-authentication-methods.md +435 -0
- package/docs/user-manual/02-core-concepts/05-pagination-filtering.md +600 -0
- package/docs/user-manual/02-core-concepts/06-error-handling.md +718 -0
- package/docs/user-manual/02-core-concepts/07-api-coverage.md +483 -0
- package/docs/user-manual/03-email-operations/01-senders.md +490 -0
- package/docs/user-manual/03-email-operations/02-templates.md +444 -0
- package/docs/user-manual/03-email-operations/03-transactional-emails.md +706 -0
- package/docs/user-manual/03-email-operations/04-email-tracking.md +407 -0
- package/docs/user-manual/04-campaign-management/01-campaigns-basics.md +394 -0
- package/docs/user-manual/04-campaign-management/02-campaign-scheduling.md +630 -0
- package/docs/user-manual/04-campaign-management/03-campaign-testing.md +997 -0
- package/docs/user-manual/04-campaign-management/04-campaign-lifecycle.md +709 -0
- package/docs/user-manual/04-campaign-management/05-campaign-links.md +934 -0
- package/docs/user-manual/05-contact-management/01-lists.md +836 -0
- package/docs/user-manual/05-contact-management/02-contacts.md +1035 -0
- package/docs/user-manual/05-contact-management/03-custom-attributes.md +788 -0
- package/docs/user-manual/05-contact-management/04-segments.md +1028 -0
- package/docs/user-manual/05-contact-management/05-contact-import-export.md +1031 -0
- package/docs/user-manual/06-analytics-reporting/01-campaign-analytics.md +867 -0
- package/docs/user-manual/06-analytics-reporting/02-account-reports.md +227 -0
- package/docs/user-manual/07-integrations/01-webhooks-integration.md +259 -0
- package/docs/user-manual/07-integrations/02-automation.md +326 -0
- package/docs/user-manual/08-advanced-usage/01-scripting-patterns.md +672 -0
- package/docs/user-manual/08-advanced-usage/02-bulk-operations.md +932 -0
- package/docs/user-manual/08-advanced-usage/03-ci-cd-integration.md +892 -0
- package/docs/user-manual/08-advanced-usage/04-performance-optimization.md +766 -0
- package/docs/user-manual/09-command-reference/01-config.md +776 -0
- package/docs/user-manual/09-command-reference/02-account.md +652 -0
- package/docs/user-manual/09-command-reference/03-lists.md +958 -0
- package/docs/user-manual/09-command-reference/04-contacts.md +1408 -0
- package/docs/user-manual/09-command-reference/05-attributes.md +617 -0
- package/docs/user-manual/09-command-reference/06-segments.md +894 -0
- package/docs/user-manual/09-command-reference/07-senders.md +803 -0
- package/docs/user-manual/09-command-reference/08-templates.md +818 -0
- package/docs/user-manual/09-command-reference/09-campaigns.md +1250 -0
- package/docs/user-manual/09-command-reference/10-emails.md +807 -0
- package/docs/user-manual/09-command-reference/11-reports.md +1135 -0
- package/docs/user-manual/09-command-reference/12-webhooks.md +773 -0
- package/docs/user-manual/09-command-reference/13-suppressed.md +797 -0
- package/docs/user-manual/09-command-reference/14-interests.md +630 -0
- package/docs/user-manual/09-command-reference/15-tags.md +584 -0
- package/docs/user-manual/09-command-reference/16-logs.md +656 -0
- package/docs/user-manual/09-command-reference/17-transactional-templates.md +850 -0
- package/docs/user-manual/10-troubleshooting/01-common-errors.md +457 -0
- package/docs/user-manual/10-troubleshooting/02-authentication-issues.md +558 -0
- package/docs/user-manual/10-troubleshooting/03-connection-problems.md +634 -0
- package/docs/user-manual/10-troubleshooting/04-debugging.md +725 -0
- package/docs/user-manual/11-appendix/04-faq.md +484 -0
- package/docs/user-manual/11-appendix/05-glossary.md +250 -0
- package/docs/user-manual/README.md +0 -0
- package/package.json +13 -47
- package/src/cli.ts +125 -0
- package/src/client.ts +16 -0
- package/src/commands/account.ts +267 -0
- package/src/commands/accounts.ts +78 -0
- package/src/commands/actions.ts +249 -0
- package/src/commands/attributes.ts +139 -0
- package/src/commands/campaign-blueprints.ts +106 -0
- package/src/commands/campaigns.ts +469 -0
- package/src/commands/config.ts +77 -0
- package/src/commands/contacts.ts +612 -0
- package/src/commands/custom-attributes.ts +127 -0
- package/src/commands/dkims.ts +117 -0
- package/src/commands/domains.ts +82 -0
- package/src/commands/email-apis.ts +569 -0
- package/src/commands/emails.ts +197 -0
- package/src/commands/forms.ts +283 -0
- package/src/commands/interests.ts +155 -0
- package/src/commands/links.ts +38 -0
- package/src/commands/lists.ts +406 -0
- package/src/commands/logos.ts +71 -0
- package/src/commands/logs.ts +386 -0
- package/src/commands/reports.ts +306 -0
- package/src/commands/segments.ts +158 -0
- package/src/commands/senders.ts +204 -0
- package/src/commands/sub-accounts.ts +271 -0
- package/src/commands/suppressed-emails.ts +234 -0
- package/src/commands/suppressed.ts +198 -0
- package/src/commands/system-emails.ts +85 -0
- package/src/commands/tags.ts +146 -0
- package/src/commands/tasks.ts +116 -0
- package/src/commands/templates.ts +189 -0
- package/src/commands/tokens.ts +83 -0
- package/src/commands/transactional-emails.ts +374 -0
- package/src/commands/transactional-templates.ts +385 -0
- package/src/commands/users.ts +506 -0
- package/src/commands/webhooks.ts +172 -0
- package/src/commands/workflow-blueprints.ts +123 -0
- package/src/commands/workflows.ts +265 -0
- package/src/types/profile.ts +93 -0
- package/src/utils/auth.ts +272 -0
- package/src/utils/config-file.ts +96 -0
- package/src/utils/config.ts +134 -0
- package/src/utils/confirm.ts +32 -0
- package/src/utils/defaults.ts +99 -0
- package/src/utils/errors.ts +116 -0
- package/src/utils/interactive.ts +91 -0
- package/src/utils/list-defaults.ts +74 -0
- package/src/utils/output.ts +190 -0
- package/src/utils/progress.ts +320 -0
- package/src/utils/spinner.ts +22 -0
- package/tests/IMPLEMENTATION_STATUS.md +258 -0
- package/tests/PTY_SETUP.md +118 -0
- package/tests/PTY_TESTING_GUIDE.md +507 -0
- package/tests/README.md +244 -0
- package/tests/fixtures/api-responses/campaigns.json +34 -0
- package/tests/fixtures/test-config.json +13 -0
- package/tests/helpers/cli-runner.ts +128 -0
- package/tests/helpers/mock-server.ts +301 -0
- package/tests/helpers/pty-runner.ts +181 -0
- package/tests/integration/campaigns-real-api.test.ts +196 -0
- package/tests/integration/setup-integration.ts +50 -0
- package/tests/pty/campaigns.test.ts +241 -0
- package/tests/setup.ts +34 -0
- package/tsconfig.json +15 -0
- package/vitest.config.ts +28 -0
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
# Cakemail CLI v1.3.0 Release Notes
|
|
2
|
+
|
|
3
|
+
**Release Date:** October 11, 2025
|
|
4
|
+
**Package:** @cakemail-org/cakemail-cli
|
|
5
|
+
**Previous Version:** 1.2.0 โ **New Version:** 1.3.0
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ๐ฏ Release Highlights
|
|
10
|
+
|
|
11
|
+
**Version 1.3.0 delivers analytics, data operations, and advanced contact management** - doubling our command coverage from 56 to **104 commands** (24% โ 45% API coverage).
|
|
12
|
+
|
|
13
|
+
This release focuses on the **CRITICAL Priority features** from our roadmap, providing users with essential tools for:
|
|
14
|
+
- ๐ **Campaign & list analytics**
|
|
15
|
+
- ๐ค **Contact import/export** (CSV/JSON)
|
|
16
|
+
- ๐ฏ **Audience segmentation**
|
|
17
|
+
- ๐ท๏ธ **Contact tagging & organization**
|
|
18
|
+
- ๐ซ **Compliance management** (suppression lists)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## ๐ฆ What's New: 48 Commands Added
|
|
23
|
+
|
|
24
|
+
### 1. Reports & Analytics (12 commands)
|
|
25
|
+
|
|
26
|
+
**Finally get insights into your campaigns!**
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Campaign performance
|
|
30
|
+
cakemail reports campaign 123
|
|
31
|
+
cakemail reports campaign-links 123 # Click analytics
|
|
32
|
+
|
|
33
|
+
# List growth metrics
|
|
34
|
+
cakemail reports list 456
|
|
35
|
+
|
|
36
|
+
# Account-wide stats
|
|
37
|
+
cakemail reports account
|
|
38
|
+
|
|
39
|
+
# Email API monitoring
|
|
40
|
+
cakemail reports emails --from 2025-01-01
|
|
41
|
+
cakemail reports emails-summary
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Export capabilities:**
|
|
45
|
+
```bash
|
|
46
|
+
# Create bulk export
|
|
47
|
+
cakemail reports export-campaigns --from 2025-01-01 --status delivered
|
|
48
|
+
|
|
49
|
+
# Monitor & download
|
|
50
|
+
cakemail reports campaigns-exports
|
|
51
|
+
cakemail reports download-campaigns-export 789
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Business Impact:**
|
|
55
|
+
โ
Measure campaign ROI
|
|
56
|
+
โ
Track engagement trends
|
|
57
|
+
โ
Make data-driven decisions
|
|
58
|
+
โ
Generate executive reports
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### 2. Contact Import/Export (10 commands)
|
|
63
|
+
|
|
64
|
+
**Migrate data easily and back up your contacts.**
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Import from CSV or JSON
|
|
68
|
+
cakemail contacts import 123 -f contacts.csv
|
|
69
|
+
cakemail contacts import 123 -f contacts.json --update-existing
|
|
70
|
+
|
|
71
|
+
# Export with filtering
|
|
72
|
+
cakemail contacts export 123 --status subscribed --format csv
|
|
73
|
+
|
|
74
|
+
# Manage exports
|
|
75
|
+
cakemail contacts exports 123
|
|
76
|
+
cakemail contacts export-download 123 456
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Bulk Tagging:**
|
|
80
|
+
```bash
|
|
81
|
+
# Tag individual contacts
|
|
82
|
+
cakemail contacts tag 123 456 -t "vip,premium"
|
|
83
|
+
|
|
84
|
+
# Tag multiple contacts at once
|
|
85
|
+
cakemail contacts tag-bulk 123 -c "1,2,3,4,5" -t "segment-a"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Business Impact:**
|
|
89
|
+
โ
Easy data migration from other platforms
|
|
90
|
+
โ
Regular contact backups
|
|
91
|
+
โ
Bulk contact organization
|
|
92
|
+
โ
Automated list hygiene
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### 3. Segments (6 commands)
|
|
97
|
+
|
|
98
|
+
**Create targeted audiences based on conditions.**
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# List all segments
|
|
102
|
+
cakemail segments list 123
|
|
103
|
+
|
|
104
|
+
# Create dynamic segment
|
|
105
|
+
cakemail segments create 123 -n "Active Users" -c '{"conditions":[...]}'
|
|
106
|
+
|
|
107
|
+
# View segment members
|
|
108
|
+
cakemail segments contacts 123 456
|
|
109
|
+
|
|
110
|
+
# Manage segments
|
|
111
|
+
cakemail segments update 123 456 -n "New Name"
|
|
112
|
+
cakemail segments delete 123 456 --force
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Business Impact:**
|
|
116
|
+
โ
Targeted campaign delivery
|
|
117
|
+
โ
Improved engagement rates
|
|
118
|
+
โ
Dynamic audience management
|
|
119
|
+
โ
Personalized messaging
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### 4. Custom Attributes (4 commands)
|
|
124
|
+
|
|
125
|
+
**Extend contact data with custom fields.**
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# View custom fields
|
|
129
|
+
cakemail attributes list 123
|
|
130
|
+
|
|
131
|
+
# Create different field types
|
|
132
|
+
cakemail attributes create 123 -n "company" -t text
|
|
133
|
+
cakemail attributes create 123 -n "age" -t number
|
|
134
|
+
cakemail attributes create 123 -n "last_purchase" -t date
|
|
135
|
+
cakemail attributes create 123 -n "is_premium" -t boolean
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Business Impact:**
|
|
139
|
+
โ
Store custom business data
|
|
140
|
+
โ
Enhanced personalization
|
|
141
|
+
โ
Better segmentation options
|
|
142
|
+
โ
Flexible data model
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### 5. Suppression List (7 commands)
|
|
147
|
+
|
|
148
|
+
**Maintain compliance and manage bounces.**
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# View suppressed emails
|
|
152
|
+
cakemail suppressed list
|
|
153
|
+
|
|
154
|
+
# Add to suppression list
|
|
155
|
+
cakemail suppressed add bounced@example.com
|
|
156
|
+
|
|
157
|
+
# Remove when resolved
|
|
158
|
+
cakemail suppressed delete recovered@example.com --force
|
|
159
|
+
|
|
160
|
+
# Export for compliance
|
|
161
|
+
cakemail suppressed export
|
|
162
|
+
cakemail suppressed export-download 789
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Business Impact:**
|
|
166
|
+
โ
GDPR & CAN-SPAM compliance
|
|
167
|
+
โ
Protect sender reputation
|
|
168
|
+
โ
Manage hard bounces
|
|
169
|
+
โ
Maintain clean lists
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### 6. Extended List Operations (7 commands)
|
|
174
|
+
|
|
175
|
+
**Complete list lifecycle management.**
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Update list settings
|
|
179
|
+
cakemail lists update 123 -n "New Name" -l en_US
|
|
180
|
+
|
|
181
|
+
# Archive inactive lists
|
|
182
|
+
cakemail lists archive 123
|
|
183
|
+
|
|
184
|
+
# Policy management
|
|
185
|
+
cakemail lists accept-policy 123
|
|
186
|
+
|
|
187
|
+
# Subscription form endpoints
|
|
188
|
+
cakemail lists forms 123
|
|
189
|
+
cakemail lists form-create 123 -u "/subscribe"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Business Impact:**
|
|
193
|
+
โ
Full list control
|
|
194
|
+
โ
Better organization
|
|
195
|
+
โ
Compliance tracking
|
|
196
|
+
โ
Custom signup pages
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### 7. Extended Email API (2 commands)
|
|
201
|
+
|
|
202
|
+
**Monitor transactional emails.**
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# View activity logs
|
|
206
|
+
cakemail emails logs --tag newsletter --status delivered
|
|
207
|
+
|
|
208
|
+
# List all tags
|
|
209
|
+
cakemail emails tags
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Business Impact:**
|
|
213
|
+
โ
Troubleshoot delivery issues
|
|
214
|
+
โ
Monitor email performance
|
|
215
|
+
โ
Track transactional emails
|
|
216
|
+
โ
Organize by tags
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## ๐ Coverage Progress
|
|
221
|
+
|
|
222
|
+
| Metric | v1.2.0 | v1.3.0 | Change |
|
|
223
|
+
|--------|--------|--------|--------|
|
|
224
|
+
| **Total Commands** | 56 | 104 | +48 (+86%) |
|
|
225
|
+
| **API Coverage** | 24% | 45% | +21 pts |
|
|
226
|
+
| **Command Categories** | 7 | 14 | +7 |
|
|
227
|
+
|
|
228
|
+
### Command Distribution
|
|
229
|
+
|
|
230
|
+
**v1.2.0 Commands (56):**
|
|
231
|
+
- Campaigns: 15
|
|
232
|
+
- Lists: 4
|
|
233
|
+
- Contacts: 6
|
|
234
|
+
- Senders: 7
|
|
235
|
+
- Templates: 6
|
|
236
|
+
- Webhooks: 6
|
|
237
|
+
- Email API v2: 3
|
|
238
|
+
|
|
239
|
+
**v1.3.0 New Commands (48):**
|
|
240
|
+
- Reports: 12
|
|
241
|
+
- Contact Import/Export: 10
|
|
242
|
+
- Segments: 6
|
|
243
|
+
- Extended Lists: 7
|
|
244
|
+
- Suppression: 7
|
|
245
|
+
- Custom Attributes: 4
|
|
246
|
+
- Extended Email API: 2
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## ๐ง Technical Details
|
|
251
|
+
|
|
252
|
+
### New Command Files Created
|
|
253
|
+
- `src/commands/reports.ts` - Analytics and reporting
|
|
254
|
+
- `src/commands/segments.ts` - Audience segmentation
|
|
255
|
+
- `src/commands/attributes.ts` - Custom field management
|
|
256
|
+
- `src/commands/suppressed.ts` - Suppression list management
|
|
257
|
+
|
|
258
|
+
### Extended Command Files
|
|
259
|
+
- `src/commands/contacts.ts` - Added import/export and tagging
|
|
260
|
+
- `src/commands/lists.ts` - Added update, archive, forms
|
|
261
|
+
- `src/commands/emails.ts` - Added logs and tags
|
|
262
|
+
|
|
263
|
+
### Updated Files
|
|
264
|
+
- `src/cli.ts` - Registered new commands, version 1.3.0
|
|
265
|
+
- `package.json` - Version 1.3.0
|
|
266
|
+
- `CHANGELOG.md` - Complete v1.3.0 changelog
|
|
267
|
+
- `README.md` - Documentation for all new commands
|
|
268
|
+
- `API_COVERAGE.md` - Updated coverage analysis
|
|
269
|
+
|
|
270
|
+
### Dependencies
|
|
271
|
+
No new dependencies added. All features use existing:
|
|
272
|
+
- `@cakemail-org/cakemail-sdk` v2.0.0
|
|
273
|
+
- `commander` for CLI
|
|
274
|
+
- `ora` for spinners
|
|
275
|
+
- `chalk` for colors
|
|
276
|
+
- `cli-table3` for tables
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## ๐ Getting Started with v1.3.0
|
|
281
|
+
|
|
282
|
+
### Installation
|
|
283
|
+
|
|
284
|
+
**New Users:**
|
|
285
|
+
```bash
|
|
286
|
+
# via npm
|
|
287
|
+
npm install -g @cakemail-org/cakemail-cli
|
|
288
|
+
|
|
289
|
+
# via Homebrew
|
|
290
|
+
brew tap cakemail/cakemail
|
|
291
|
+
brew install cakemail-cli
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Upgrade from v1.2.0:**
|
|
295
|
+
```bash
|
|
296
|
+
# via npm
|
|
297
|
+
npm update -g @cakemail-org/cakemail-cli
|
|
298
|
+
|
|
299
|
+
# via Homebrew
|
|
300
|
+
brew upgrade cakemail-cli
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Quick Examples
|
|
304
|
+
|
|
305
|
+
**Get campaign analytics:**
|
|
306
|
+
```bash
|
|
307
|
+
cakemail reports campaign 123
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Import contacts:**
|
|
311
|
+
```bash
|
|
312
|
+
cakemail contacts import 456 -f my-contacts.csv
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Create a segment:**
|
|
316
|
+
```bash
|
|
317
|
+
cakemail segments create 789 -n "Engaged Users"
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Export suppression list:**
|
|
321
|
+
```bash
|
|
322
|
+
cakemail suppressed export
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## ๐ Documentation Updates
|
|
328
|
+
|
|
329
|
+
### Updated Documents
|
|
330
|
+
- โ
**README.md** - All new commands documented with examples
|
|
331
|
+
- โ
**CHANGELOG.md** - Complete v1.3.0 changelog
|
|
332
|
+
- โ
**API_COVERAGE.md** - Comprehensive coverage analysis and roadmap
|
|
333
|
+
- โ
**UX_IMPLEMENTATION_PLAN.md** - Future UX improvements plan (NEW)
|
|
334
|
+
|
|
335
|
+
### Coverage Analysis
|
|
336
|
+
API_COVERAGE.md now includes:
|
|
337
|
+
- Detailed gap analysis (25 categories)
|
|
338
|
+
- Priority matrix (Impact ร Frequency scoring)
|
|
339
|
+
- v1.3-v1.5 roadmap with timelines
|
|
340
|
+
- Implementation effort estimates
|
|
341
|
+
- Developer success metrics
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## ๐ฎ What's Next: v1.4.0 Roadmap
|
|
346
|
+
|
|
347
|
+
**Target:** Early November 2025
|
|
348
|
+
**Focus:** User Experience Improvements
|
|
349
|
+
|
|
350
|
+
Planned features:
|
|
351
|
+
1. **Interactive Auth Setup** - `cakemail auth setup`
|
|
352
|
+
2. **Actionable Error Messages** - Better error handling
|
|
353
|
+
3. **Natural Date Parsing** - "tomorrow 10am" vs ISO 8601
|
|
354
|
+
4. **Quickstart Wizard** - Guided onboarding
|
|
355
|
+
5. **Email Preview** - `--preview` flag
|
|
356
|
+
|
|
357
|
+
See **UX_IMPLEMENTATION_PLAN.md** for complete details.
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## โ ๏ธ Breaking Changes
|
|
362
|
+
|
|
363
|
+
**None!** Version 1.3.0 is fully backwards compatible with v1.2.0.
|
|
364
|
+
|
|
365
|
+
All existing commands work exactly as before. New commands are purely additive.
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## ๐ Bug Fixes
|
|
370
|
+
|
|
371
|
+
No bug fixes in this release (feature release only).
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
375
|
+
## ๐ค Contributing
|
|
376
|
+
|
|
377
|
+
Want to contribute? Check out:
|
|
378
|
+
- **CONTRIBUTING.md** - Development guidelines
|
|
379
|
+
- **API_COVERAGE.md** - See what's not implemented yet
|
|
380
|
+
- **UX_IMPLEMENTATION_PLAN.md** - Future improvements
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## ๐ Migration Guide
|
|
385
|
+
|
|
386
|
+
**From v1.2.0 to v1.3.0:**
|
|
387
|
+
|
|
388
|
+
No migration needed! Simply upgrade:
|
|
389
|
+
```bash
|
|
390
|
+
npm update -g @cakemail-org/cakemail-cli
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
All existing commands continue to work unchanged.
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## ๐ Credits
|
|
398
|
+
|
|
399
|
+
**Developed by:** Franรงois Lane & Claude Code
|
|
400
|
+
**SDK:** @cakemail-org/cakemail-sdk v2.0.0
|
|
401
|
+
**License:** MIT
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## ๐ Support
|
|
406
|
+
|
|
407
|
+
- **Issues:** https://github.com/cakemail/cakemail-cli/issues
|
|
408
|
+
- **Documentation:** https://docs.cakemail.com/cli
|
|
409
|
+
- **npm Package:** https://www.npmjs.com/package/@cakemail-org/cakemail-cli
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## ๐ Thank You!
|
|
414
|
+
|
|
415
|
+
Thank you for using Cakemail CLI! We're excited to bring you analytics, data operations, and advanced contact management.
|
|
416
|
+
|
|
417
|
+
**Upgrade today and start analyzing your campaigns!**
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
npm update -g @cakemail-org/cakemail-cli
|
|
421
|
+
cakemail --version # Should show 1.3.0
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
*Released: October 11, 2025*
|
|
427
|
+
*@cakemail-org/cakemail-cli v1.3.0*
|
|
428
|
+
*104 commands โข 45% API coverage โข 48 new features*
|