Skip to content

Add support for addons and improve output formatting#6

Open
zerebos wants to merge 15 commits intomainfrom
feat/addon-commands
Open

Add support for addons and improve output formatting#6
zerebos wants to merge 15 commits intomainfrom
feat/addon-commands

Conversation

@zerebos
Copy link
Member

@zerebos zerebos commented Feb 18, 2026

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/output package 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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments