Config File
The bshplugin.json file is the root plugin configuration file that defines plugin identity, metadata, and variables.
Location
- Path: Root the plugin directory
Structure
{
"version": "1.0.0", // Plugin version (semantic versioning)
"id": "string", // Unique plugin identifier
"name": "string", // Human-readable plugin name
"description": "string", // Plugin description
"author": "string", // Plugin author
"license": "MIT", // License type
"variables": { // Plugin-level variables (can be referenced in content files)
// Key-value pairs for variable substitution
},
"image": "data:image/jpeg;base64,..." // Optional: Base64 encoded plugin icon/image
}Usage
- Plugin discovery: Identifies a directory as a plugin
- Plugin registration: Stored in
BshPluginsentity - Variable resolution: Variables available via
${config.*}in content files
Variable Resolution
Variables from bshplugin.json can be referenced in content JSON files using:
${config.variableName}- References variables from plugin config${manifest.*}- References manifest properties
Example:
// bshplugin.json
{
"variables": {
"author": "someone"
}
}
// Content file can use:
{
...
"author": "${config.author}"
...
}