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
username: atominame: my-plugindescription: A plugin that performs post-processing operationsproject: https://github.com/atomi/my-pluginsource: https://github.com/atomi/my-plugin.gittags: [formatting, post-process]readme: README.MD
Properties
Prop
Type
Full Example
username: atominame: setup-plugindescription: Plugin that sets up git, installs dependencies, and configures the projectproject: https://github.com/atomi/cyan-plugin-setupsource: https://github.com/atomi/cyan-plugin-setup.gittags:- setup- git- npm- initializationreadme: 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, andtemplatesarrays 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:
# In template's cyan.yamlplugins:- 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:
# Reference without version (uses latest)plugins:- atomi/setup-plugin# Reference with specific version (integer)plugins:- atomi/setup-plugin:3