# Playbill Builder CLI This is a CLI tool for compiling Markdown and YAML files into a validated Playbill for [Proscenium](https://proscenium.game) ## Usage ```plaintext Usage: muse [/path/to/binding.yaml] Options: --check Only load and check the current binding and resources, but do not compile --outfile, -o Specify the output file path. If not specified, output to stdout --watch, -w Watch the directory for changes and recompile --renderer, -r Specify the output renderer. Options: json, html --help, -h Show this help message ``` ## Binding File ```yaml name: My Playbill # Required author: My Name # Required version: 0.0.1 # Required files: # Optional - "**/*.yaml" styles: # Optional - stylesheet.css terms: # Optional Some Term: Some Definition Another Term: Another Definition ``` ## Definition Shapes These YAML representations of definitions show the properties available for each Playbill component. Note that every Playbill component definition can define the following properties: ```yaml id: some-hypenated-id # default: slug-ified file name name: The Name of the Component # default: Name of the containing file description: A markdown-enabled description # default: Placeholder / empty categories: # default: No categories - list - of - categories ``` ### Ability Definition ```yaml $define: ability type: action | cue | trait ap: 0 hp: 0 ep: 0 xp: 0 damage: 0 damageType: phy | arc roll: none | attack | fate | ``` ### Blueprint Definition ```yaml $define: blueprint species: some-hypenated-id items: - item-id - item-id-two - item-id-three abilities: - ability-id - ability-id-two - ability-id-three ap: 0 hp: 0 ep: 0 xp: 0 muscle: novice | adept | master focus: novice | adept | master knowledge: novice | adept | master charm: novice | adept | master cunning: novice | adept | master spark: novice | adept | master ``` ### Item Definition ```yaml $define: item type: wielded | worn | trinket rarity: common | uncommon | rare | legendary affinity: none | attack | fate | damage: 0 damageType: phy | arc hands: 1 | 2 # Only for wielded items slot: headgear | outfit | gloves | boots | adornment | unique # Only for worn items ``` ### Method Definition ```yaml $define: method curator: Someone abilities: - [rank-1-ability-id-one, rank-1-ability-id-two] - [rank-2-ability-id-one] ``` ### Resource Definition ```yaml $define: resource type: text | image | table url: https://example.com/image.jpeg # Only for image resources data: # Only for table resources ``` ### Rule Definition ```yaml $define: rule overrule: another-rule-id # Optional order: 0 # Optional ``` ### Species Definition ```yaml $define: species hands: 2 abilities: - some-ability-id - another-ability-id ap: 0 hp: 0 ep: 0 xp: 0 muscle: novice | adept | master focus: novice | adept | master knowledge: novice | adept | master charm: novice | adept | master cunning: novice | adept | master spark: novice | adept | master ```