feedbackbasket-cli 0.12.0 → 3.1.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/CHANGELOG.md ADDED
@@ -0,0 +1,305 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## [3.1.0] - 2026-08-22
6
+
7
+ ### Added
8
+
9
+ - Added browser choices for Read or Full access and Selected projects or All projects.
10
+
11
+ ### Changed
12
+
13
+ - The browser now returns the selected access level, and the CLI validates and stores that value.
14
+ - `--scope` now sets the maximum browser access instead of making the final choice.
15
+ - The CLI and both MCP transports now report agent surface version `3.1.0` with the same 31 operations.
16
+
17
+ ### Fixed
18
+
19
+ - Machine-readable login output now reports the access level selected in the browser.
20
+
21
+ ## [3.0.0] - 2026-08-22
22
+
23
+ ### Added
24
+
25
+ - Added all 31 versioned product-operation mappings, including note update and note deletion.
26
+ - Added contract checks for commands, HTTP paths, confirmations, documentation, and package release safety.
27
+
28
+ ### Changed
29
+
30
+ - High-impact agent commands now need `--yes`.
31
+ - The CLI version now matches the MCP and agent contract version.
32
+
33
+ ---
34
+
35
+ ## [0.12.0] - 2026-07-13
36
+
37
+ ### Added
38
+
39
+ - **Conversation controls** - enable or disable website visitor replies and native in-app follow-up replies independently from the CLI
40
+ - **Threaded conversation output** - `feedback replies` now shows both team messages and visitor follow-ups in chronological order
41
+
42
+ ### Changed
43
+
44
+ - **Mobile conversation guidance** - mobile status, breadcrumbs, README, and the packaged skill now cover SDK unread badges and same-thread replies
45
+ - **Agent thread safety** - agents preserve follow-up context on the original feedback item instead of creating duplicate feedback entries
46
+
47
+ ---
48
+
49
+ ## [0.11.0] - 2026-07-13
50
+
51
+ ### Added
52
+
53
+ - **Autonomous mobile setup** - `mobile setup`, `status`, `bundle-ids`, and `verify` let agents configure and confirm native or hosted mobile feedback without using the dashboard
54
+ - **Safe mobile lifecycle controls** - mobile integrations can be disabled or have their publishable project key rotated through explicit confirmation commands
55
+ - **Mobile setup guidance** - agent output includes Swift package details, hosted-form configuration, supported frameworks, and connection metadata
56
+ - **Native in-app replies** - the CLI recognizes mobile reply threads and supports `--delivery in-app` for responses displayed by the Swift SDK
57
+
58
+ ### Changed
59
+
60
+ - **Publishable key safety** - mobile project keys are masked by default and are returned only when `--include-publishable-key` is explicitly supplied
61
+ - **Safe mobile breadcrumbs** - generated follow-up commands fall back to resolved project IDs when a typed project reference contains shell-active characters
62
+ - **Agent skill coverage** - the packaged skill now detects mobile frameworks, performs CLI-backed setup, protects private CLI/API credentials, and verifies SDK heartbeats
63
+ - **Reply-channel guidance** - feedback details distinguish native in-app replies from website-widget replies so agents choose the correct delivery method
64
+
65
+ ---
66
+
67
+ ## [0.10.0] - 2026-07-10
68
+
69
+ ### Added
70
+
71
+ - **Waitlist capture mode** - `widget settings --capture-mode waitlist|feedback` switches the installed project script between waitlist and feedback capture
72
+ - **Waitlist management** - `waitlist list` supports search and pagination, while `waitlist export` provides the dashboard CSV from the terminal
73
+ - **Widget security settings** - configure automatic error tracking and visitor-approved console error sharing from the CLI
74
+
75
+ ### Changed
76
+
77
+ - **Inline widget trigger safety** - docs and packaged skill now explicitly tell agents to use `openFeedbackForm()` instead of internal widget methods such as `open()` or `openModal()`
78
+ - **Waitlist integration guidance** - `widget script`, README, and the packaged skill explain how to annotate existing forms for waitlist capture
79
+ - **Native HTTP client** - removed Axios and its transitive dependency tree in favor of Node's built-in `fetch`
80
+
81
+ ---
82
+
83
+ ## [0.9.3] - 2026-06-19
84
+
85
+ ### Changed
86
+
87
+ - **Agent issue filing guidance** - the packaged skill now explains how agents should file discovered issues into the right FeedbackBasket project with short descriptions and structured metadata
88
+
89
+ ---
90
+
91
+ ## [0.9.2] - 2026-06-12
92
+
93
+ ### Changed
94
+
95
+ - **Project URL safety** - `projects create` and `projects update --url` now require explicit confirmation before saving localhost URLs, and agent mode requires `--allow-local-url`
96
+ - **Packaged skill docs** - agents now ask for the real website URL instead of using localhost, and keep basic modal feedback as the default unless guided feedback is requested
97
+ - **Widget project selection** - agents now resolve the FeedbackBasket project for the current app instead of relying on the CLI default project when installing widgets
98
+ - **Widget guidance** - README, help text, and breadcrumbs no longer nudge users to enable guided feedback by default
99
+
100
+ ---
101
+
102
+ ## [0.9.1] - 2026-06-12
103
+
104
+ ### Changed
105
+
106
+ - **Inline widget trigger guidance** - `widget script` now shows custom button examples for inline widgets, including trigger-aware popup anchoring
107
+ - **Packaged skill docs** - agents now use `openFeedbackForm({ trigger: event.currentTarget })` when installing custom inline trigger buttons
108
+
109
+ ---
110
+
111
+ ## [0.9.0] - 2026-06-11
112
+
113
+ ### Added
114
+
115
+ - **Widget reply delivery** - `feedback reply` now supports `--delivery email|widget|both` so agents can reply in the widget thread, by email, or both
116
+ - **Widget thread visibility** - `feedback show` now includes whether feedback has an active widget thread
117
+
118
+ ### Changed
119
+
120
+ - **Agent reply safety guidance** - the packaged skill now requires agents to verify reply delivery method before responding
121
+
122
+ ---
123
+
124
+ ## [0.8.0] - 2026-06-11
125
+
126
+ ### Added
127
+
128
+ - **`feedbackbasket feedback create`** - create feedback from the terminal with project, type, category, status, email, page URL, metadata, and agent JSON output support
129
+
130
+ ### Changed
131
+
132
+ - **Agent reply safety guidance** - the packaged skill now tells agents to ask for a reply-to email before sending email replies when no project default is configured, and to use widget/dashboard replies for widget-only feedback
133
+
134
+ ---
135
+
136
+ ## [0.7.0] - 2026-06-10
137
+
138
+ ### Added
139
+
140
+ - **Prefilled email widget settings** - `widget settings` can now configure read-only prefilled emails and hide the email field only when a runtime email is provided
141
+ - **Feedback metadata output** - `feedback show` displays submitted widget metadata when available, and agent JSON output includes the metadata payload returned by the API
142
+
143
+ ---
144
+
145
+ ## [0.6.1] - 2026-06-08
146
+
147
+ ### Fixed
148
+
149
+ - **Attachment links in feedback output** — `feedback show` now displays submitted screenshot/image URLs, and feedback/bug JSON responses include attachment metadata for agents
150
+
151
+ ---
152
+
153
+ ## [0.6.0] - 2026-06-07
154
+
155
+ ### Added
156
+
157
+ - **`feedbackbasket widget flow`** — view, enable, reset, or apply JSON configs for guided feedback types and follow-up questions
158
+ - **Expanded widget settings flags** — configure button size, radius, icon, email visibility, attachments, branding, z-index, and guided mode from the CLI
159
+ - **Submitted details in feedback output** — `feedback show` now displays visitor-selected feedback type and follow-up answers
160
+
161
+ ### Changed
162
+
163
+ - **Agent skill docs** — updated widget setup guidance so agents can customize guided feedback flows during installation
164
+
165
+ ---
166
+
167
+ ## [0.5.0] - 2026-05-10
168
+
169
+ ### Added
170
+
171
+ - **`feedbackbasket login --manual`** — authenticate remote servers by approving in a browser and pasting the generated CLI token back into the terminal
172
+
173
+ ### Changed
174
+
175
+ - **Clearer manual-login guidance** — `--manual` is documented as the flow for servers that cannot receive the localhost browser callback, while still requiring outbound HTTPS
176
+ - **CLI token validation** — login now rejects MCP API keys (`fb_key_...`) with a clear hint because CLI login requires `fb_cli_...` tokens
177
+
178
+ ---
179
+
180
+ ## [0.4.0] - 2026-04-15
181
+
182
+ ### Added
183
+
184
+ - **`feedback reply <id> "<content>"`** — send an email reply directly to the feedback submitter. The customer receives a branded email with your reply and the original feedback, and their response goes to the configured reply-to address
185
+ - **`feedback replies <id>`** — list all replies sent for a feedback item (content, reply-to, who sent it, timestamp)
186
+ - **`--reply-to <email>` on `feedback reply`** — override the project's default reply-to for a single reply
187
+ - **`--reply-to <email>` on `projects update`** — set or clear the default reply-to email for a project (e.g. `projects update myapp --reply-to vlad@example.com`)
188
+ - **Interactive reply-to prompt** — when sending a reply with no `--reply-to` and no project default, the CLI asks the human whether to use their account email or enter a custom one (agent mode returns a clear error asking the agent to pass `--reply-to` or set a project default)
189
+ - **`replyToEmail` in project detail** — `projects show` now displays the configured reply-to address
190
+
191
+ ### API Endpoints
192
+
193
+ - `POST /api/v1/feedback/:id/replies` — send reply (requires `full` scope)
194
+ - `GET /api/v1/feedback/:id/replies` — list replies
195
+ - `PATCH /api/v1/projects/:id` — now accepts `replyToEmail` in the body
196
+
197
+ ---
198
+
199
+ ## [0.3.5] - 2026-03-27
200
+
201
+ ### Fixed
202
+
203
+ - **Name resolution for `--project` flag**: `feedback list --project prontoshoot` and `bugs list --project prontoshoot` now resolve names to IDs — previously returned empty results when using names
204
+
205
+ ### Changed
206
+
207
+ - **Project name in list output**: Bug list and feedback list now show the project name (in green) instead of just the ID — much easier to scan across projects
208
+
209
+ ---
210
+
211
+ ## [0.3.3] - 2026-03-27
212
+
213
+ ### Added
214
+
215
+ - **`--all` flag**: `feedback list --all` and `bugs list --all` to query across all projects, bypassing the default project filter
216
+
217
+ ---
218
+
219
+ ## [0.3.2] - 2026-03-27
220
+
221
+ ### Changed
222
+
223
+ - **Custom help output**: Basecamp-style grouped sections (CORE COMMANDS, SHORTCUTS, SEARCH & EXPORT, AUTH & CONFIG, FLAGS, EXAMPLES, LEARN MORE)
224
+ - **Short flags**: `-j` for `--json`, `-q` for `--quiet`, `-m` for `--md`
225
+ - **Branded header**: "FeedbackBasket CLI v0.3.2" with logo in help output
226
+
227
+ ---
228
+
229
+ ## [0.3.1] - 2026-03-27
230
+
231
+ ### Fixed
232
+
233
+ - **Login redirect flow**: Users who aren't logged in are now seamlessly redirected back to the CLI authorize page after login — no more needing to click the link twice
234
+
235
+ ### Added
236
+
237
+ - **Skills repo**: Standalone [feedbackbasket-skills](https://github.com/deifos/feedbackbasket-skills) repo with install.md and enhanced SKILL.md
238
+ - **CLI docs page**: New `/docs/cli` page on feedbackbasket.com with full command reference and terminal demo
239
+ - **Landing page updates**: CLI feature card, dark terminal mockup, "Agent-Ready CLI" positioning
240
+ - **Published to npm**: `npm install -g feedbackbasket-cli` now available
241
+
242
+ ---
243
+
244
+ ## [0.3.0] - 2026-03-26
245
+
246
+ ### Added
247
+
248
+ - **Feedback delete**: `feedback delete <id>` — permanently remove feedback items with confirmation prompt
249
+ - **Bulk status update**: `feedback bulk-update --status CLOSED --ids id1,id2,id3` — update multiple items at once
250
+ - **Feedback export**: `feedback export [project] --format csv|md|json` — export all feedback to CSV, Markdown, or JSON
251
+ - **Widget management**: `widget settings [project]` — view and update widget configuration (color, label, position, messages, etc.)
252
+ - **Widget embed code**: `widget script [project]` — get the embed script tag ready to paste into HTML
253
+ - **Team management**: `team list`, `team role <id> --role admin`, `team remove <id>` — manage organization members
254
+ - **Note edit/delete**: API support for editing and deleting feedback notes (via PATCH/DELETE endpoints)
255
+
256
+ ### Changed
257
+
258
+ - **Feedback commands expanded**: `feedback` now has 8 subcommands (list, show, search, update, note, delete, bulk-update, export)
259
+
260
+ ---
261
+
262
+ ## [0.2.0] - 2026-03-26
263
+
264
+ ### Added
265
+
266
+ - **Project CRUD**: `projects create`, `projects show`, `projects update`, `projects delete` — full project management from the CLI
267
+ - **Name resolution**: All project commands accept name or ID (e.g. `projects show feedbackbasket` instead of passing a cuid)
268
+ - **Fuzzy matching**: Typo suggestions ("Did you mean: feedbackbasket?") and ambiguity detection when multiple projects match
269
+ - **Top-level aliases**: `feedbackbasket login` and `feedbackbasket logout` (no need to type `auth login`)
270
+ - **Project alias**: `feedbackbasket project` works as alias for `feedbackbasket projects`
271
+ - **Onboarding wizard**: Multi-step first-login flow — authenticate, select default project, install Claude Code skill
272
+ - **Default project**: Set during onboarding or via config — auto-applied to `feedback list`, `bugs list`, etc. (override with `--project`)
273
+
274
+ ### Changed
275
+
276
+ - **Full access by default**: Auth login now defaults to `--scope full` (like Basecamp), no more read-only by default
277
+ - **Brand colors**: All terminal output uses FeedbackBasket green (#22c55e) accent instead of generic cyan
278
+ - **Centralized theme**: New `src/output/theme.ts` with brand colors, semantic helpers, and logo renderer
279
+ - **Doctor command**: Now shows branded "FeedbackBasket CLI Diagnostics" header with logo
280
+ - **Login flow**: Shows branded "FeedbackBasket CLI" header with green URL during browser auth
281
+ - **Better error messages**: Auth and project fetch errors now show the actual error message instead of silent failures
282
+ - **Delete confirmation**: `projects delete` prompts for confirmation in interactive mode (skipped with `--yes` or `--agent`)
283
+
284
+ ---
285
+
286
+ ## [0.1.0] - 2026-03-25
287
+
288
+ ### Added
289
+
290
+ - Initial release of the FeedbackBasket CLI
291
+ - **Authentication**: Browser-based OAuth flow (`auth login`) and manual token input (`auth login --token`)
292
+ - **Auth management**: `auth status`, `auth logout`, `auth token` commands
293
+ - **Projects**: `projects list` — view all accessible projects with feedback stats
294
+ - **Feedback**: `feedback list` with filtering (--project, --category, --status, --sentiment, --search, --limit, --offset, --notes)
295
+ - **Feedback detail**: `feedback show <id>` — view single feedback item with full details
296
+ - **Feedback search**: `feedback search <query>` — cross-project text search
297
+ - **Feedback write**: `feedback update <id>` — update status, category, sentiment (requires full scope)
298
+ - **Feedback notes**: `feedback note <id> "<content>"` — add internal notes (requires full scope)
299
+ - **Bug reports**: `bugs list` with severity/status filtering, `bugs stats` for summary
300
+ - **Diagnostics**: `doctor` command — health checks for auth, connectivity, and integrations
301
+ - **Agent integration**: `setup claude` — install SKILL.md for Claude Code
302
+ - **Output modes**: Auto-detect (styled TTY / JSON piped), `--json` (envelope with breadcrumbs), `--quiet`/`--agent` (raw data), `--md` (Markdown)
303
+ - **JSON envelope**: Basecamp-inspired `{ ok, data, summary, breadcrumbs }` response format
304
+ - **Structured errors**: Error codes, exit codes, and recovery hints
305
+ - **Credential storage**: `~/.config/feedbackbasket/credentials.json` with `FEEDBACKBASKET_TOKEN` env var support