46 lines
1.1 KiB
Markdown
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
|
|
```
|
|
|