|
| 1 | +# Example .noidle configuration for CLI Watcher |
| 2 | +# |
| 3 | +# This file shows all available configuration options. |
| 4 | +# For minimal config, see .noidle.minimal (just 'enabled: true' is enough!) |
| 5 | +# |
| 6 | +# Place this file in your project directory, or in $HOME/.noidle |
| 7 | +# You can also set CLI_WATCHER_CONFIG environment variable to specify a custom path. |
| 8 | +# |
| 9 | +# NOTE: Comments (lines starting with #) are part of YAML syntax and work fine. |
| 10 | +# Copy any section below directly into your .noidle file. |
| 11 | + |
| 12 | +enabled: true |
| 13 | +checkPeriod: 30 # How often to check for active processes (accepts: 30, 30s, etc.) |
| 14 | +activityWindow: 25m # How long to wait for activity from interactive processes |
| 15 | +gracePeriod: 5m # All processes prevent idling when this young |
| 16 | +maxProcessAge: 6h # Safety limit to prevent indefinite idling prevention |
| 17 | + |
| 18 | +watchedCommands: |
| 19 | + # Simple string format (backward compatible) |
| 20 | + # These commands always prevent idling when running (unless auto-detected as interactive) |
| 21 | + - helm |
| 22 | + - odo |
| 23 | + - kubectl |
| 24 | + |
| 25 | + # Object format with explicit interactive mode control |
| 26 | + - name: claude |
| 27 | + interactive: true # Force interactive (check for user input activity) |
| 28 | + |
| 29 | + - name: vim |
| 30 | + interactive: auto # Auto-detect based on foreground + TTY read behavior |
| 31 | + |
| 32 | + # Long-running build/deploy commands that should always prevent idling |
| 33 | + - name: npm |
| 34 | + interactive: false # Force non-interactive (always prevent idling) |
| 35 | + |
| 36 | + - name: docker |
| 37 | + interactive: no # Same as 'false' |
| 38 | + |
| 39 | + # Sleep is useful for testing but normally excluded |
| 40 | + - name: sleep |
| 41 | + interactive: false |
| 42 | + |
| 43 | +# Interactive mode options: |
| 44 | +# - auto: Auto-detect (foreground + has read from TTY → interactive, otherwise → work process) |
| 45 | +# - true/yes: Force interactive (always check for user input activity) |
| 46 | +# - false/no: Force non-interactive work process (always prevent idling, default) |
| 47 | +# |
| 48 | +# Global settings: |
| 49 | +# - activityWindowSeconds: How long to wait for input from interactive processes (default: 1500 = 25 min) |
| 50 | +# - gracePeriodSeconds: All processes prevent idling when younger than this (default: 300 = 5 min) |
| 51 | +# - checkPeriodSeconds: How often to scan for processes (default: 60 = 1 min) |
| 52 | +# |
| 53 | +# Unconfigured commands: |
| 54 | +# - Auto-detected as interactive or work process during grace period |
| 55 | +# - After grace period: interactive processes checked for activity, work processes always prevent idling |
| 56 | +# |
| 57 | +# Always-ignored commands (never prevent idling): |
| 58 | +# - tail, watch, top, htop (passive monitoring tools) |
| 59 | +# These are always ignored even if explicitly listed in watchedCommands. |
0 commit comments