cli

command module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

README ΒΆ

BetterDiscord CLI

Go Version Release License npm

A cross-platform command-line interface for installing, updating, and managing BetterDiscord.

Features

  • πŸš€ Easy installation and uninstallation of BetterDiscord
  • πŸ”„ Support for multiple Discord channels (Stable, PTB, Canary)
  • πŸ–₯️ Cross-platform support (Windows, macOS, Linux)
  • πŸ“¦ Available via npm for easy distribution
  • ⚑ Fast and lightweight Go binary

Installation

npm install -g @betterdiscord/cli
Via Go
go install github.com/betterdiscord/cli@latest
Via winget (Windows)
winget install betterdiscord.cli
Via Homebrew/Linuxbrew
brew install betterdiscord/tap/bdcli
Download Binary

Download the latest release for your platform from the releases page.

Usage

Install BetterDiscord

Install BetterDiscord to a specific Discord channel:

bdcli install --channel stable   # Install to Discord Stable
bdcli install --channel ptb      # Install to Discord PTB
bdcli install --channel canary   # Install to Discord Canary

Install BetterDiscord by providing a Discord install path:

bdcli install --path /path/to/Discord
Uninstall BetterDiscord

Uninstall BetterDiscord from a specific Discord channel:

bdcli uninstall --channel stable   # Uninstall from Discord Stable
bdcli uninstall --channel ptb      # Uninstall from Discord PTB
bdcli uninstall --channel canary   # Uninstall from Discord Canary

Uninstall BetterDiscord by providing a Discord install path:

bdcli uninstall --path /path/to/Discord
Check Version
bdcli version
Shell Completions
bdcli completion bash
bdcli completion zsh
bdcli completion fish
Help
bdcli --help
bdcli [command] --help
CLI Help Output
A cross-platform CLI for installing, updating, and managing BetterDiscord.

Usage:
   bdcli [flags]
   bdcli [command]

Available Commands:
   completion  Generate shell completions
   help        Help about any command
   install     Installs BetterDiscord to your Discord
   uninstall   Uninstalls BetterDiscord from your Discord
   version     Print the version number

Flags:
   -h, --help   help for bdcli

Use "bdcli [command] --help" for more information about a command.

Supported Platforms

  • Windows (x64, ARM64, x86)
  • macOS (x64, ARM64/M1/M2)
  • Linux (x64, ARM64, ARM)

Development

Prerequisites
  • Go 1.26 or higher
  • Task (optional, for task automation)
  • GoReleaser (for releases)
Setup

Clone the repository and install dependencies:

git clone https://github.com/BetterDiscord/cli.git
cd cli
task setup  # Or: go mod download
Available Tasks

Run task --list-all to see all available tasks:

# Development
task run             # Run the CLI (pass args with: task run -- install stable)

# Building
task build           # Build for current platform
task build:all       # Build for all platforms (GoReleaser)

# Testing
task test            # Run tests
task test:verbose    # Run tests with verbose output
task coverage        # Run tests with coverage summary
task coverage:html   # Generate HTML coverage report

# Code Quality
task fmt             # Format Go files
task vet             # Run go vet
task lint            # Run golangci-lint
task check           # Run fix, fmt, vet, lint, test

# Release
task release:snapshot # Test release build
task release          # Create release (requires tag)

# Cleaning
task clean           # Remove build and debug artifacts
Running Locally
# Run directly
go run main.go install stable

# Or use Task
task run -- install stable
Building
# Build for current platform
task build

# Build for all platforms
task build:all

# Output will be in ./dist/
Testing
# Run all tests
task test

# Run with coverage
task coverage
Releasing
  1. Create and push a new tag:

    git tag -a v0.2.0 -m "Release v0.2.0"
    git push origin v0.2.0
    
  2. GitHub Actions will automatically build and create a draft release

  3. Edit the release notes and publish

  4. Publish to npm:

    npm publish
    

Project Structure

.
β”œβ”€β”€ cmd/                  # Cobra commands
β”‚   β”œβ”€β”€ install.go       # Install command
β”‚   β”œβ”€β”€ uninstall.go     # Uninstall command
β”‚   β”œβ”€β”€ version.go       # Version command
β”‚   └── root.go          # Root command
β”œβ”€β”€ internal/            # Internal packages
β”‚   β”œβ”€β”€ betterdiscord/  # BetterDiscord installation logic
β”‚   β”œβ”€β”€ discord/        # Discord path resolution and injection
β”‚   β”œβ”€β”€ models/         # Data models
β”‚   └── utils/          # Utility functions
β”œβ”€β”€ main.go             # Entry point
β”œβ”€β”€ Taskfile.yml        # Task automation
└── .goreleaser.yaml    # Release configuration

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

Built with:


Made with ❀️ by the BetterDiscord Team

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal
wsl

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL