LogoCyanPrint
PluginsReference

Plugin cyan.yaml

Configuration file for plugin metadata

Plugin cyan.yaml

The cyan.yaml file provides metadata about your plugin for the Cyan registry. This file is required for publishing your plugin.

This page describes the plugin cyan.yaml schema. Template cyan.yaml files have different fields like processors, plugins, and templates arrays. See the Template cyan.yaml documentation for that schema.

Basic Structure

cyan.yaml
username: atomi
name: my-plugin
description: A plugin that performs post-processing operations
project: https://github.com/atomi/my-plugin
source: https://github.com/atomi/my-plugin.git
tags: [formatting, post-process]
readme: README.MD

Properties

Prop

Type

Full Example

cyan.yaml
username: atomi
name: setup-plugin
description: Plugin that sets up git, installs dependencies, and configures the project
project: https://github.com/atomi/cyan-plugin-setup
source: https://github.com/atomi/cyan-plugin-setup.git
tags:
- setup
- git
- npm
- initialization
readme: README.MD

Plugin vs Template cyan.yaml

Plugins and templates use different cyan.yaml schemas:

  • Plugin cyan.yaml: Contains only metadata (username, name, description, project, source, email, tags, readme)
  • Template cyan.yaml: Contains additional fields like processors, plugins, and templates arrays to define the template's dependencies

Plugin cyan.yaml does not define a config schema. Configuration is passed at runtime by the template when invoking the plugin. See Conditional Execution for how templates pass config to plugins.

Usage in Templates

Templates reference plugins using the username/name format with an optional version:

cyan.yaml
# In template's cyan.yaml
plugins:
- atomi/setup-plugin:1
- atomi/formatter

Versioning

Versions are managed by the Cyan registry, not declared in the plugin's cyan.yaml. When referencing a plugin in a template:

cyan.yaml
# Reference without version (uses latest)
plugins:
- atomi/setup-plugin
# Reference with specific version (integer)
plugins:
- atomi/setup-plugin:3