# Playbill Builder CLI This is a CLI tool for compiling 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 --write Write the output to a file. If not specified, outputs to stdout --outfile Specify the output file path [default: playbill.json] --verbose, -v Verbose output --help, -h Show this help message ``` ## Binding File ```yaml $binding: playbill # Required id: the-playbill-id # Required name: My Playbill # Required author: My Name # Required version: 0.0.1 # Required files: # Optional - "**/*.yaml" ``` ## Definable Playbill Resources - ability - species - entity - item - tag - lore - method - rule ### Shape: Ability ```yaml $define: ability # Required id: ability-id # Required name: Ability Name # Required description: Some description # Required type: action | cue | trait # Required costs: # Optional, and each subfield is optional ap: 1 hp: 1 xp: 1 ep: 1 roll: none (default), fate or a talent # Optional boons: # Optional - First boon - Second boon banes: # Optional - First bane - Second bane ``` ### Shape: Method ```yaml $define: method # Required id: method-id # Required name: Method Name # Required description: Method Description # Required curator: Method Curator Name # Required abilities: - [ability-id, another-ability] - [yet-anotther, and-so-on] ``` ### Shape: Species ```yaml $define: species # Required id: species-id # Required name: Species Name # Required description: Species Description # Required abilities: - ability-id - another-ability bonuses: bonusMaxHp: 1 bonusMaxAp: 1 bonusMaxEp: 1 muscleProwess: adept knowledgeProwess: adept focusProwess: adept charmProwess: adept cunningProwess: adept sparkProwess: adept ``` ### Shape: Entity ```yaml $define: entity id: entity-id # Required name: Entity Name # Required description: Entity Description # Required species: species-id # Required abilities: - some-ability - another-ability stats: hp: 1 ap: 1 ep: 1 xp: 1 talents: muscle: adept knowledge: adept focus: adept charm: adept cunning: adept spark: adept damage: 0 baggage: [] ``` ### Shape: Item ```yaml $define: item id: item-id # Required name: Item Name # Required description: Item Description # Required type: wielded | worn | trinket slots: 0 | 1 | 2 | 3 | 4 | 5 tags: - some-tag-id - another-tag-id ``` ### Shape: Item Tag ```yaml $define: tag id: tag-id # Required name: Tag Name # Required description: Tag Description # Required icon: https://some.url/icon.png ``` ### Shape: Lore ```yaml $define: lore id: lore-id # Required name: Lore Entry Name # Required description: Lore entry content # Required categories: - something - another ``` ### Shape: Rule ```yaml $define: rule id: rule-id # Required name: Rule Name # Required description: Rule content # Required overrule: existing-rule-id # Optional ```