A CLI for wrangling directories of source files. Like a static generator, but for whatever.
playbill | ||
src | ||
.gitignore | ||
biome.json | ||
bun.lock | ||
package.json | ||
README.md | ||
tsconfig.json |
Playbill Builder CLI
This is a CLI tool for compiling YAML files into a validated Playbill for Proscenium
Usage
Usage:
muse [/path/to/binding.yaml] <options>
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
$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
$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
$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
$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
$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
$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
$define: tag
id: tag-id # Required
name: Tag Name # Required
description: Tag Description # Required
icon: https://some.url/icon.png
Shape: Lore
$define: lore
id: lore-id # Required
name: Lore Entry Name # Required
description: Lore entry content # Required
categories:
- something
- another
Shape: Rule
$define: rule
id: rule-id # Required
name: Rule Name # Required
description: Rule content # Required
overrule: existing-rule-id # Optional