---
title: Target.PluginCapability
framework: swift-package-manager
role: symbol
role_heading: Enumeration
path: swift-package-manager/documentation/packagedescription/target/plugincapability-swift.enum
---

# Target.PluginCapability

The different types of capability that a plug-in can provide.

## Declaration

```swift
enum PluginCapability
```

## Overview

Overview In this version of SwiftPM, only build tool and command plug-ins are supported; this enumeration will be extended as new plug-in capabilities are added.

## Topics

### Creating a Plugin Capability

- [buildTool()](swift-package-manager/documentation/packagedescription/target/plugincapability-swift.enum/buildtool().md)
- [Target.PluginCapability.command(intent:permissions:)](swift-package-manager/documentation/packagedescription/target/plugincapability-swift.enum/command(intent:permissions:).md)

### Enumeration Cases

- [Target.PluginCapability.buildTool](swift-package-manager/documentation/packagedescription/target/plugincapability-swift.enum/buildtool.md)

## See Also

### Creating a Plugin Target

- [plugin(name:capability:dependencies:path:exclude:sources:packageAccess:)](swift-package-manager/documentation/packagedescription/target/plugin(name:capability:dependencies:path:exclude:sources:packageaccess:).md)
- [pluginCapability](swift-package-manager/documentation/packagedescription/target/plugincapability-swift.property.md)
- [PluginCommandIntent](swift-package-manager/documentation/packagedescription/plugincommandintent.md)
- [PluginPermission](swift-package-manager/documentation/packagedescription/pluginpermission.md)
- [plugin(name:capability:dependencies:path:exclude:sources:)](swift-package-manager/documentation/packagedescription/target/plugin(name:capability:dependencies:path:exclude:sources:).md)
