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}