---
title: CommandPlugin
framework: swift-package-manager
role: symbol
role_heading: Protocol
path: swift-package-manager/documentation/packageplugin/commandplugin
---

# CommandPlugin

The plugin protocol that defines functionality for all plugins that have a command capability.

## Declaration

```swift
protocol CommandPlugin : Plugin
```

## Topics

### Creating a Command Plugin

- [performCommand(context:arguments:)](swift-package-manager/documentation/packageplugin/commandplugin/performcommand(context:arguments:).md)

### Accessing the Package Manager

- [packageManager](swift-package-manager/documentation/packageplugin/commandplugin/packagemanager.md)

## Relationships

### Inherits From

- [Plugin](swift-package-manager/documentation/packageplugin/plugin.md)

## See Also

### Implementing Command Plugins

- [PluginContext](swift-package-manager/documentation/packageplugin/plugincontext.md)
- [Plugin](swift-package-manager/documentation/packageplugin/plugin.md)
