muse/README.md

1.1 KiB

Muse

A CLI for wrangling directories of source files.

Like a static generator, but for whatever.

Overview

Muse is a CLI and toolchain for operating on directories of json, yaml, toml, and markdown files. Each file can specify any shape of data. Muse scans included files, parses them into data, and streams the loaded data through processors and plugins.

Each processor can modify the data at compile time, as well as enact side effects such as writing files to disk.

Muse does not edit source files, it only reads them in.

Usage

Usage:
  muse [/path/to/binding.yaml] <options>

Options:
  --stdout    -s  Output final data to stdout
  --verbose,  -v  Enable verbose logging
  --help,     -h  Show this help message

Binding File

Each Muse project should specify a binding file with the following shape:

include:
  - ../another-project      # Optional
files:                      # Optional
  - "**/*.yaml"
contentKey: "content"       # Optional
options:                    # Optional
  someOption: someValue
processors:
  - first-processor
  - second-processor