claude-code: test plugin collisions

Cover duplicate personal-plugin directory names and collisions between managed plugins and configured skills.
This commit is contained in:
Austin Horstman 2026-07-09 22:09:33 -05:00
parent 5c7199cd3b
commit 437ae5be42
2 changed files with 30 additions and 0 deletions

View file

@ -0,0 +1,29 @@
{ config, ... }:
let
plugin = ./test-plugin;
pluginDirName = baseNameOf (toString plugin);
in
{
programs.claude-code = {
enable = true;
package = config.lib.test.mkStubPackage {
name = "claude-code";
version = "2.1.157";
buildScript = ''
mkdir -p $out/bin
touch $out/bin/claude
chmod 755 $out/bin/claude
'';
};
plugins = [
plugin
plugin
];
skills.${pluginDirName} = "test skill";
};
test.asserts.assertions.expected = [
"`programs.claude-code.plugins` entries must resolve to unique personal-plugin directory names"
"`programs.claude-code.skills` and managed plugins must have unique directory names"
];
}

View file

@ -7,6 +7,7 @@
claude-code-mcp-lsp = ./mcp-lsp.nix;
claude-code-mcp-integration = ./mcp-integration.nix;
claude-code-assertion = ./assertion.nix;
claude-code-collision-assertions = ./collision-assertions.nix;
claude-code-context-inline = ./memory-management.nix;
claude-code-context-path = ./memory-from-source.nix;
claude-code-rules-dir = ./rules-dir.nix;