Skip to main content

cargo_adk/
pattern.rs

1//! Enterprise pattern definitions for the composable scaffolding engine.
2//!
3//! Patterns are pre-composed combinations of a base template plus addons,
4//! targeting production use cases.
5
6use crate::template::AgentCodeFragments;
7
8/// A pre-composed combination of template + addons for production use cases.
9#[derive(Debug, Clone)]
10pub struct EnterprisePattern {
11    /// Pattern name used in CLI (e.g., "production", "chatbot").
12    pub name: &'static str,
13    /// Human-readable description.
14    pub description: &'static str,
15    /// The base agent template this pattern builds on.
16    pub base_template: &'static str,
17    /// Addons automatically included in this pattern.
18    pub included_addons: Vec<&'static str>,
19    /// Override the default feature set (if `Some`, replaces union logic).
20    pub override_features: Option<Vec<&'static str>>,
21    /// Optional code fragments that override or extend the base template.
22    pub code_fragments: Option<AgentCodeFragments>,
23}