Type object
File match buf.plugin.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/buf-plugin-yaml/latest.json
Source https://www.schemastore.org/buf.plugin.json

Validate with Lintel

npx @lintel/lintel check
Type: object

A buf.plugin.yaml file captures metadata about the plugin. It includes mandatory and optional fields that are displayed on the individual plugin page and the BSR plugin homepage at https://buf.build/plugins.

Properties

version string required

The YAML configuration version, must be v1.

Constant: "v1"
name string required

The plugin identity with format {remote}/{organization_name}/{plugin_name}.

plugin_version string required

The plugin version with formatv{semver}, the v prefix is required and the version must be valid semantic versioning.

source_url string

URL to the source code of the Protobuf plugin.

description string

Description of the plugin.

output_languages string[]

The output language types generated by the plugin. See the PluginLanguage enum for existing languages. Open a GitHub issue in the Buf CLI (https://github.com/bufbuild/buf) if the output language isn't found for a plugin.

spdx_license_id string

The license id for the plugin from https://spdx.org/licenses.

integration_guide_url string

The URL to the integration guide for the plugin.

deps object[]

A list of dependencies on other plugins used by Generated SDKs.

registry object

Configuration to enable a plugin for use with Generated SDKs.

9 nested properties
opts string[]

Options supplied to the plugin when generating code for the SDK.

go object

Generated SDK configuration for a Go plugin.

2 nested properties
min_version string

The minimum Go version required by the plugin (e.g. 1.19), used as the go directive in the go.mod file. See https://go.dev/ref/mod#go-mod-file-go.

deps object[]

A list of Go module requirements. Each requirement corresponds to a require directive in the go.mod file. See https://go.dev/ref/mod#go-mod-file-require.

npm object

Generated SDK configuration for a JavaScript/TypeScript plugin.

3 nested properties
import_style string required

One of either module or commonjs.

Values: "module" "commonjs"
rewrite_import_path_suffix string

The suffix used in the generated files and their imported dependencies (supported by @bufbuild/protoplugin (https://www.npmjs.com/package/@bufbuild/protoplugin) plugins).

deps object[]

NPM package dependencies for the Generated SDK.

maven object

Generated SDK configuration for a Java/Kotlin plugin.

3 nested properties
compiler object
2 nested properties
java object

Java compiler settings.

kotlin object

Kotlin compiler settings.

deps string[]

Runtime dependencies of the generated Java/Kotlin code (in GAV format).

uniqueItems=true
additional_runtimes object[]

Configures additional supported runtimes.

python object

Generated SDK configuration for a Python plugin.

3 nested properties
package_type string required

One of runtime or stub-only.

Values: "runtime" "stub-only"
deps string[]

Runtime dependencies of the generated code.

uniqueItems=true
requires_python string

Specifies the Requires-Python of the generated package.

swift object

Generated SDK configuration for a Swift plugin.

1 nested properties
deps object[]

Dependencies of the generated code.

cargo object

Generated SDK configuration for a Rust plugin.

2 nested properties
rust_version string

The rust-version set for the generated crate.

deps object[]

Crates.io dependencies for the Generated SDK.

nuget object

Generated SDK configuration for a C# plugin.

2 nested properties
target_frameworks string[]

The target frameworks the generated package supports.

deps object[]

nuget.org dependencies for the Generated SDK.

cmake object

Generated SDK configuration for a CMake plugin.