{
  "markdown": "<p align=\"center\">\n  <img src=\"https://em-content.zobj.net/source/apple/391/shopping-bags_1f6cd-fe0f.png\" width=\"120\" alt=\"shopping bags\" />\n</p>\n\n<h1 align=\"center\">dealwatcherer</h1>\n\n<p align=\"center\">\n  <strong>let prices fight, you sit and watch</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/xiaojiou176-open/dealwatcherer/stargazers\"><img src=\"https://img.shields.io/github/stars/xiaojiou176-open/dealwatcherer?style=flat&color=yellow\" alt=\"Stars\"></a>\n  <a href=\"https://github.com/xiaojiou176-open/dealwatcherer/commits/main\"><img src=\"https://img.shields.io/github/last-commit/xiaojiou176-open/dealwatcherer?style=flat\" alt=\"Last Commit\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/xiaojiou176-open/dealwatcherer?style=flat\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#what-you-get\">What You Get</a> •\n  <a href=\"#install\">Install</a> •\n  <a href=\"#how-it-work\">How It Work</a> •\n  <a href=\"#ecosystem\">Ecosystem</a>\n</p>\n\n---\n\ndealwatcherer watches the products you care about across vendors, replays history, and tells you when to pull the trigger. Browser extension and dashboard included.\n\n```\n┌──────────────────────────────────────┐\n│  LOCAL-FIRST          ████████ 100%  │\n│  SOURCE-TRACEABLE     ████████ 100%  │\n│  TYPING REQUIRED      ░░░░░░░░   0%  │\n│  VIBES                ████████ ZERO  │\n│                                FILLER│\n└──────────────────────────────────────┘\n```\n\n> Track prices across vendors. Get the receipt before you check out.\n\n## What You Get\n\n| Surface | What |\n|---|---|\n| `dealwatcherer core` | Price-monitoring engine. Crawl, normalize, score, alert. |\n| `dealwatcherer frontend` | Compare-first dashboard. See the deal, not the noise. |\n| `browser extension` | Right-click any product. dealwatcherer does the rest. |\n| `dealwatcherer worker` | Scheduled checks, alembic-backed history. |\n| `public skills` | Drop into Claude/Codex/OpenClaw and let the agent shop. |\n\n> [!IMPORTANT]\n> Local-first by default. No silent telemetry. No cloud round-trip. Your data stays on your machine until you explicitly ship it somewhere.\n\n## Install\n\n```bash\ngit clone https://github.com/xiaojiou176-open/dealwatcherer.git\ncd dealwatcherer\n# follow the per-stack quickstart in INSTALL.md or docs/\n```\n\nThree commands. No `curl | sh`. No login. Read what you run.\n\nInstall break? Open your favorite agent and say *\"Read AGENTS.md and bootstrap dealwatcherer for me.\"* Agent fix own brain. Long version: [`docs/`](./docs/).\n\n## How It Work\n\nThe repo is seven layers — exactly the seven commits in `git log`. New work goes in as small named PRs. No 50-file mystery commits.\n\n| Layer | What |\n|---|---|\n| `chore: scaffold` | License, governance, hygiene gates, CI scaffolding. |\n| `feat(core)` | The primary engine. The reason dealwatcherer exists. |\n| `feat(modules)` | Packages, adapters, services, plugins. The second floor. |\n| `feat(contracts)` | Schemas, configs, public boundaries. Other code talks here. |\n| `test:` | Receipts. Everything in this layer must run. |\n| `feat(ops)` | Scripts, infra, CI helpers, build glue. |\n| `docs:` | Public docs surface. The pretty face. |\n\n`git log` reads like a building floor plan. Look once, know the whole shape.\n\n## Ecosystem\n\ndealwatcherer lives in the **yard family**: seven yards. one philosophy: structured input, structured output, structured proof.\n\n| Repo | What |\n|---|---|\n| [**switchyard**](https://github.com/xiaojiou176-open/switchyard) | model & agent runtime switch board |\n| [**browserclickyard**](https://github.com/xiaojiou176-open/browserclickyard) | your AI clicks, your browser obeys |\n| [**noteyard**](https://github.com/xiaojiou176-open/noteyard) | your Apple Notes never really die |\n| [**dealwatcherer**](https://github.com/xiaojiou176-open/dealwatcherer) *(you here)* | let prices fight, you sit and watch |\n| [**docyard**](https://github.com/xiaojiou176-open/docyard) | docs site in, markdown out, no scraping by hand |\n| [**fileyard**](https://github.com/xiaojiou176-open/fileyard) | messy folders in, organized library out |\n| [**proofyard**](https://github.com/xiaojiou176-open/proofyard) | every claim ships with its receipt |\n\nCross-family taste:\n[**BeamMe**](https://github.com/xiaojiou176-open/BeamMe) ·\n[**BrewMe**](https://github.com/xiaojiou176-open/BrewMe) ·\n[**OpenVibeCoding**](https://github.com/xiaojiou176-open/OpenVibeCoding) ·\n[**proofyard**](https://github.com/xiaojiou176-open/proofyard).\n\n## Star This Repo\n\nIf dealwatcherer saves you a click, an hour, or a headache — star costs zero. Fair trade. ⭐\n\n[![Star History Chart](https://api.star-history.com/svg?repos=xiaojiou176-open/dealwatcherer&type=Date)](https://star-history.com/#xiaojiou176-open/dealwatcherer&Date)\n\n## Also by Yifeng[Terry] Yu\n\n- **[switchyard](https://github.com/xiaojiou176-open/switchyard)** — model & agent runtime switch board\n- **[browserclickyard](https://github.com/xiaojiou176-open/browserclickyard)** — your AI clicks, your browser obeys\n- **[BeamMe](https://github.com/xiaojiou176-open/BeamMe)** — beam your agent config to any planet\n- **[BrewMe](https://github.com/xiaojiou176-open/BrewMe)** — wake up, news already brewed\n- **[OpenVibeCoding](https://github.com/xiaojiou176-open/OpenVibeCoding)** — AI codes overnight, you ship in the morning\n\n## License\n\nMIT — small print, big freedom.\n",
  "bytes": 5355,
  "sha": "f8cbbff7adeffbbfc01220326d81b2143e00b0674fd9dca4f17f740e75518600",
  "repo_slug": "xiaojiou176-open/dealwatch",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_xiaojiou176_open_dealwatch_de2ae2eb/readme"
}