Compositor is a deterministic Rust CLI for turning Markdown story manuscripts into incrementally maintained book-production artifacts.
cargo run -- init
# Add compendiums/01-example/index.md and numbered story Markdown files.
cargo run -- build --format json
cargo run -- proofStories use YAML front matter with id and title. A top-level Markdown
thematic break creates a content unit. Production directives use HTML comments,
for example <!-- anchor: story-opening --> or <!-- layout: full-page -->.
init, parse, validate, status, build, diff source, plan, proof,
inspect, and resolve are available. build and plan currently support
the conservative mode only. Use --format json for stable machine-readable
reports.
Generated state lives in .compositor/; HTML proofs are written to
output/proofs/; layout-ready plain-text exports are written to output/text/
on every successful build. Both story-level and compendium-level .txt files
are fully generated for import into a layout application. Normal commands never
modify source Markdown or assets.
Artwork intent, generation prompts, candidates, feedback, and selections live
in human- and skill-authored YAML files at art/briefs/<art-id>.yaml.
Compositor validates these records against the current illustration requirement
but does not generate or revise them. See docs/art-protocol.md for the v1
format and complete examples. Use compositor art validate --strict before
generation or promotion, and compositor art attach <art-id> --selected to
copy the selected draft candidate into assets/approved/.