impl CommandGenerator {

    fn default_templates() -> Vec<CommandTemplate> {
        vec![
            // Git commands
            CommandTemplate {
                base: "git",
                variants: vec![
                    "status",
                    "add",
                    "commit",
                    "push",
                    "pull",
                    "fetch",
                    "checkout",
                    "branch",
                    "merge",
                    "rebase",
                    "log",
                    "diff",
                    "stash",
                    "reset",
                    "clone",
                    "init",
                    "remote",
                    "tag",
                    "cherry-pick",
                    "bisect",
                ],
                flags: vec![
                    "-m",
                    "-a",
                    "-b",
                    "-d",
                    "-f",
                    "-v",
                    "--verbose",
                    "--all",
                    "--force",
                    "--no-verify",
                    "-u",
                    "--amend",
                    "--hard",
                    "--soft",
                    "-p",
                    "--patch",
                    "-i",
                    "--interactive",
                    "--oneline",
                    "--graph",
                ],
                args: vec![
                    ".",
                    "origin",
                    "main",
                    "master",
                    "HEAD",
                    "HEAD~1",
                    "-",
                    "origin/main",
                    "upstream",
                    "--",
                    "src/",
                    "*.rs",
                ],
            },
            // Cargo commands
            CommandTemplate {
                base: "cargo",
                variants: vec![
                    "build",
                    "test",
                    "run",
                    "check",
                    "clippy",
                    "fmt",
                    "doc",
                    "bench",
                    "clean",
                    "update",
                    "publish",
                    "install",
                    "add",
                    "remove",
                    "search",
                    "tree",
                    "audit",
                    "outdated",
                    "deny",
                    "mutants",
                    "llvm-cov",
                    "expand",
                    "asm",
                    "flamegraph",
                ],
                flags: vec![
                    "--release",
                    "--lib",
                    "--bin",
                    "--all",
                    "--all-features",
                    "--no-default-features",
                    "--features",
                    "-p",
                    "--package",
                    "-j",
                    "--jobs",
                    "--target",
                    "--verbose",
                    "-v",
                    "--quiet",
                    "-q",
                    "--locked",
                    "--offline",
                    "--frozen",
                    "--workspace",
                    "--doc",
                    "--test",
                    "-D",
                    "warnings",
                    "--open",
                    "--no-deps",
                ],
                args: vec![".", "src/lib.rs", "main", "test_", "--", "-D", "warnings"],
            },
            // Docker commands
            CommandTemplate {
                base: "docker",
                variants: vec![
                    "run",
                    "build",
                    "pull",
                    "push",
                    "ps",
                    "images",
                    "exec",
                    "stop",
                    "start",
                    "rm",
                    "rmi",
                    "logs",
                    "inspect",
                    "network",
                    "volume",
                    "compose",
                    "system",
                    "container",
                    "image",
                ],
                flags: vec![
                    "-it",
                    "-d",
                    "--rm",
                    "-v",
                    "-p",
                    "-e",
                    "--name",
                    "-f",
                    "--build-arg",
                    "--no-cache",
                    "--tag",
                    "-t",
                    "-a",
                    "--all",
                    "--force",
                    "-q",
                    "--quiet",
                    "--follow",
                    "-n",
                    "--tail",
                ],
                args: vec![
                    ".",
                    "ubuntu",
                    "alpine",
                    "rust",
                    "python",
                    "node",
                    "postgres",
                    "redis",
                    "nginx",
                    "/bin/bash",
                    "/bin/sh",
                ],
            },
            // Make commands
            CommandTemplate {
                base: "make",
                variants: vec![
                    "", "all", "build", "test", "clean", "install", "check", "lint", "format",
                    "coverage", "bench", "docs", "release", "deploy", "dev", "run", "watch",
                    "help",
                ],
                flags: vec!["-j", "-j4", "-j8", "-k", "-B", "-n", "--dry-run", "-f"],
                args: vec![],
            },
            // NPM/Node commands
            CommandTemplate {
                base: "npm",
                variants: vec![
                    "install", "run", "test", "start", "build", "publish", "init", "ci", "audit",
                    "outdated", "update", "ls", "link", "unlink", "pack", "version", "cache",
                    "config", "exec",
                ],
                flags: vec![
                    "--save",
                    "--save-dev",
                    "-D",
                    "-g",
                    "--global",
                    "--force",
                    "--legacy-peer-deps",
                    "--production",
                    "--no-save",
                ],
                args: vec!["dev", "build", "test", "lint", "start", "watch"],
            },
            // Python commands
            CommandTemplate {
                base: "python",
                variants: vec!["", "-m", "-c"],
                flags: vec!["-m", "-c", "-u", "-O", "-B", "-v", "--version", "-h"],
                args: vec![
                    "pip",
                    "pytest",
                    "black",
                    "mypy",
                    "ruff",
                    "flask",
                    "django",
                    "uvicorn",
                    "gunicorn",
                    "http.server",
                    "venv",
                    "json.tool",
                ],
            },
            CommandTemplate {
                base: "pip",
                variants: vec![
                    "install",
                    "uninstall",
                    "freeze",
                    "list",
                    "show",
                    "search",
                    "download",
                    "wheel",
                    "check",
                    "config",
                    "cache",
                ],
                flags: vec![
                    "-r",
                    "--requirements",
                    "-e",
                    "--editable",
                    "-U",
                    "--upgrade",
                    "--user",
                    "--no-cache-dir",
                    "-q",
                    "--quiet",
                    "-v",
                    "--verbose",
                ],
                args: vec!["requirements.txt", ".", "-e", "."],
            },
            // Kubernetes
            CommandTemplate {
                base: "kubectl",
                variants: vec![
                    "get",
                    "describe",
                    "apply",
                    "delete",
                    "create",
                    "edit",
                    "logs",
                    "exec",
                    "port-forward",
                    "rollout",
                    "scale",
                    "top",
                    "config",
                    "cluster-info",
                    "version",
                    "api-resources",
                ],
                flags: vec![
                    "-n",
                    "--namespace",
                    "-f",
                    "--filename",
                    "-o",
                    "json",
                    "yaml",
                    "wide",
                    "-l",
                    "--selector",
                    "-A",
                    "--all-namespaces",
                    "-w",
                    "--watch",
                    "--tail",
                    "-c",
                    "--container",
                    "-it",
                ],
                args: vec![
                    "pods",
                    "services",
                    "deployments",
                    "configmaps",
                    "secrets",
                    "nodes",
                    "namespaces",
                    "ingress",
                    "pvc",
                    "events",
                ],
            },
            // Terraform
            CommandTemplate {
                base: "terraform",
                variants: vec![
                    "init",
                    "plan",
                    "apply",
                    "destroy",
                    "validate",
                    "fmt",
                    "state",
                    "import",
                    "output",
                    "refresh",
                    "workspace",
                ],
                flags: vec![
                    "-auto-approve",
                    "-var",
                    "-var-file",
                    "-target",
                    "-lock",
                    "-input",
                    "-out",
                    "-state",
                    "-backend-config",
                ],
                args: vec![],
            },
            // AWS CLI
            CommandTemplate {
                base: "aws",
                variants: vec![
                    "s3",
                    "ec2",
                    "lambda",
                    "iam",
                    "cloudformation",
                    "ecs",
                    "eks",
                    "rds",
                    "dynamodb",
                    "sqs",
                    "sns",
                    "cloudwatch",
                ],
                flags: vec![
                    "--profile",
                    "--region",
                    "--output",
                    "json",
                    "table",
                    "text",
                    "--query",
                    "--filter",
                ],
                args: vec![
                    "ls",
                    "cp",
                    "sync",
                    "rm",
                    "describe-instances",
                    "list-functions",
                ],
            },
            // Common Unix commands
            CommandTemplate {
                base: "ls",
                variants: vec![""],
                flags: vec!["-la", "-l", "-a", "-lh", "-R", "-t", "-S", "-r", "-1"],
                args: vec![".", "..", "~", "/tmp", "/var/log", "src/", "*.rs"],
            },
            CommandTemplate {
                base: "cd",
                variants: vec![""],
                flags: vec!["-"],
                args: vec!["..", "~", "-", "/tmp", "src", "target", "docs", ".."],
            },
            CommandTemplate {
                base: "grep",
                variants: vec![""],
                flags: vec![
                    "-r",
                    "-n",
                    "-i",
                    "-l",
                    "-v",
                    "-E",
                    "-P",
                    "-w",
                    "-c",
                    "--include",
                    "--exclude",
                    "-A",
                    "-B",
                    "-C",
                ],
                args: vec!["TODO", "FIXME", "error", "warn", "fn ", "pub ", "impl "],
            },
            CommandTemplate {
                base: "find",
                variants: vec![""],
                flags: vec![
                    "-name",
                    "-type",
                    "-mtime",
                    "-size",
                    "-exec",
                    "-delete",
                    "-print",
                    "-maxdepth",
                    "-mindepth",
                ],
                args: vec![".", "*.rs", "*.py", "*.js", "*.md", "f", "d"],
            },
            // Rust tools
            CommandTemplate {
                base: "rustup",
                variants: vec![
                    "update",
                    "default",
                    "target",
                    "component",
                    "toolchain",
                    "show",
                    "self",
                    "doc",
                    "run",
                    "which",
                    "override",
                ],
                flags: vec!["add", "remove", "list", "--help"],
                args: vec![
                    "stable",
                    "nightly",
                    "beta",
                    "wasm32-unknown-unknown",
                    "x86_64-unknown-linux-gnu",
                    "clippy",
                    "rustfmt",
                    "rust-src",
                ],
            },
        ]
    }
}
