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