npx claudepluginhub ancplua/ancplua-claude-plugins --plugin dotnet-architecture-lintDefined in hooks/hooks.json
{
"PreToolUse": [
{
"if": "Edit(*.csproj) || Edit(*.props) || Write(*.csproj) || Write(*.props) || Edit(*Directory.Packages.props) || Write(*Directory.Packages.props)",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/precheck-dotnet",
"timeout": 5,
"statusMessage": "Checking .NET architecture constraints..."
}
],
"matcher": "Write|Edit"
}
],
"SessionStart": [
{
"once": true,
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/bin/inject-dotnet-rules",
"timeout": 5,
"statusMessage": "Loading .NET architecture rules..."
}
]
}
]
}"Intercepts PreToolUse on Edit tools with message to use edit_file or edit_symbol instead, avoiding prior file reads. Runs Node.js script on SessionStart for startup/clear/compact. Involves file writes."