Skip to main content

systemprompt_cli/commands/build/
mod.rs

1mod core;
2mod mcp;
3pub mod types;
4
5use anyhow::{Context, Result};
6use clap::Subcommand;
7
8use crate::shared::render_result;
9use crate::CliConfig;
10
11#[derive(Debug, Clone, Copy, Subcommand)]
12pub enum BuildCommands {
13    #[command(about = "Build Rust workspace (systemprompt-core)")]
14    Core(core::CoreArgs),
15
16    #[command(about = "Build MCP extensions")]
17    Mcp(mcp::McpArgs),
18}
19
20pub fn execute(cmd: BuildCommands, config: &CliConfig) -> Result<()> {
21    match cmd {
22        BuildCommands::Core(args) => {
23            let result = core::execute(args, config).context("Failed to build core")?;
24            render_result(&result);
25            Ok(())
26        },
27        BuildCommands::Mcp(args) => {
28            let result = mcp::execute(args, config).context("Failed to build MCP extensions")?;
29            render_result(&result);
30            Ok(())
31        },
32    }
33}