aprender_shell/synthetic.rs
1//! Synthetic data generation for shell completion training
2//!
3//! Three strategies:
4//! 1. CLI Command Templates - realistic dev command patterns
5//! 2. Mutation Engine - variations on real history
6//! 3. Coverage-Guided - fill gaps in n-gram coverage
7
8use std::collections::{HashMap, HashSet};
9
10/// CLI command template generator
11pub struct CommandGenerator {
12 templates: Vec<CommandTemplate>,
13}
14
15/// A command template with slots for variation
16#[derive(Clone)]
17struct CommandTemplate {
18 base: &'static str,
19 variants: Vec<&'static str>,
20 flags: Vec<&'static str>,
21 args: Vec<&'static str>,
22}
23
24include!("synthetic_command_generator.rs");
25include!("synthetic_default_command_mutator.rs");