Skip to content

Commit ed7c533

Browse files
authored
Merge pull request #123 from basecamp/feature/fizzy-doctor
Add doctor and config diagnostics commands
2 parents 221a565 + 12ad2e3 commit ed7c533

12 files changed

Lines changed: 2954 additions & 15 deletions

File tree

README.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,16 @@ curl -fsSL https://raw.githubusercontent.com/basecamp/fizzy-cli/master/scripts/i
2929
fizzy setup
3030
```
3131

32-
That's it. The installer detects your platform and architecture, downloads the right binary, and verifies checksums. The setup wizard then walks you through configuring your token, selecting your account, and optionally setting a default board. Try `fizzy board list` to verify everything is working.
32+
That's it. The installer detects your platform and architecture, downloads the right binary, and verifies checksums. The setup wizard then walks you through configuring your token, selecting your account, and optionally setting a default board.
33+
34+
Recommended first checks:
35+
36+
```bash
37+
fizzy doctor
38+
fizzy board list
39+
```
40+
41+
Use `fizzy doctor` any time you want a full health check of your install, config, auth, API connectivity, board context, and agent setup.
3342

3443
<details>
3544
<summary>Other installation methods</summary>
@@ -121,6 +130,8 @@ Breadcrumbs suggest next commands, making it easy for humans and agents to navig
121130

122131
**Agent discovery:** Every command supports `--help --agent` for structured help output. Use `fizzy commands --json` for the full command catalog.
123132

133+
**Troubleshooting:** Run `fizzy doctor` for a read-only health check with remediation hints and next steps.
134+
124135
## Configuration
125136

126137
```
@@ -141,6 +152,37 @@ Configuration priority (highest to lowest):
141152

142153
`FIZZY_ACCOUNT` is accepted as a deprecated alias for `FIZZY_PROFILE`.
143154

155+
Inspect the effective config and precedence:
156+
157+
```bash
158+
fizzy config show
159+
fizzy config explain
160+
fizzy config explain --profile acme
161+
```
162+
163+
## Troubleshooting
164+
165+
```bash
166+
fizzy doctor # Full install/config/auth/API/agent health check
167+
fizzy doctor --profile acme # Check one saved profile explicitly
168+
fizzy doctor --all-profiles # Sweep every saved profile
169+
fizzy doctor --verbose # Include effective config details and timings
170+
fizzy doctor --json # Structured output for scripts and support
171+
```
172+
173+
Common follow-up commands:
174+
175+
```bash
176+
fizzy auth status
177+
fizzy config show
178+
fizzy config explain
179+
fizzy identity show
180+
fizzy board list
181+
fizzy setup
182+
fizzy setup claude
183+
fizzy skill install
184+
```
185+
144186
## Development
145187

146188
```bash

SURFACE.txt

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ ARG fizzy comment attachments download 00 [ATTACHMENT_INDEX]
1111
ARG fizzy comment attachments help 00 [command]
1212
ARG fizzy comment help 00 [command]
1313
ARG fizzy completion 00 [bash|zsh|fish|powershell]
14+
ARG fizzy config help 00 [command]
1415
ARG fizzy help 00 [command]
1516
ARG fizzy identity help 00 [command]
1617
ARG fizzy migrate help 00 [command]
@@ -126,6 +127,12 @@ CMD fizzy comment show
126127
CMD fizzy comment update
127128
CMD fizzy comment view
128129
CMD fizzy completion
130+
CMD fizzy config
131+
CMD fizzy config explain
132+
CMD fizzy config help
133+
CMD fizzy config show
134+
CMD fizzy config view
135+
CMD fizzy doctor
129136
CMD fizzy help
130137
CMD fizzy identity
131138
CMD fizzy identity help
@@ -1728,6 +1735,91 @@ FLAG fizzy completion --quiet type=bool
17281735
FLAG fizzy completion --styled type=bool
17291736
FLAG fizzy completion --token type=string
17301737
FLAG fizzy completion --verbose type=bool
1738+
FLAG fizzy config --agent type=bool
1739+
FLAG fizzy config --api-url type=string
1740+
FLAG fizzy config --count type=bool
1741+
FLAG fizzy config --help type=bool
1742+
FLAG fizzy config --ids-only type=bool
1743+
FLAG fizzy config --jq type=string
1744+
FLAG fizzy config --json type=bool
1745+
FLAG fizzy config --limit type=int
1746+
FLAG fizzy config --markdown type=bool
1747+
FLAG fizzy config --profile type=string
1748+
FLAG fizzy config --quiet type=bool
1749+
FLAG fizzy config --styled type=bool
1750+
FLAG fizzy config --token type=string
1751+
FLAG fizzy config --verbose type=bool
1752+
FLAG fizzy config explain --agent type=bool
1753+
FLAG fizzy config explain --api-url type=string
1754+
FLAG fizzy config explain --count type=bool
1755+
FLAG fizzy config explain --help type=bool
1756+
FLAG fizzy config explain --ids-only type=bool
1757+
FLAG fizzy config explain --jq type=string
1758+
FLAG fizzy config explain --json type=bool
1759+
FLAG fizzy config explain --limit type=int
1760+
FLAG fizzy config explain --markdown type=bool
1761+
FLAG fizzy config explain --profile type=string
1762+
FLAG fizzy config explain --quiet type=bool
1763+
FLAG fizzy config explain --styled type=bool
1764+
FLAG fizzy config explain --token type=string
1765+
FLAG fizzy config explain --verbose type=bool
1766+
FLAG fizzy config help --agent type=bool
1767+
FLAG fizzy config help --api-url type=string
1768+
FLAG fizzy config help --count type=bool
1769+
FLAG fizzy config help --help type=bool
1770+
FLAG fizzy config help --ids-only type=bool
1771+
FLAG fizzy config help --jq type=string
1772+
FLAG fizzy config help --json type=bool
1773+
FLAG fizzy config help --limit type=int
1774+
FLAG fizzy config help --markdown type=bool
1775+
FLAG fizzy config help --profile type=string
1776+
FLAG fizzy config help --quiet type=bool
1777+
FLAG fizzy config help --styled type=bool
1778+
FLAG fizzy config help --token type=string
1779+
FLAG fizzy config help --verbose type=bool
1780+
FLAG fizzy config show --agent type=bool
1781+
FLAG fizzy config show --api-url type=string
1782+
FLAG fizzy config show --count type=bool
1783+
FLAG fizzy config show --help type=bool
1784+
FLAG fizzy config show --ids-only type=bool
1785+
FLAG fizzy config show --jq type=string
1786+
FLAG fizzy config show --json type=bool
1787+
FLAG fizzy config show --limit type=int
1788+
FLAG fizzy config show --markdown type=bool
1789+
FLAG fizzy config show --profile type=string
1790+
FLAG fizzy config show --quiet type=bool
1791+
FLAG fizzy config show --styled type=bool
1792+
FLAG fizzy config show --token type=string
1793+
FLAG fizzy config show --verbose type=bool
1794+
FLAG fizzy config view --agent type=bool
1795+
FLAG fizzy config view --api-url type=string
1796+
FLAG fizzy config view --count type=bool
1797+
FLAG fizzy config view --help type=bool
1798+
FLAG fizzy config view --ids-only type=bool
1799+
FLAG fizzy config view --jq type=string
1800+
FLAG fizzy config view --json type=bool
1801+
FLAG fizzy config view --limit type=int
1802+
FLAG fizzy config view --markdown type=bool
1803+
FLAG fizzy config view --profile type=string
1804+
FLAG fizzy config view --quiet type=bool
1805+
FLAG fizzy config view --styled type=bool
1806+
FLAG fizzy config view --token type=string
1807+
FLAG fizzy config view --verbose type=bool
1808+
FLAG fizzy doctor --agent type=bool
1809+
FLAG fizzy doctor --all-profiles type=bool
1810+
FLAG fizzy doctor --api-url type=string
1811+
FLAG fizzy doctor --count type=bool
1812+
FLAG fizzy doctor --help type=bool
1813+
FLAG fizzy doctor --ids-only type=bool
1814+
FLAG fizzy doctor --jq type=string
1815+
FLAG fizzy doctor --json type=bool
1816+
FLAG fizzy doctor --limit type=int
1817+
FLAG fizzy doctor --markdown type=bool
1818+
FLAG fizzy doctor --profile type=string
1819+
FLAG fizzy doctor --quiet type=bool
1820+
FLAG fizzy doctor --styled type=bool
1821+
FLAG fizzy doctor --token type=string
1822+
FLAG fizzy doctor --verbose type=bool
17311823
FLAG fizzy help --agent type=bool
17321824
FLAG fizzy help --api-url type=string
17331825
FLAG fizzy help --count type=bool
@@ -3058,6 +3150,12 @@ SUB fizzy comment show
30583150
SUB fizzy comment update
30593151
SUB fizzy comment view
30603152
SUB fizzy completion
3153+
SUB fizzy config
3154+
SUB fizzy config explain
3155+
SUB fizzy config help
3156+
SUB fizzy config show
3157+
SUB fizzy config view
3158+
SUB fizzy doctor
30613159
SUB fizzy help
30623160
SUB fizzy identity
30633161
SUB fizzy identity help

internal/commands/commands.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ var commandCatalogGroups = map[string][]string{
3434
"core": {"board", "card", "column", "comment", "search", "step"},
3535
"collaboration": {"notification", "pin", "reaction", "tag", "user"},
3636
"admin": {"auth", "account", "identity", "webhook", "upload", "migrate"},
37-
"utilities": {"setup", "signup", "completion", "skill", "commands", "version"},
37+
"utilities": {"setup", "signup", "completion", "doctor", "config", "skill", "commands", "version"},
3838
}
3939

4040
var commandCatalogCategory = func() map[string]string {

0 commit comments

Comments
 (0)