Local-first LLM model deprecation watchdog — scans your configs, alerts on sunsets, and instructs your IDE to update.
Project description
Chowkidar
Local-first LLM model deprecation watchdog.
Chowkidar scans your project configs for LLM model strings, cross-references them against a local deprecation registry, and alerts you before models sunset — via desktop notifications and IDE rules that instruct AI assistants to update deprecated models automatically.
Everything runs on your machine. Zero data exfiltration.
Quick Start
pip install chowkidar
# First-time setup (initializes config + database)
chowkidar setup --skip-slm
# Fetch deprecation data from providers
chowkidar sync
# Scan your project
chowkidar scan .
# Check for deprecated models
chowkidar check .
Features
- Multi-format scanning:
.env, YAML, TOML, JSON, Python, JavaScript, TypeScript - Provider coverage: OpenAI, Anthropic, Google, Mistral (extensible plugin architecture)
- IDE rules (zero-config): Auto-generates rules files for Cursor, Claude Code, VS Code/Copilot, Windsurf
- MCP server: Interactive tools for querying deprecation status from your IDE
- Desktop notifications: Threshold-based alerts (90d, 30d, 7d, sunset)
- Background daemon: Periodic scanning with OS-native service installation
- Local SLM: Optional Ollama integration for parsing unstructured deprecation announcements
- Safe updates: File locking, atomic writes, automatic backups, dry-run mode
- Cross-platform: macOS, Linux, Windows
Commands
chowkidar setup [--skip-slm] # Initialize config, DB, and optional SLM
chowkidar scan [PATH] # Scan for model strings
chowkidar sync # Fetch deprecation data
chowkidar check [PATH] # Check for deprecated models
chowkidar status # Show daemon status and watched projects
chowkidar watch <PATH> # Register project for monitoring
chowkidar unwatch <PATH> # Unregister project
chowkidar pin <MODEL> [--reason] # Suppress alerts for a model
chowkidar unpin <MODEL> # Re-enable alerts
chowkidar snooze <MODEL> --days # Temporarily suppress alerts
chowkidar daemon # Start background daemon
chowkidar install-service # Install OS-native service
chowkidar mcp # Start MCP server (for IDE)
chowkidar config [KEY] [VALUE] # View/set configuration
chowkidar update [--dry-run] # Update deprecated models in .env
chowkidar rules write [PATH] # Generate IDE rules files
chowkidar rules clean [PATH] # Remove generated rules files
chowkidar slm status # Check SLM availability
IDE Integration
Automatic Rules (Recommended)
Chowkidar writes rules files that AI assistants auto-discover — no configuration needed. If standard desktop notifications about model deprecation are ignored or snoozed, Chowkidar acts as your ultimate fallback: it auto-updates your editor's rules to ensure your AI model knows to update the deprecated model automatically.
| Editor | Rules File |
|---|---|
| Cursor | .cursor/rules/chowkidar-alerts.mdc |
| Claude Code | .claude/rules/chowkidar-alerts.md |
| VS Code/Copilot | .github/copilot-instructions.md |
| Windsurf | .windsurfrules |
Run chowkidar rules write or let the daemon do it automatically.
MCP Server (Advanced)
Add to your IDE's MCP config:
{
"mcpServers": {
"chowkidar": {
"command": "chowkidar",
"args": ["mcp"]
}
}
}
Configuration
Config file: ~/.chowkidar/config.toml
| Key | Default | Description |
|---|---|---|
auto_update |
false |
Allow automatic .env modifications |
write_rules |
true |
Generate IDE rules files |
gitignore_rules |
true |
Add rules files to .gitignore |
slm_enabled |
false |
Use local SLM for parsing |
slm_model |
gemma3:1b |
Ollama model for SLM |
scan_interval_hours |
4 |
How often to scan watched projects |
sync_interval_hours |
24 |
How often to fetch provider data |
Security
- Zero exfiltration: No env content, API keys, or paths leave your machine
- Read-only by default: File modification requires explicit
auto_update = true - Atomic writes: All modifications use temp file +
os.replace - Automatic backups:
.env.chowkidar.bakcreated before any change - File locking: Prevents concurrent write corruption
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chowkidar-0.1.0.tar.gz.
File metadata
- Download URL: chowkidar-0.1.0.tar.gz
- Upload date:
- Size: 698.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34816846b30469fafad5f6725f05ca965ef53246a47a2ea1b9aab0ef40c81602
|
|
| MD5 |
48840e40b4176a9ee09a59fd32f1ce33
|
|
| BLAKE2b-256 |
ed0c0611ae3e412cb435e929f9e9b57e459301ab31348f73ecb0dd13ade4385f
|
File details
Details for the file chowkidar-0.1.0-py3-none-any.whl.
File metadata
- Download URL: chowkidar-0.1.0-py3-none-any.whl
- Upload date:
- Size: 68.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ea68aa63ab5c374e619f98e772d573e0eef180fdd45602b9b323c26f39e128b
|
|
| MD5 |
4539dbc712dfe23eea8af6e4af57c9dd
|
|
| BLAKE2b-256 |
354808f8e127701a4a5e32d2f40f0a45ca97c2a595383ca7386bc1ff2f8d9981
|