Automations
Five automations run on schedule. Each can be triggered manually or toggled off individually. Managed by SchedulerService — a 60-second tick loop with per-task last-run tracking in SQLite so restarts don’t cause duplicate runs.
Schedule
Section titled “Schedule”| Time | Task | Purpose |
|---|---|---|
| 8:00 AM | Daily standup | Git activity, active errors, Jira/GitLab tickets |
| 9:00 AM | Code health check | TODOs, large files, hotspots, tech-debt trends |
| 11:00 AM | Dependency check | Outdated packages, vulnerabilities, lockfile sync |
| Every 2 hrs | Git watchdog | Uncommitted changes, stale branches, upstream drift |
| 5:00 PM | End-of-day summary | Commits, lines changed, files touched |
Daily standup
Section titled “Daily standup”Morning briefing → CodeBuddy Standup output channel. Data sources:
- Last context — your 3 most recent chat messages (truncated to 100 chars)
- Modified files — currently unsaved
- Active errors — editor diagnostics at Error severity (max 50)
- Git summary — current branch, commits last 24 h, diff stats, uncommitted (max 15)
- Jira tickets — assigned to you via
jira issue list -a me --limit 5 - GitLab issues — assigned to you via the GitLab CLI
Agent tools: standup_intelligence lets the agent ingest notes / retrieve tasks / find blockers / search history. team_graph provides collaboration analytics.
Code health check
Section titled “Code health check”Scans for tech debt indicators + tracks trends. Output → CodeBuddy Health channel.
What it checks:
- TODO / FIXME / HACK comments with file + line
- Large files over threshold (default 300 lines)
- Git hotspots — most-changed files in last 30 days (configurable min changes)
- Index freshness — is codebase analysis > 24 h old?
Trend tracking: health_snapshots SQLite table. Each run compares against previous (”↑ 3 new TODOs since last check”).
Notification: summary with Refresh Index + View Report actions.
Dependency check
Section titled “Dependency check”Auto-detects package manager (npm / yarn / pnpm). Checks:
- Wildcard versions (
*/"latest"— unreproducible builds) - Outdated packages sorted by major-version drift
- Security vulnerabilities via
npm/yarn/pnpm audit - Lockfile sync with
package.json
Notification: View Report + Run npm audit fix actions.
Git watchdog
Section titled “Git watchdog”Every 2 hours:
| Check | Trigger | Actions offered |
|---|---|---|
| Uncommitted changes | No commit in > 2 h + staged/modified files | Generate Commit Message, Open Source Control, Snooze |
| Stale branches | ≥ 3 merged branches not cleaned up | View Branches, Dismiss |
| Upstream divergence | Behind remote after fetch | Informational alert |
Protected branches (configurable) excluded from stale-branch checks.
End-of-day summary
Section titled “End-of-day summary”5:00 PM → CodeBuddy Daily Summary output channel.
Reports: current branch, commits today (since midnight), lines changed (+/-), files touched, uncommitted count, error count (editor diagnostics, max 500).
Actions: View Summary + Copy as Markdown.
Manual triggers
Section titled “Manual triggers”| Command | Fires |
|---|---|
| Trigger Daily Standup | Standup report immediately |
| Trigger Code Health Check | Health scan immediately |
| Trigger Dependency Check | Dependency audit immediately |
| Trigger Git Watchdog | Git state check immediately |
| Trigger End-of-Day Summary | Daily summary immediately |
Settings
Section titled “Settings”| Setting | Default | Purpose |
|---|---|---|
codebuddy.automations.dailyStandup.enabled | true | 8 AM standup |
codebuddy.automations.codeHealth.enabled | true | 9 AM health check |
codebuddy.automations.codeHealth.hotspotMinChanges | 3 | Min changes to flag a hotspot |
codebuddy.automations.codeHealth.largeFileThreshold | 300 | Lines threshold |
codebuddy.automations.codeHealth.maxTodoItems | 50 | Max TODOs to list |
codebuddy.automations.dependencyCheck.enabled | true | 11 AM dep check |
codebuddy.automations.gitWatchdog.enabled | true | 2-hour git watchdog |
codebuddy.automations.gitWatchdog.protectedBranches | ["main", "master", "develop", "dev", "feature/*", ...] | Branches excluded from stale check |
codebuddy.automations.endOfDaySummary.enabled | true | 5:00 PM summary |
codebuddy.standup.myName | "" | Your name (falls back to git config user.name) |
Settings UI
Section titled “Settings UI”Settings → Co-Worker shows all automations with toggles + Trigger Now buttons. Grouped:
- Morning Briefing — Daily Standup
- Codebase Pulse — Code Health + Dependency Guardian
- Git Guardian — Git Watchdog
- Daily Wrap-up — End-of-Day Summary
Scheduler internals
Section titled “Scheduler internals”Dedup: last_run_at in scheduled_tasks SQLite table. Daily tasks fire at most once per calendar day; interval tasks once per interval period.
Cleanup on deactivate: interval cleared, in-flight tasks allowed to complete (not cancelled), SQLite connection closed.