Conversation
Implement a Bubble Tea-based interactive terminal UI launched via the `-i` flag. Users can browse/filter gRPC methods, preview JSON request templates, and copy them to clipboard. Also refactors ListMethods() to be side-effect free and adds automatic stream reconnection to handle server-side EOF. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@claude test |
|
Claude finished @horstf's task in 2m 2s —— View job Test Results
CI Failure: Go Version MismatchThe CI is failing at the Lint step before tests even run: Root cause: CI Steps That Ran
Test Files FoundThe test suite covers:
The new packages added in this PR ( Next Steps
|
|
@claude we are still seeing issues with golangci lint |
|
Claude finished @horstf's task in 2m 26s —— View job Fixed golangci-lint Configuration
Root CauseThe CI installs Fix Applied (commit
|
| What changed | v2 format | v1 format |
|---|---|---|
| Version declaration | version: "2" |
(removed) |
| Formatters section | formatters: enable: [gofmt, goimports] |
Moved to linters.enable |
| Settings key | linters.settings |
linters-settings |
| File exclusions | issues.exclusions.paths |
issues.exclude-files |
| Rule exclusions | issues.exclusions.rules |
issues.exclude-rules |
All linters are preserved — gofmt and goimports are valid linters in golangci-lint v1.
Note: If you'd prefer to use golangci-lint v2 long-term, update the CI install command from
golangci-lint/cmd/golangci-lint@latesttogolangci-lint/v2/cmd/golangci-lint@latestin.github/workflows/ci.yml. This would allow keeping the v2 config format.
|
The CI installs golangci-lint@latest which resolves to v1.x, but the config used version: "2" format (with formatters section) that is only supported by golangci-lint v2. Convert to v1-compatible format by: - Removing version: "2" declaration - Replacing formatters section with gofmt/goimports as regular linters - Using linters-settings (hyphenated) instead of linters.settings - Using issues.exclude-rules and issues.exclude-files instead of issues.exclusions.rules and issues.exclusions.paths Co-authored-by: horstf <horstf@users.noreply.github.com>
Summary
-iflag that launches a Bubble Tea interactive TUI for browsing gRPC methods, previewing JSON request templates, and copying them to clipboardListMethods()to be side-effect free (no stdout printing), moving display logic to the caller inmain.goNew packages
pkg/tui/— Bubble Tea TUI with filterable list view and scrollable JSON previewpkg/clipboard/— Cross-platform clipboard write viapbcopy/xclip/clip.exeTest plan
make buildcompiles successfullymake test— all existing tests pass./goshape -host localhost -port 50051 -list-methodsstill works (non-interactive)./goshape -host localhost -port 50051 -ilaunches TUI🤖 Generated with Claude Code