//! Pre-built capability packages for VAPORA agents. //! //! A capability package bundles everything needed to deploy a domain-optimized //! agent without manual configuration: system prompt, MCP tool list, LLM model //! preferences, and task-type classification hints. //! //! # Quick Start //! //! ```rust //! use vapora_capabilities::CapabilityRegistry; //! //! // 1. Create the registry with all built-ins //! let registry = CapabilityRegistry::with_built_ins(); //! //! // 2. Activate a capability → produces an AgentDefinition //! let def = registry.activate("code-reviewer").unwrap(); //! //! // 3. Use the definition to instantiate an AgentMetadata in the coordinator //! assert_eq!(def.role, "code_reviewer"); //! assert!(def.system_prompt.is_some()); //! ``` //! //! # Built-in Capabilities //! //! | ID | Role | Purpose | //! |----|------|---------| //! | `code-reviewer` | `code_reviewer` | Security and correctness-focused code review | //! | `doc-generator` | `documenter` | Technical documentation generation | //! | `pr-monitor` | `monitor` | Pull request health and merge readiness | //! //! # Customization via TOML //! //! Override built-in settings or add custom capabilities through a TOML file: //! //! ```toml //! [[override]] //! id = "code-reviewer" //! preferred_model = "claude-sonnet-4-6" //! //! [[custom]] //! id = "db-optimizer" //! display_name = "Database Optimizer" //! description = "Analyzes and optimizes SQL queries" //! agent_role = "db_optimizer" //! task_types = ["db_optimization"] //! system_prompt = "You are a database expert..." //! mcp_tools = ["file_read", "code_search"] //! preferred_provider = "claude" //! preferred_model = "claude-sonnet-4-6" //! max_tokens = 4096 //! temperature = 0.2 //! priority = 65 //! parallelizable = true //! ``` //! //! Then apply via [`CapabilityLoader`]: //! //! ```rust,no_run //! use vapora_capabilities::{CapabilityRegistry, CapabilityLoader}; //! //! let registry = CapabilityRegistry::with_built_ins(); //! CapabilityLoader::load_and_apply("config/capabilities.toml", ®istry).unwrap(); //! ``` pub mod built_in; pub mod capability; pub mod loader; pub mod registry; pub use capability::{Capability, CapabilitySpec, CustomCapability}; pub use loader::{CapabilityConfig, CapabilityLoader, CapabilityOverride, LoaderError}; pub use registry::{CapabilityError, CapabilityRegistry};