Skip to main content

file-watcher

Configure file watching hooks to auto-react to config changes, env file updates, and dependency modifications. Use to set up reactive workflows.

Quellinformationen

Repository
rohitg00/pro-workflow
Letzte Quellaktivität
18. Juli 2026 um 11:22
Erkannte Sprache von SKILL.md
Englisch
Sterne
2.929
Forks
299

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
file-watcher
description
Configure file watching hooks to auto-react to config changes, env file updates, and dependency modifications. Use to set up reactive workflows.
user-invocable
true
# File Watcher Use Claude Code's `FileChanged` and `CwdChanged` hooks to create reactive workflows that respond to file system changes. ## Trigger Use when: - Setting up auto-reload for config changes - Watching for dependency updates - Monitoring build output - Creating reactive development workflows ## How File Watching Works Claude Code's `SessionStart` and `CwdChanged` hooks support returning `watchPaths` to register file watchers. The current `cwd-changed.js` script focuses on env injection; to add watch registration, your hook script must output this JSON structure: ```json { "hookSpecificOutput": { "hookEventName": "SessionStart", "watchPaths": [ "/absolute/path/to/.env", "/absolute/path/to/package.json" ] } } ``` When watched files change, the `FileChanged` hook fires with: ```json { "hook_event_name": "FileChanged", "file_path": "/path/to/changed/file", "event": "change" } ``` ## Environment Injection `CwdChanged` and `FileChanged` hooks can write to `CLAUDE_ENV_FILE` to inject environment variables into subsequent Bash commands: ```bash echo "export PROJECT_TYPE=node" >> "$CLAUDE_ENV_FILE" echo "export TEST_CMD='npm test'" >> "$CLAUDE_ENV_FILE" ``` ## Common Watch Patterns ### Watch .env for Changes ```javascript const envFile = path.join(projectRoot, '.env'); if (fs.existsSync(envFile)) { output.hookSpecificOutput = { hookEventName: 'SessionStart', watchPaths: [envFile] }; } ``` ### Watch package.json for Dependency Changes Detect when dependencies change and remind to run `npm install`. ### Watch tsconfig.json for Config Changes Remind to restart TypeScript checks when config changes. ## Setup Add to hooks.json: ```json { "FileChanged": [{ "matcher": ".env|package.json|tsconfig.json", "hooks": [{ "type": "command", "command": "node scripts/file-changed.js" }] }] } ``` ## Rules - Use absolute paths for watchPaths (required by Claude Code) - Matcher uses pipe-separated filenames - Watcher uses 500ms stability threshold and 200ms poll interval - Keep file-changed handlers fast (<5s) to avoid blocking - Use `CLAUDE_ENV_FILE` for injecting env vars, not direct export
Auf GitHub ansehen