Add support for addons and improve output formatting#6
Open
Add support for addons and improve output formatting#6
Conversation
There was a problem hiding this comment.
Pull request overview
This PR enhances the BetterDiscord CLI by adding addon (plugin/theme) management and store browsing commands, while centralizing and improving CLI output formatting (including a new silent mode).
Changes:
- Add plugin/theme install/remove/update/list/info commands and store search/show commands.
- Introduce a shared
internal/outputpackage for consistent formatting + writer overrides (used for--silent/ tests). - Add BetterDiscord build-info parsing and richer install/update/info/discover output.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/utils/strings.go | Adds IsURL helper used by addon install/update flows. |
| internal/output/output.go | Centralized stdout/stderr output helpers, table writer, and version formatting. |
| internal/models/store.go | Introduces store API response models (addons/authors/guild). |
| internal/models/channel.go | Adds Display() for user-friendly channel labels. |
| internal/discord/process.go | Switches restart logging from log to output. |
| internal/discord/install.go | Refactors BD install resolution + switches logs to output. |
| internal/discord/injection.go | Switches injection/uninject logging from log to output. |
| internal/betterdiscord/store.go | Implements store API fetch/search and addon info display. |
| internal/betterdiscord/setup.go | Switches directory/repair logs to output. |
| internal/betterdiscord/meta.go | Adds JSDoc metadata parsing for local addons. |
| internal/betterdiscord/meta_test.go | Adds unit + fuzz + benchmark coverage for JSDoc parsing. |
| internal/betterdiscord/install.go | Adds install helpers (IsAsarInstalled, RemoveAll) and build-info field initialization. |
| internal/betterdiscord/download.go | Improves download output formatting and version normalization. |
| internal/betterdiscord/buildinfo.go | Adds build-info extraction from betterdiscord.asar and logging. |
| internal/betterdiscord/addons.go | Implements local addon discovery + install/remove/update + info display. |
| cmd/root.go | Adds --silent and BDCLI_SILENT support via output writer swapping; routes top-level errors to stderr. |
| cmd/install.go | Adds install summary output and BD build-info display. |
| cmd/uninstall.go | Adds --all / --full uninstall modes and BD folder deletion. |
| cmd/version.go | Routes version output through internal/output. |
| cmd/update.go | Adds update command including version comparison and build-info display. |
| cmd/info.go | Adds info command for BD build-info and paths. |
| cmd/discover.go | Adds discovery commands for installs/paths/addons. |
| cmd/plugins.go | Adds plugin management commands. |
| cmd/themes.go | Adds theme management commands. |
| cmd/store.go | Adds store browsing/search/show commands. |
| README.md | Documents new commands, global options, and automation usage. |
| .golangci.yml | Adds golangci-lint configuration tweaks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 27 changed files in this pull request and generated 19 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enhance the CLI with addon management features, including installation, updates, and detailed information display. Improve output formatting for better readability and add silent mode for reduced verbosity. Clean up logs and documentation.