feat: make /afk command and permission hook globally available
Changed from per-project to global installation by default, making InnerVoice features available across all projects automatically. Global Installation: - /afk slash command now in ~/.claude/commands/afk.md - Permission hook now in ~/.claude/hooks/PermissionRequest.sh - Both work in ALL projects without per-project setup Install Script Updates: - Added --global flag for global installation (recommended) - Still supports per-project installation if needed - Clear scope indication in output messages - Updated uninstall instructions for both scopes Documentation: - Updated README to recommend global installation - Added examples for both global and per-project setup - Clearer uninstall instructions for each scope Benefits: - Users install once, works everywhere - No per-project configuration needed - Easier maintenance and updates - Consistent behavior across all projects Breaking Changes: None - Per-project installation still supported - Existing installations continue to work 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Install the InnerVoice permission notification hook in a project
|
||||
# Install the InnerVoice permission notification hook globally or per-project
|
||||
|
||||
set -e
|
||||
|
||||
@@ -7,12 +7,22 @@ HOOK_NAME="PermissionRequest.sh"
|
||||
INNERVOICE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
SOURCE_HOOK="$INNERVOICE_DIR/hooks/$HOOK_NAME"
|
||||
|
||||
# Get target project directory (default to current directory)
|
||||
TARGET_DIR="${1:-.}"
|
||||
TARGET_HOOK_DIR="$TARGET_DIR/.claude/hooks"
|
||||
# Check for --global flag
|
||||
if [ "$1" = "--global" ] || [ "$1" = "-g" ]; then
|
||||
TARGET_HOOK_DIR="$HOME/.claude/hooks"
|
||||
SCOPE="globally (all projects)"
|
||||
UNINSTALL_CMD="rm ~/.claude/hooks/$HOOK_NAME"
|
||||
else
|
||||
# Get target project directory (default to current directory)
|
||||
TARGET_DIR="${1:-.}"
|
||||
TARGET_HOOK_DIR="$TARGET_DIR/.claude/hooks"
|
||||
SCOPE="in project: $TARGET_DIR"
|
||||
UNINSTALL_CMD="rm $TARGET_HOOK_DIR/$HOOK_NAME"
|
||||
fi
|
||||
|
||||
echo "📦 Installing InnerVoice Permission Notification Hook"
|
||||
echo ""
|
||||
echo "Scope: $SCOPE"
|
||||
echo "Source: $SOURCE_HOOK"
|
||||
echo "Target: $TARGET_HOOK_DIR/$HOOK_NAME"
|
||||
echo ""
|
||||
@@ -35,4 +45,4 @@ echo ""
|
||||
echo "🔔 Now when you're in AFK mode, you'll get Telegram notifications"
|
||||
echo " whenever Claude requests permission for a tool."
|
||||
echo ""
|
||||
echo "To uninstall: rm $TARGET_HOOK_DIR/$HOOK_NAME"
|
||||
echo "To uninstall: $UNINSTALL_CMD"
|
||||
|
||||
Reference in New Issue
Block a user