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