From 07a6ddd5db52134126ea67499b61b97ea8b9daa7 Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sun, 30 Nov 2025 08:41:06 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 11 ++++ README.md | 3 ++ hooks/hooks.json | 104 +++++++++++++++++++++++++++++++++++++ plugin.lock.json | 45 ++++++++++++++++ 4 files changed, 163 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 hooks/hooks.json create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..4558f26 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,11 @@ +{ + "name": "iterm2-titles", + "description": "Updates iTerm2 window title with Claude Code status indicators showing current activity (working, editing files, running commands, etc.)", + "version": "0.18.0", + "author": { + "name": "Craig Motlin" + }, + "hooks": [ + "./hooks" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..174fc84 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# iterm2-titles + +Updates iTerm2 window title with Claude Code status indicators showing current activity (working, editing files, running commands, etc.) diff --git a/hooks/hooks.json b/hooks/hooks.json new file mode 100644 index 0000000..8d9a3d1 --- /dev/null +++ b/hooks/hooks.json @@ -0,0 +1,104 @@ +{ + "description": "Update iTerm2 window title with Claude Code status indicators", + "hooks": { + "UserPromptSubmit": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-iterm-title-python.sh \"✻\"", + "timeout": 500 + } + ] + } + ], + "Stop": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-iterm-title-python.sh \"✓\"", + "timeout": 500 + } + ] + } + ], + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/persist-iterm-tab.sh", + "timeout": 500 + }, + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-iterm-title-python.sh \"○\"", + "timeout": 500 + }, + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/start-tab-monitor.sh", + "timeout": 500 + } + ] + } + ], + "Notification": [ + { + "matcher": "permission_prompt|elicitation_dialog", + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-iterm-title-python.sh \"?\"", + "timeout": 500 + } + ] + } + ], + "PreCompact": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-iterm-title-python.sh \"⌫\"", + "timeout": 500 + } + ] + } + ], + "PreToolUse": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-for-tool-hook.sh", + "timeout": 500 + } + ] + } + ], + "PostToolUse": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/update-iterm-title-python.sh \"✻\"", + "timeout": 500 + } + ] + } + ], + "SessionEnd": [ + { + "hooks": [ + { + "type": "command", + "command": "${CLAUDE_PLUGIN_ROOT}/scripts/stop-tab-monitor.sh", + "timeout": 500 + } + ] + } + ] + } +} diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..8aa086e --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:motlin/claude-code-plugins:plugins/iterm2-titles", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "579db1ac81b2638165fab6fa3c14ced084babc10", + "treeHash": "c014dd3395e0d22e8ca0a323ca8409e971151bfd59121014cb070699ed992846", + "generatedAt": "2025-11-28T10:27:09.474980Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "iterm2-titles", + "description": "Updates iTerm2 window title with Claude Code status indicators showing current activity (working, editing files, running commands, etc.)", + "version": "0.18.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "dbdb2d51a57402e2ff8efee1fde3b2296d5baab8eeb155fbd32c13c39b5e3780" + }, + { + "path": "hooks/hooks.json", + "sha256": "e005493468d4af7aeed5827ae267e2cc75f1e2926a97d933ffffe5bd9718832c" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "f88773254da58ddd2c7098503d56e8d2627997d5992459564aeafccea6a7dd45" + } + ], + "dirSha256": "c014dd3395e0d22e8ca0a323ca8409e971151bfd59121014cb070699ed992846" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file