Local-first LLM model deprecation watchdog — scans your configs, alerts on sunsets, and instructs your IDE to update.
Project description
Chowkidar
Chowkidar is a secure, local-first LLM model deprecation watchdog. It scans your codebase and configuration files for LLM model references, cross-references them with a locally cached deprecation database, and alerts you before models sunset.
Everything runs on your machine. Zero data exfiltration.
Core Features
Chowkidar is packed with features designed to establish production-grade trust, safety, and correctness across all user-facing workflows:
1. Multi-Format Code & Config Scanner
- Scans and parses model strings in
.env, JSON, YAML, TOML,docker-compose.yml, and source code files. - Features intelligent pattern matching that normalizes model strings to canonical IDs (e.g.,
gpt-4o-2024-08-06→openai/gpt-4o-2024-08-06).
2. Local SQLite Deprecation Registry
- Maintains a local SQLite database at
.chowkidar/registry.dbwithin the project root. - Periodically syncs deprecation and sunset schedules from major providers (OpenAI, Anthropic, Google Gemini, Mistral) securely and locally.
3. Local SLM Integration (Ollama)
- Integrates with local Ollama instances (
gemma3:1b,qwen2.5:0.5b, or custom installed models). - Uses local SLM to parse complex unstructured deprecation blog posts and enrich migration recommendations (purpose, reason, risk, confidence) when models are expiring.
4. Context-Driven Use Case Classification
- Automatically analyzes file paths, variable names, and code context to classify model references into distinct use cases (
coding,agents/reasoning,embeddings/search,extraction/structured,tests/eval,chat/general).
5. Specialized Use Case Recommendations
- Suggests highly targeted alternative models tailored to your specific use case (e.g., Qwen 2.5 Coder and Claude 3.5 Sonnet for
codingtasks; DeepSeek R1 and OpenAI O1 foragents/reasoning).
6. Unified Risk & Capability Analysis
- Compares critical model capabilities (context window, max output tokens, vision, tool use, JSON mode, streaming) between old and recommended models to prevent regression.
- Provides detailed capability deltas (improved, same, degraded, gained, lost).
7. Token Cost-Difference Percentage Comparison
- Features a built-in FinOps pricing engine with baseline pricing definitions for leading open-source and commercial models.
- Dynamically calculates input/output token price variations in percentage terms, displaying clear, colored badges (e.g., "saves ~69%" or "costs ~120% more").
8. Provider Sync Status & Intelligence Summary
- Displays a comprehensive summary of provider sync health, sync freshness, and per-provider model inventory.
- Groups detected models by family, showing specific versions, detection locations, and relative timestamps ("2h ago", "3 days ago").
- Color-coded health badges per provider based on deprecation risk (green, yellow, orange, red).
9. Interactive Reports (HTML, Markdown, JSON)
- Generates beautiful, self-contained interactive HTML reports with expandable detailed panels, capability comparison grids, and cost-impact badges.
- Generates clean Markdown reports with a detailed model-by-model appendix, and structured JSON output for tool integration.
10. Background Daemon & OS-Native Services
- Periodically monitors your repositories (every 4 hours) for deprecations.
- Installs as an OS-native service (launchd on macOS, systemd on Linux, Task Scheduler on Windows) for silent background monitoring.
11. Notification-First Governance
- Fires native OS desktop alerts and webhooks (Slack, Discord, generic) at configurable thresholds (30 days, 15 days, 7 days, and 1 day before sunset).
12. Notification Deduplication & Cooldown
- Tracks
(model, project, threshold, file, variable)to avoid duplicate alerts and spam within a configurable cooldown window (default 24 hours).
13. Alert Silencing & Overrides (Pinning & Snoozing)
- Permanently suppress notifications for a specific model ID with
pin. - Temporarily mute alerts for a model ID for a specified number of days with
snooze.
14. Safe Config Updates (Atomic Writes & Backups)
- Safely auto-updates structured configuration files with atomic writes (write-to-temp +
os.replacepattern), automatic backups (.env.bak), and system-levelfilelockto prevent concurrent write corruption.
15. Deployment Signal Detector
- Analyzes repository evidence (CI, Docker, Kubernetes, Vercel, Terraform) to flag likely deployed environments, preventing blind or risky local writes.
16. Cloud Environment Adapters
- Explicit, contract-ready adapter interface designed for dry-running, updating, and verifying remote secret/config stores on Vercel, Kubernetes, AWS Secrets/SSM, GCP Secret Manager, and Azure Key Vault.
17. AI-Assistant Rules Integration
- Generates zero-config rule instructions (
.mdc,CLAUDE.md, etc.) to guide Cursor, Claude Code, Copilot, and Windsurf, enabling AI editors to auto-discover deprecation instructions.
18. Model Context Protocol (MCP) Server
- Launches a stdio-based MCP server that auto-configures itself for Cursor (
.cursor/mcp.json), VS Code (.vscode/mcp.json), Claude Code (.claude/settings.json), and Windsurf (.windsurf/mcp.json).
19. Interactive Terminal TUI Dashboard
- Launches an interactive terminal-based TUI to visualize model deprecation risk across all watched repositories.
20. CI/CD Gate Integration
- Integrates with CI/CD systems or git pre-commit hooks to block builds if critical or sunset-passed models are found.
21. Shell Warnings Hook
- Installs a lightweight shell hook that displays quick model deprecation warning alerts on directory changes (
cd).
22. Migration Testing & Output Comparison
- Executes dry-run completions on both old and new model candidates to compare prompt response outputs and prevent regressions.
23. Lifespan Prediction
- Uses historical release and sunset data to estimate the deprecation probability and lifespan of models in use.
Installation & Project Setup
# 1. Install chowkidar in your project directory
pip install chowkidar
# 2. Run the idempotent project-scoped setup
chowkidar setup
Project-Scoped Monitoring
The chowkidar setup command provides a zero-friction setup that configures everything for your project:
- Config & Database: Creates your config and database files under
.chowkidar/inside your project root. - Initial Scan & Sync: Syncs provider deprecation tables and performs an immediate first-time scan on the repository to initialize alerts. (Note: IDE rule files are generated and updated automatically by the background daemon during monitoring cycles, or manually via
chowkidar rules write).
You can customize behavior inside .chowkidar/config.toml or via the CLI:
# Change directory scan depth
chowkidar config discover_max_depth 5
Top 10 CLI Commands
Below are the 10 most relevant commands for daily use.
1. chowkidar setup
Project-scoped configuration, database initialization, provider sync, and initial repository scan.
2. chowkidar sync
Fetches and updates the local deprecation registry from providers.
3. chowkidar scan
Locates all LLM model references within your code and configuration files.
4. chowkidar check
Cross-references detected model strings against the deprecation registry.
5. chowkidar status
Displays watched projects, sync freshness, and background daemon health.
6. chowkidar watch
Registers a project path with the background daemon for periodic scans.
7. chowkidar daemon
Starts the background monitoring loop (sends alerts at 30, 15, 7, and 1 day before expiry).
8. chowkidar update
Previews (via --dry-run) or applies safe updates of deprecated model strings in structured configuration files (such as .env, JSON, YAML, TOML, and docker-compose.yml).
9. chowkidar mcp
Launches the stdio MCP server for active IDE-level AI assistant queries.
10. chowkidar report
Generates comprehensive Markdown, JSON, or interactive HTML reports.
See COMMANDS.md for the complete reference containing all available CLI commands.
Editor Integration
Passive AI Rules (Zero-Config)
AI editors auto-discover instructions in your project workspace. Chowkidar outputs non-destructive rule tables:
- Cursor:
.cursor/rules/chowkidar-alerts.mdc - Claude Code:
.claude/rules/chowkidar-alerts.md - VS Code / Copilot:
.github/copilot-instructions.md - Windsurf:
.windsurfrules
MCP Server (Active)
Configure the stdio MCP server in your IDE's configuration file:
{
"mcpServers": {
"chowkidar": {
"command": "chowkidar",
"args": ["mcp"]
}
}
}
Security & Local Safety
- Privacy First: No code, project paths, keys, or configurations are ever sent to external APIs.
- Safe Writes: Modifying configuration files requires setting
auto_update = truein your config. Every update atomic-writes via a temp file and saves a.chowkidar.bakfile for automatic rollback. - Concurrent-Safe: Uses system-level
filelockto protect files from concurrent daemon/CLI writes.
License
MIT
Project details
Release history Release notifications | RSS feed
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.9.2.tar.gz.
File metadata
- Download URL: chowkidar-0.9.2.tar.gz
- Upload date:
- Size: 214.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6135d07e004996d21e30afe80244bafca393593baab7dafe2eb117c0ba3baf42
|
|
| MD5 |
56b9453bc8d779f297136b42528a1110
|
|
| BLAKE2b-256 |
4db1b96f192e6b36f45999e8b8ccd2235b5ab08420e7c2d402e5d9c043590f99
|
File details
Details for the file chowkidar-0.9.2-py3-none-any.whl.
File metadata
- Download URL: chowkidar-0.9.2-py3-none-any.whl
- Upload date:
- Size: 122.9 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 |
152d7d08aaf3e02e2a7dca7898919f7d21b06a8a43eb3024d032d8712661a629
|
|
| MD5 |
67c590885a70b05e4f7400ebb0f821a2
|
|
| BLAKE2b-256 |
1179a17fed3cc16580df5fda11fb3ae9abbfce0e5ca39aa00a47599f64aa02c6
|