You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/repo-assist.md
+61-38Lines changed: 61 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
>
5
5
> [Blog Post by @dsyme](https://dsyme.net/2026/02/25/repo-assist-a-repository-assistant/)
6
6
7
-
The [Repo Assist workflow](../workflows/repo-assist.md?plain=1) is a friendly repository assistant that runs daily to support contributors and maintainers. It can also be triggered on-demand via `/repo-assist <instructions>` to perform specific tasks. It triages issues, comments helpfully, fixes bugs via pull requests, proposes improvements, maintains its own PRs, nudges stale PRs, manages labels, prepares releases, welcomes new contributors, and maintains a monthly activity summary for maintainer visibility.
7
+
The [Repo Assist workflow](../workflows/repo-assist.md?plain=1) is a friendly repository assistant that runs daily to support contributors and maintainers. It can also be triggered on-demand via `/repo-assist <instructions>` to perform specific tasks. Each run it selects two tasks via a weighted random draw based on live repo data — heavily favouring issue labelling and triage when the backlog is large, then shifting to engineering, testing, and forward progress as the backlog clears. It maintains a monthly activity summary for maintainer visibility.
8
8
9
9
## Installation
10
10
@@ -22,65 +22,86 @@ This walks you through adding the workflow to your repository.
The workflow operates through ten coordinated tasks each run:
42
+
Each run a deterministic pre-step fetches live repo data (open issues, unlabelled issues, open PRs) and computes a **weighted probability** for each task. Two tasks are selected and printed in the workflow logs, then communicated to the agent via prompting. The weights adapt naturally: when unlabelled issues are high, labelling dominates; when there are many open issues, commenting and fixing dominate; as the backlog clears, engineering and forward-progress tasks draw more evenly.
46
43
47
-
### Task 1: Triage and Comment on Open Issues
44
+
### Task 1: Issue Labelling
48
45
49
-
Repo Assist reviews open issues and comments **only when it has something genuinely valuable to add**. It identifies issue types (bug reports, feature requests, questions) and provides helpful responses while avoiding noise. It processes up to 30 issues per run and saves its position so each run continues from where the last one left off, systematically covering the entire backlog over time. It also re-engages with issues when new human comments have been added since its last response.
46
+
Default weighting: dominates when the label backlog is large.
50
47
51
-
### Task 2: Fix Issues via Pull Requests
48
+
Applies appropriate labels to unlabelled issues and PRs based on content analysis. Removes misapplied labels. Conservative and confident — only applies labels it is sure about.
52
49
53
-
When it finds a fixable bug, Repo Assist implements a minimal, surgical fix, runs build and tests, and creates a draft PR. All PRs include a Test Status section showing build/test results.
50
+
### Task 2: Issue Investigation and Comment
54
51
55
-
### Task 3: Study the Codebase and Propose Improvements
52
+
Default weighting: scales with backlog size.
56
53
57
-
Repo Assist identifies improvement opportunities like documentation gaps, test coverage, and code clarity. It proposes only clearly beneficial, low-risk changes.
54
+
Repo Assist reviews open issues and comments **only when it has something genuinely valuable to add**. It processes issues oldest-first using a memory-backed cursor, prioritising issues that have never received a Repo Assist comment. It also re-engages when new human comments appear.
58
55
59
-
### Task 4: Update Dependencies and Engineering
56
+
### Task 3: Issue Investigation and Fix
60
57
61
-
Periodically (at most weekly), Repo Assist checks for dependency updates and engineering improvements, creating PRs for beneficial changes. It also bundles multiple open Dependabot PRs into a single consolidated update PR that applies all compatible updates together.
58
+
Default weighting: scales with backlog size.
62
59
63
-
### Task 5: Maintain Repo Assist Pull Requests
60
+
When it finds a fixable bug or clearly actionable issue, Repo Assist implements a minimal, surgical fix, runs build and tests, and creates a draft PR. Can work on issues it has previously commented on. All PRs include a Test Status section.
61
+
62
+
### Task 4: Engineering Investments
63
+
64
+
Default weighting: steady baseline with issue-count bias.
65
+
66
+
Dependency updates, CI improvements, tooling upgrades, SDK version bumps, and build system improvements. Bundles multiple Dependabot PRs into a single consolidated update where possible.
67
+
68
+
### Task 5: Coding Improvements
69
+
70
+
Default weighting: steady baseline.
71
+
72
+
Studies the codebase and proposes clearly beneficial, low-risk improvements: code clarity, dead code removal, API usability, documentation gaps, duplication reduction.
73
+
74
+
### Task 6: Maintain Repo Assist PRs
75
+
76
+
Default weighting: only meaningful when open PRs exist.
64
77
65
78
Keeps its own PRs healthy by fixing CI failures and resolving merge conflicts. Uses `push_to_pull_request_branch` to update PR branches directly.
66
79
67
-
### Task 6: Stale PR Nudges
80
+
### Task 7: Stale PR Nudges
81
+
82
+
Default weighting: scales with non-Repo-Assist PR count.
83
+
84
+
Politely nudges PR authors when their PRs have been waiting 14+ days for a response. Maximum 3 nudges per run, never nags the same PR twice.
85
+
86
+
### Task 8: Performance Improvements
87
+
88
+
Default weighting: steady baseline.
68
89
69
-
Politely nudges PR authors when their PRs have been waiting 14+ days for response. Maximum 3 nudges per run, never nags the same PR twice.
Applies appropriate labels (`bug`, `enhancement`, `help wanted`, `good first issue`) to unlabeled issues and PRs based on content analysis. Conservative and confident.
94
+
Default weighting: steady baseline.
74
95
75
-
### Task 8: Release Preparation
96
+
Improves test quality and coverage: missing tests for existing functionality, flaky tests, slow tests, test infrastructure. Avoids low-value tests that just inflate coverage numbers.
76
97
77
-
Weekly, checks for unreleased changes and proposes release PRs with updated changelogs. Follows SemVer - never proposes major bumps without approval.
98
+
### Task 10: Take the Repository Forward
78
99
79
-
### Task 9: Welcome New Contributors
100
+
Default weighting: steady baseline.
80
101
81
-
Greets first-time contributors with a warm welcome message, pointing them to README and CONTRIBUTING docs. Maximum 3 welcomes per run.
102
+
Proactively moves the repository forward — considers the goals and aims of the repo, implements backlog features, investigates difficult bugs, drafts plans and proposals, or charts out future work. Work may span multiple runs; Repo Assist checks memory for anything in progress and continues before starting something new.
82
103
83
-
### Task 10: Monthly Activity Summary
104
+
### Task 11: Monthly Activity Summary
84
105
85
106
Every run, Repo Assist updates a rolling monthly activity issue that gives maintainers a single place to see all activity and suggested actions.
86
107
@@ -95,6 +116,8 @@ Every run, Repo Assist updates a rolling monthly activity issue that gives maint
95
116
-**AI transparency**: Every output includes robot emoji disclosure
96
117
-**Anti-spam**: Never posts repeated or follow-up comments to itself; re-engages only when new human comments appear
97
118
-**Build, format, lint, and test verification**: Runs any code formatting, linting, and testing checks configured in the repository before creating PRs; never creates PRs with failing builds or lint errors caused by its changes
119
+
-**Release preparation**: Uses judgement each run to assess whether a release is warranted — no dedicated release task; proposes release PRs on its own initiative when appropriate
120
+
-**Good contributor etiquette**: Warmly welcomes first-time contributors and points them to README and CONTRIBUTING as a normal part of good behaviour
0 commit comments