helm-schema-cli 0.0.7

Generate an accurate JSON schema for any helm chart
Documentation
use std::path::PathBuf;

use clap::Args;

/// Chart discovery, values composition, and requiredness options.
#[derive(Args, Debug, Clone)]
pub struct ChartArgs {
    /// Excludes chart test templates from analysis.
    #[arg(long)]
    pub exclude_tests: bool,

    /// Omits dependency values beneath their subchart keys.
    #[arg(long)]
    pub no_subchart_values: bool,

    /// Additional values files whose comments should be layered into
    /// schema descriptions. These files are documentation metadata only
    /// and do not contribute type hints or accepted value paths.
    #[arg(short = 'f', long = "values", value_name = "VALUES_FILE")]
    pub values_files: Vec<PathBuf>,

    /// Mark paths used in unconditional template guards
    /// (`if .Values.X`/`eq .Values.X "..."` with no enclosing guard) as
    /// `required` on their parent object. Paths reachable via any
    /// `default <expr> .Values.X` fallback are excluded — the fallback
    /// expression can be a literal (`default "x" .Values.X`), an
    /// identifier (`default .Chart.Name .Values.X`), or a parenthesized
    /// expression (`default (printf "%s" .Y) .Values.X`).
    #[arg(long)]
    pub infer_required: bool,
}