Skip to content

mattermost/pluginctl

pluginctl

A command-line interface tool for Mattermost plugin development. pluginctl provides utilities to manage, inspect, and work with Mattermost plugins from the command line.

Installation

From Source

git clone https://github.com/mattermost/pluginctl.git
cd pluginctl
make build

Binary Installation

Download the latest binary from the releases page.

Package Managers

# Using go install
go install github.com/mattermost/pluginctl/cmd/pluginctl

Usage

Basic Commands

# Display plugin information
pluginctl info

# Show help and available commands
pluginctl --help

# Show version
pluginctl version

Plugin Path Configuration

pluginctl supports multiple ways to specify the plugin directory:

  1. Command-line flag (highest priority):

    pluginctl --plugin-path /path/to/plugin info
  2. Environment variable:

    export PLUGINCTL_PLUGIN_PATH=/path/to/plugin
    pluginctl info
  3. Current directory (default):

    cd /path/to/plugin
    pluginctl info

Available Commands

Run pluginctl --help to see all available commands and options.

Development

Quick Start

# Set up development environment
make dev-setup

# Install dependencies
make deps

# Quick development build (format, lint, build)
make dev

# Run tests and checks before committing
make check-changes

See make help for the complete list of available targets.

Adding New Commands

  1. Create a new command file (e.g., build.go) in the root directory
  2. Implement the command following existing patterns
  3. Register the command in cmd/pluginctl/main.go
  4. Update the help text

See CLAUDE.md for detailed architecture guidelines.

Contributing

We welcome contributions to pluginctl! Please see the CLAUDE.md file for architecture guidelines and development patterns.

Code Style

  • Follow Go best practices and conventions
  • Use the official Mattermost model types from github.com/mattermost/mattermost/server/public/model
  • Maintain separation between CLI framework and command implementation
  • Include comprehensive error handling with descriptive messages

License

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

Related Projects

Support

For questions, issues, or feature requests, please:

  • Check the issues or create a new issue if your problem isn't already reported
  • Join the Mattermost Community for general discussion

About

A CLI tool to manage Mattermost plugin development

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •