Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions SCHEMA.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ Two `PreToolUse` hooks point the engine at the `watches/` directory — one for
"hooks": [
{
"type": "command",
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches"
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py\" \"${CLAUDE_PLUGIN_ROOT}/watches\""
}
]
},
Expand All @@ -218,7 +218,7 @@ Two `PreToolUse` hooks point the engine at the `watches/` directory — one for
"hooks": [
{
"type": "command",
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches"
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py\" \"${CLAUDE_PLUGIN_ROOT}/watches\""
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ These describe how the current implementation satisfies the spec. They are
pure-Python YAML parser (no PyYAML dependency). The parser supports inline
list syntax (`['.ps1', '.psm1']`) for the top-level `extensions` field.
- The hook command line is
`python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches`,
`python3 "${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py" "${CLAUDE_PLUGIN_ROOT}/watches"`,
invoked from two `PreToolUse` matchers: `Bash|Monitor` and `Write|Edit`.
- The ambient-guidance emission ([HK-04]) is a second SessionStart hook,
`hooks/emit-rules.sh`, which prints a `# Ambient rules from the ClaudeWatch
Expand Down
6 changes: 3 additions & 3 deletions hooks/hooks.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"hooks": [
{
"type": "command",
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches"
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py\" \"${CLAUDE_PLUGIN_ROOT}/watches\""
}
]
},
Expand All @@ -15,7 +15,7 @@
"hooks": [
{
"type": "command",
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches"
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py\" \"${CLAUDE_PLUGIN_ROOT}/watches\""
}
]
}
Expand All @@ -25,7 +25,7 @@
"hooks": [
{
"type": "command",
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/emit-rules.sh"
"command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/emit-rules.sh\""
}
]
}
Expand Down
6 changes: 3 additions & 3 deletions hooks/hooks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
hooks:
- event: PreToolUse
matcher: Bash|Monitor
command: 'python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches'
command: 'python3 "${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py" "${CLAUDE_PLUGIN_ROOT}/watches"'
description: Screens the shell command against the watch rules before it runs. Monitor is included because it runs its command in the same shell as Bash.
- event: PreToolUse
matcher: Write|Edit
command: 'python3 ${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py ${CLAUDE_PLUGIN_ROOT}/watches'
command: 'python3 "${CLAUDE_PLUGIN_ROOT}/scripts/watchdog.py" "${CLAUDE_PLUGIN_ROOT}/watches"'
description: Screens the code Claude writes to disk against the watch rules before it lands.
- event: SessionStart
command: 'bash ${CLAUDE_PLUGIN_ROOT}/hooks/emit-rules.sh'
command: 'bash "${CLAUDE_PLUGIN_ROOT}/hooks/emit-rules.sh"'
description: Emit ClaudeWatch's ambient guidance into context.
2 changes: 1 addition & 1 deletion skills/rules/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ rules:

### 9. Verify

Run `bash ${CLAUDE_PLUGIN_ROOT}/tests/test-watchdog.sh`. If tests fail, explain which
Run `bash "${CLAUDE_PLUGIN_ROOT}/tests/test-watchdog.sh"`. If tests fail, explain which
rule caused the failure and offer to fix or revert.

If any rules were added, note that the test file has no coverage for them yet
Expand Down
Loading