pub struct RunOptions {
pub quiet: bool,
pub include_drafts: bool,
pub deploy_target: Option<String>,
pub validate_only: bool,
pub jobs: Option<usize>,
pub max_memory_mb: Option<usize>,
pub ai_fix: bool,
pub ai_fix_dry_run: bool,
pub incremental: bool,
pub no_llm_cache: bool,
pub isr: bool,
}Expand description
CLI-driven options that don’t live in SsgConfig itself.
Extracted from clap matches so the run pipeline can be unit-tested
without going through Cli::build(). Internal: this is a
CLI-implementation type, not part of the library surface. The
containing module is pub(crate), so this pub is effectively
crate-local — clippy’s redundant_pub_crate flagged the prior
pub(crate) here. See
API stability audit
(Tier C) for context.
Fields§
§quiet: boolSuppress banner and timing print-outs.
include_drafts: boolInclude draft files (skip the DraftPlugin filter).
deploy_target: Option<String>Optional deploy target — netlify, vercel, cloudflare, github.
validate_only: boolValidate content schemas only (no build).
jobs: Option<usize>Number of parallel threads for Rayon (--jobs).
None means use all available CPUs.
max_memory_mb: Option<usize>Peak memory budget in MB for streaming compilation.
None means use the default (512 MB).
ai_fix: boolRun the agentic AI pipeline to audit and fix content.
ai_fix_dry_run: boolPreview AI fixes without writing files.
incremental: boolUse the cached dependency graph to skip work on unchanged
sources (ssg build --incremental, issue #524).
no_llm_cache: boolDisable the deterministic LLM inference cache (issue #528).
Surfaces as --no-llm-cache on the CLI and is exported to
LlmConfig::default via the SSG_NO_LLM_CACHE env var so
any code path constructing an LlmConfig from defaults
(CLI helpers, integration tests, plugin re-entrants) sees a
consistent setting.
isr: boolEmit ISR build manifest + raw KV payloads under dist/.ssg/
(issue #546). Off by default — when false the build is
byte-identical to v0.0.43 (AC9).
Implementations§
Source§impl RunOptions
impl RunOptions
Sourcepub fn from_matches(matches: &ArgMatches) -> Self
pub fn from_matches(matches: &ArgMatches) -> Self
Builds a RunOptions from a parsed clap::ArgMatches.
§Examples
use ssg::cmd::Cli;
use ssg::pipeline::RunOptions;
let matches = Cli::build().get_matches_from(vec!["ssg", "--quiet"]);
let opts = RunOptions::from_matches(&matches);
assert!(opts.quiet);Sourcepub fn from_subcommand_matches(sub_m: &ArgMatches) -> Self
pub fn from_subcommand_matches(sub_m: &ArgMatches) -> Self
Builds a RunOptions from subcommand-style matches.
The subcommand parser exposes a narrower flag set — --quiet,
--drafts, --jobs, and on the build subcommand
--max-memory. Anything else falls back to the defaults so
downstream callers don’t have to special-case missing IDs.
§Examples
use ssg::cmd::Cli;
use ssg::pipeline::RunOptions;
let matches = Cli::subcommand_app().get_matches_from(vec!["ssg", "build"]);
let sub_m = matches.subcommand_matches("build").unwrap();
let opts = RunOptions::from_subcommand_matches(sub_m);
assert!(!opts.quiet);Trait Implementations§
Source§impl Clone for RunOptions
impl Clone for RunOptions
Source§fn clone(&self) -> RunOptions
fn clone(&self) -> RunOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RunOptions
impl Debug for RunOptions
Source§impl Default for RunOptions
impl Default for RunOptions
Source§fn default() -> RunOptions
fn default() -> RunOptions
Auto Trait Implementations§
impl Freeze for RunOptions
impl RefUnwindSafe for RunOptions
impl Send for RunOptions
impl Sync for RunOptions
impl Unpin for RunOptions
impl UnsafeUnpin for RunOptions
impl UnwindSafe for RunOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more