← ClaudeAtlas

project-patternslisted

Pipeline architecture, directory layout, naming, error philosophy, and the end-to-end pattern for adding a source
sefaertunc/anthropic-watch · ★ 1 · AI & Automation · score 67
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