Skip to main content

prosaic_project/
lib.rs

1//! Prosaic Studio project format — folder-of-TOML loader, validator, bundler, scenario runner.
2//!
3//! A Prosaic project is a directory containing `prosaic.toml`, plus `templates/`,
4//! `partials/`, `fixtures/`, and `tests/` subdirectories. This crate parses
5//! that layout, materializes a configured [`prosaic_core::Engine`], and bundles
6//! projects into portable JSON or generated Rust source for runtime loading.
7
8mod bundle;
9pub mod catalog;
10mod error;
11mod fixture;
12mod manifest;
13mod partial;
14mod project;
15mod runner;
16mod scaffold;
17mod scenario;
18mod style;
19mod template;
20
21pub use bundle::{BuildOutput, BuildTarget, build_bundle};
22pub use error::ProjectError;
23pub use fixture::parse_fixture;
24pub use manifest::{EngineSettings, Manifest, SalienceThresholdsConfig, VocabDependency};
25pub use partial::PartialFile;
26pub use project::{Project, ValidationIssue, ValidationLevel};
27pub use runner::{ScenarioOutcome, ScenarioRunner, ScenarioVerdict};
28pub use scaffold::{Starter, scaffold_project};
29pub use scenario::{Expected, ExpectedDiscourse, Scenario, ScenarioEngineOverride, ScenarioEvent};
30pub use style::{
31    ConnectivePreferencesConfig, HedgingCalibrationConfig, LengthDistributionConfig,
32    StyleProfileConfig,
33};
34pub use template::{TemplateFile, Variant};