Skip to main content

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");