muse/README.md

46 lines
1.1 KiB
Markdown

# 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
```plaintext
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:
```yaml
include:
- ../another-project # Optional
files: # Optional
- "**/*.yaml"
contentKey: "content" # Optional
options: # Optional
someOption: someValue
processors:
- first-processor
- second-processor
```