project-patternslisted
Install: claude install-skill sefaertunc/anthropic-watch
# Project Patterns — anthropic-watch
## Architecture Overview
Single-process Node.js pipeline invoked by a GitHub Actions cron. No services, no orchestration, no database. See `docs/ARCHITECTURE.md` for the definitive description; this is the working summary.
```
GitHub Actions cron (06:00 UTC)
→ node src/cli.js
→ runPipeline() src/index.js
→ loadState() state/last-seen.json
→ build scraper tasks src/sources.js
→ runWithConcurrency(tasks, 4) Promise.allSettled
→ per-scraper:
scraper(source) src/scrapers/{type}.js
→ fetchSource(url, opts, fx) src/fetch-source.js
→ fetchWithRetry() src/fetch-with-retry.js
→ diff vs. knownIds isNew / markSeen
→ accumulate + dedup + sort + slice src/feed/{json,rss,opml}.js
→ write public/feeds/* 100 all-items, 50 per source
→ write run-report.json + history
→ saveState()
→ git commit state + deploy public/ to gh-pages
```
## Directory Layout
```
src/
cli.js Entry point — calls runPipeline()
index.js Orchestrator — concurrency, aggregation, feed writes
sources.js All source configs — add entries here to monitor new things
state.js State I/O + per-source success/failure tracking
fetch-source.js fetch