feat(cli): rename mcp_config asset category to mcp-config with snake_case alias

This commit is contained in:
2026-08-28 12:22:21 -06:00
parent 772c19f2bd
commit 544a6bbbbc
4 changed files with 55 additions and 6 deletions
+41
View File
@@ -590,12 +590,33 @@ mod tests {
parse(&["--install-builtins", "agents"]).install_builtins,
Some(AssetCategory::Agents)
);
assert_eq!(
parse(&["--install-builtins", "mcp-config"]).install_builtins,
Some(AssetCategory::McpConfig)
);
assert_eq!(
parse(&["--install-builtins", "mcp_config"]).install_builtins,
Some(AssetCategory::McpConfig)
);
}
#[test]
fn mcp_config_canonical_value_is_kebab_case() {
use clap::ValueEnum;
let category = AssetCategory::McpConfig.to_possible_value().unwrap();
assert_eq!(category.get_name(), "mcp-config");
assert!(category.get_name_and_aliases().any(|n| n == "mcp_config"));
assert!(AssetCategory::NAMES.contains(&"mcp-config"));
assert!(!AssetCategory::NAMES.contains(&"mcp_config"));
let filter = InstallFilter::McpConfig.to_possible_value().unwrap();
assert_eq!(filter.get_name(), "mcp-config");
assert!(filter.get_name_and_aliases().any(|n| n == "mcp_config"));
assert!(InstallFilter::NAMES.contains(&"mcp-config"));
assert!(!InstallFilter::NAMES.contains(&"mcp_config"));
}
#[test]
fn parse_install_builtins_conflicts_with_install() {
assert!(
@@ -633,6 +654,26 @@ mod tests {
parse(&["--install", "https://github.com/x/y", "--filter", "agents"]).filter,
Some(InstallFilter::Agents)
);
assert_eq!(
parse(&[
"--install",
"https://github.com/x/y",
"--filter",
"mcp-config"
])
.filter,
Some(InstallFilter::McpConfig)
);
assert_eq!(
parse(&[
"--install",
"https://github.com/x/y",
"--filter",
"mcp_config"
])
.filter,
Some(InstallFilter::McpConfig)
);
}
#[test]
+4
View File
@@ -4158,6 +4158,10 @@ mod tests {
classify_install_target("agents", &owned_names(&["agents"])),
InstallTarget::Category(AssetCategory::Agents)
);
assert_eq!(
classify_install_target("mcp-config", &[]),
InstallTarget::Category(AssetCategory::McpConfig)
);
assert_eq!(
classify_install_target("mcp_config", &[]),
InstallTarget::Category(AssetCategory::McpConfig)
+6 -6
View File
@@ -407,12 +407,12 @@ pub enum AssetCategory {
Macros,
Functions,
Skills,
#[value(name = "mcp_config")]
#[value(name = "mcp-config", alias = "mcp_config")]
McpConfig,
}
impl AssetCategory {
pub const NAMES: [&'static str; 5] = ["agents", "macros", "functions", "skills", "mcp_config"];
pub const NAMES: [&'static str; 5] = ["agents", "macros", "functions", "skills", "mcp-config"];
pub fn parse(name: &str) -> Option<Self> {
match name {
@@ -420,7 +420,7 @@ impl AssetCategory {
"macros" => Some(Self::Macros),
"functions" => Some(Self::Functions),
"skills" => Some(Self::Skills),
"mcp_config" => Some(Self::McpConfig),
"mcp-config" | "mcp_config" => Some(Self::McpConfig),
_ => None,
}
}
@@ -439,7 +439,7 @@ pub enum InstallFilter {
Skills,
Macros,
Functions,
#[value(name = "mcp_config")]
#[value(name = "mcp-config", alias = "mcp_config")]
McpConfig,
}
@@ -450,7 +450,7 @@ impl InstallFilter {
"skills",
"macros",
"functions",
"mcp_config",
"mcp-config",
];
pub fn parse(name: &str) -> Option<Self> {
@@ -460,7 +460,7 @@ impl InstallFilter {
"skills" => Some(Self::Skills),
"macros" => Some(Self::Macros),
"functions" => Some(Self::Functions),
"mcp_config" => Some(Self::McpConfig),
"mcp-config" | "mcp_config" => Some(Self::McpConfig),
_ => None,
}
}
+4
View File
@@ -7871,6 +7871,10 @@ mod tests {
AssetCategory::parse("functions"),
Some(AssetCategory::Functions)
);
assert_eq!(
AssetCategory::parse("mcp-config"),
Some(AssetCategory::McpConfig)
);
assert_eq!(
AssetCategory::parse("mcp_config"),
Some(AssetCategory::McpConfig)