{"repo":"iannuttall/changes","free":true,"listed":false,"github":"https://github.com/iannuttall/changes","clone":"git clone https://github.com/iannuttall/changes.git","description":"A TUI to track changes to web pages, feeds, and APIs with readable diffs and optional AI summaries.","language":"TypeScript","stars":57,"topics":["change-detection","monitoring","self-hosted","website-monitor"],"license":"MIT","category":"analytics","readme_excerpt":"Changes is a self‑hosted content change monitor with a TUI. Track pages, feeds, and APIs; get readable diffs and optional AI summaries. Webpages • Markdown • JSON • XML/Atom Readable diffs • AI summaries • Notifications Quick Start Requirements: Bun 1.3+, SQLite (bundled with Bun), a shell. Clone and install: Setup env and database: Run the service and TUI (local dev): Features - Monitors: webpages, APIs (JSON), Markdown, XML/Atom feeds - HTML→Markdown conversion for stable diffing - AI summaries (optional) - Provider: Droid CLI (no API keys) or AI SDK (Anthropic/OpenAI/Google) - Configure in TUI → Settings (provider/model, verify keys) - Notifications: Telegram - TUI over SSH; API is local and used only by the TUI - SQLite storage; easy to run on a small VPS - Parallel background checks with per‑monitor locking - 5 MB max fetch size (oversize pages are skipped) - Retention defaults: keep last 20 snapshots and 20 changes per monitor (adjust in TUI → Settings → Retention) TUI Overview Start: - Monitors: Add → List → Detail → Link notification channel - Settings: Choose AI provider/model, verify keys, enable/disable summaries - Controls: ↑/↓ to navigate, Enter to select, ESC/← to go back, q to quit Local Development Deployed to a VPS Create and deploy in one flow: Prompts include: - Hetzner API key - Server name - Region - Server size - Install path - Login key (SSH key) - GitHub auto‑deploy (optional) After it finishes: - The app runs on the server. - On your computer, open th","default_branch":null,"files":null,"tree":[],"storefront":"/r/iannuttall","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/iannuttall/changes/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}