feat(discovery): add watchlist mode for targeted repo sweeps#18
feat(discovery): add watchlist mode for targeted repo sweeps#18SDS-Mike wants to merge 1 commit intotang-vu:mainfrom
Conversation
Adds a `watchlist` field to `DiscoveryConfig` and a new `contribai watchlist` CLI command that iterates a configured list of specific repositories, running the targeted analysis pipeline on each. This enables using ContribAI as an automated code reviewer for your own repos — populate `discovery.watchlist` with "owner/repo" entries and schedule `contribai watchlist` via cron for continuous code quality sweeps without relying on search-based discovery. Changes: - Add `watchlist: Vec<String>` to `DiscoveryConfig` (serde default: empty) - Add `Watchlist` variant to CLI `Commands` enum with `--dry-run` flag - Implement watchlist handler: validates entries, iterates repos, runs `run_targeted()` on each, aggregates findings/PR counts, handles errors gracefully per-repo without aborting the sweep - Update `config.example.yaml` with watchlist documentation and examples Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Thanks for the contribution @SDS-Mike! The Watchlist mode is a great bridge between single I reviewed the code and the approach is solid. There are a few things to fix before we can merge: 🔴 Blocking
🟡 Minor
✅ Looks Good
Once you fix the rebase + fmt, this should be good to go! 🚀 |
1 similar comment
|
Thanks for the contribution @SDS-Mike! The Watchlist mode is a great bridge between single I reviewed the code and the approach is solid. There are a few things to fix before we can merge: 🔴 Blocking
🟡 Minor
✅ Looks Good
Once you fix the rebase + fmt, this should be good to go! 🚀 |
|
Merged! I resolved the merge conflicts and ran cargo fmt on your behalf. Thanks for the great contribution @SDS-Mike! 🚀 |
Summary
watchlistfield toDiscoveryConfig— a list of"owner/repo"strings for repos you want to sweep regularlycontribai watchlistCLI command that iterates the watchlist, runningrun_targeted()on each repo--dry-runfor analysis-only modeMotivation
ContribAI's existing
targetcommand works great for single repos, andhuntmode discovers repos via GitHub search. But there's a gap: running ContribAI against your own repos on a schedule.With
watchlist, you can:Then schedule
contribai watchlistvia cron for continuous automated code review across your portfolio — security scans, code quality, docs — without relying on discovery.Test plan
contribai watchlistwith empty watchlist shows helpful config instructionscontribai watchlist --dry-runiterates repos and reports findings without submitting PRs/) are skipped with a warning🤖 Generated with Claude Code