remyxai CLI | Runs in: your repo’s GitHub Actions

- Surfaces new work relevant to your repo from the sources Remyx indexes, ranked against what your team has actually shipped.
- Validates fit against your real codebase — is there a call site, and is the change architecturally aligned (a refactor, a new technique, an upgrade)?
- Drafts the most actionable candidate into a reviewable PR, wired into an existing module with code and tests.
- Files an Issue instead for ideas worth watching that aren’t a clean fit yet, or that need input from the team or the source.
Human-reviewed by design. Outrider proposes changes as draft PRs and Issues, but every decision to merge remains with your team.
Quickstart
Either path provisions the workflow and fires the first run. A draft PR or Issue lands in minutes.From the CLI
--auto-interest creates a Research Interest from the repo; drop it and pass --interest <uuid> to use an existing one. If the GitHub App isn’t installed yet, the command prints the install link.
No GitHub App? setup-local provisions with your own authenticated gh CLI instead; PRs then come from your account, not remyx-ai[bot]. (details)
From the UI

Identity and install
Either path pins the marketplace action atremyxai/outrider@v1. A same-repo install needs no github-token — the action self-mints a remyx-ai[bot] App token at runtime. Commits land authored by remyx-ai[bot] and show as Verified.
You can also converse with a run by mentioning @remyx-ai on the PR or Issue; replies are read-only — see Deep Research.
How it works
A run has two stages. The Remyx engine ranks a candidate pool server-side, then Outrider validates candidates against a clone of your repo and decides what to open. Ranking. The pool is ranked from three inputs: your interest’s context, your team’s shipping history (extracted from the merge log), and a learned preference model. Candidates that match the direction your team has shipped rank above topically similar ones. Validation and decision. A high relevance score does not mean a candidate is implementable; the top-ranked paper often has no call site in your repo. A selection pass checks each candidate against the codebase (code search and file reads) and picks the most implementable; if none fit, the run skips. Filters that do not call the model run first, so a run that cannot produce a useful result exits before any LLM cost. Each run ends in one of three outcomes: a draft PR, an Issue, or a skip.Draft PR
The candidate integrates into an existing call site and passes the validators (tests, stub density, reachability). Outrider opens a draft PR with code and tests.
Discussion Issue
The candidate is relevant but not directly implementable (no call site, too many stubs, or unreachable code). Outrider opens an Issue with the attempted diff.
Skip
No candidate cleared the confidence, dedup, or fit gates. No artifact is created; the run records a status.
Refinement-pass chain
Whenchain is true (the default), opening a draft PR isn’t the end of the run. Outrider keeps going in the same run and walks the draft through three phases before it asks for review:
1
Fidelity
Diffs the draft against the paper’s reference implementation and emits a coverage matrix — what the diff covers, what it defers, and where it deviates from the source. When no public reference exists, it anchors the audit against the arXiv abstract instead; that’s lower precision and the PR body says so.
2
Convention
Rewrites the PR body to the repo’s canonical PR template, folds Outrider’s own scaffolding into a collapsible Discovery context block, and applies contributor conventions learned from recent merged PRs. Runs
ruff auto-fix and force-pushes the result as the bot.3
Test
Runs lint plus a focused
pytest on the touched files. On a pass it flips the draft to ready-for-review; on failure the PR stays a draft for you to take over.mode: issue-convention folds an Issue body to the repo’s ISSUE_TEMPLATE shape.
Each phase reports its own Action output so you can gate downstream steps on them:
Set
chain: false to stop after the first draft — Outrider opens the PR exactly as it first wrote it and runs none of the phases above. That’s the cheaper recommend-only mode.
Configuration
The defaults are conservative; most repos only touchinterest-id and the schedule.
Guardrails
Outrider constrains what the agent may change so a draft PR is reviewable:- Allowed:
*.pyanywhere,**/*.md, and the.remyx-recommendation/**spec bundle (scrubbed before commit). - Always blocked by file role (block list wins):
.github/**, Dockerfiles, shell scripts, and dependency/build manifests (requirements*.txt,pyproject.toml,setup.py, lockfiles). - Edit-size caps: ≤50 net lines per edit to an existing file, ≤3 new
.pyfiles per run, and at least one new function/class must be invoked from another changed file (an import alone doesn’t count).
Costs
You bring your ownANTHROPIC_API_KEY, so Claude Code usage is billed to you:
- Claude Code: a full PR-route run with the inline chain is about $5–6. Recommend-only (
chain: false) is $1–2. A run that skips after the selection pass costs less still — it reads the repo to verify fit, then exits. - GitHub Actions: ~6–8 min on
ubuntu-latestper run. - Remyx API: included in your subscription.
cost_usd, input_tokens, and output_tokens as Action outputs. Routing the coding agent at a cheaper backend with model-base-url lowers this (and turns the reported cost into an estimate).
Weekly digest
Run a second weekly cron withmode: weekly-summary and a weekly-discussion-id input to post a 7-day digest to a GitHub Discussion: outcomes, verified costs, license distribution, and open Issues with their next actions. It requires the discussions: write permission and costs about $0.10–0.20/week.
Run outcomes
Every run ends in astatus in the Action log. The common ones:
The full status-code set is in the action’s README.
Reviewing an Outrider PR
Treat it like a first-pass proposal from a teammate:- Read the self-review in the PR body — what the integration covers and what it left out.
- Run the diff and tests locally; the action runs
pytest+ an integration check, but your full suite is the real bar. - Decide — merge, push follow-ups, or close. With the GitHub integration connected, linking the PR to a Remyx experiment syncs its status automatically.
Related
Feed
Research Interests and the recommendations Outrider draws from
Connectors
The Remyx GitHub App and the
remyx-ai[bot] identityOutrider on GitHub
Action source, inputs, and full status-code reference