#[derive(Parser, Debug, Default)]
pub struct TemplateCommands {
#[arg(
long = "init-system-prompts",
alias = "init-templates",
help = "Create ~/.config/ralph/templates/ with default Agent Prompts (backend AI behavior configuration, NOT Work Guides for PROMPT.md)",
default_missing_value = "false",
num_args = 0..=1,
require_equals = true,
hide = true
)]
pub init_templates: Option<bool>,
#[arg(
long,
requires = "init_templates",
help = "Overwrite existing system prompt templates during init (use with caution)",
hide = true
)]
pub force: bool,
#[arg(long, help = "Validate all Agent Prompt templates for syntax errors", hide = true)]
pub validate: bool,
#[arg(long, value_name = "NAME", help = "Show Agent Prompt template content and metadata", hide = true)]
pub show: Option<String>,
#[arg(
long,
help = "List all Agent Prompt templates with their variables",
hide = true
)]
pub list: bool,
#[arg(long, help = "List all Agent Prompt templates including deprecated ones")]
pub list_all: bool,
#[arg(long, value_name = "NAME", help = "Extract variables from an Agent Prompt template", hide = true)]
pub variables: Option<String>,
#[arg(
long,
value_name = "NAME",
help = "Test render a system prompt template with provided variables",
hide = true
)]
pub render: Option<String>,
}
impl TemplateCommands {
pub const fn init_templates_enabled(&self) -> bool {
self.init_templates.is_some()
}
}