parley-cli 0.2.0

Terminal-first review tool for AI-generated code changes
Documentation
#[derive(Debug, Clone, Copy)]
pub struct ParleyDoc {
    pub title: &'static str,
    pub slug: &'static str,
    pub source_path: &'static str,
    pub uri: &'static str,
    pub body: &'static str,
}

pub const PARLEY_DOCS: &[ParleyDoc] = &[
    ParleyDoc {
        title: "Keybindings",
        slug: "keybindings",
        source_path: "docs/keybindings.md",
        uri: "parley://docs/keybindings",
        body: include_str!("../docs/keybindings.md"),
    },
    ParleyDoc {
        title: "Overview",
        slug: "overview",
        source_path: "docs/overview.md",
        uri: "parley://docs/overview",
        body: include_str!("../docs/overview.md"),
    },
    ParleyDoc {
        title: "Quickstart",
        slug: "quickstart",
        source_path: "docs/quickstart.md",
        uri: "parley://docs/quickstart",
        body: include_str!("../docs/quickstart.md"),
    },
    ParleyDoc {
        title: "Workflow",
        slug: "review-workflow",
        source_path: "docs/review-workflow.md",
        uri: "parley://docs/review-workflow",
        body: include_str!("../docs/review-workflow.md"),
    },
    ParleyDoc {
        title: "MCP",
        slug: "mcp",
        source_path: "docs/mcp.md",
        uri: "parley://docs/mcp",
        body: include_str!("../docs/mcp.md"),
    },
];

#[must_use]
pub fn find_doc(value: &str) -> Option<&'static ParleyDoc> {
    let normalized = value.trim();
    PARLEY_DOCS.iter().find(|doc| {
        doc.uri == normalized
            || doc.slug == normalized
            || doc.source_path == normalized
            || doc.title.eq_ignore_ascii_case(normalized)
    })
}