chore: bootstrap Mavis agent team for the repo - #16
Conversation
Add a root AGENTS.md (open agents.md standard) and a .harness/
Mavis multi-agent team so any AI coding agent opening this repo
gets canonical setup / layout / style / test / PR conventions, and
the orchestrator can route work to the right specialist.
AGENTS.md
- canonical commands (install, dev, build, test, lint, typecheck,
i18n check)
- project layout (src/, electron/, native helpers, docs/, tests/)
- code style (TS strict, Biome 2.4, tabs, 100-col, double quotes)
- testing (Vitest + Playwright)
- PR/commit conventions, security notes
.harness/
- agent.md orchestrator (routes incoming work)
- reins/
openscreen-dev generalist implementer
openscreen-tester Vitest + Playwright specialist
openscreen-reviewer PR quality gate
- docs/ architecture overview, git workflow
- hooks/ pre-commit (Biome + tsc + Vitest),
post-commit (push/review reminder)
- memory/ durable team facts
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reached
More reviews will be available in 4 minutes and 56 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis PR bootstraps a complete Mavis multi-agent harness for the OpenScreen repo. It adds a canonical ChangesMavis harness configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
AGENTS.md (1)
32-32: 🧹 Nitpick | 🔵 Trivial | 💤 Low valueMinor clarity improvement: explicit coexistence language.
Line 32 states "Husky + lint-staged runs Biome..." which is correct but could be more explicit about the layering. Consider: "Husky with lint-staged applies Biome..." or "Biome is applied via Husky + lint-staged..." to avoid ambiguity about whether they are a single component.
This is a nitpick on an otherwise clear line. Low urgency.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@AGENTS.md` at line 32, On line 32 of AGENTS.md, the text states "Husky + lint-staged runs Biome..." but this phrasing creates ambiguity about whether these are separate components or one unified tool. Rephrase this section to be more explicit about the layering, such as by using "applies," "via," or "with" to clarify that Biome is a tool that is applied through the Husky and lint-staged pipeline. The goal is to make it unambiguous that Husky, lint-staged, and Biome are distinct components working together in sequence.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.harness/memory/MEMORY.md:
- Around line 13-14: The heading hierarchy in the MEMORY.md file is incorrect.
The file starts with a main h1 heading, and the first subsection heading about
i18n locales (starting with "i18n: 13 locales must stay in sync") is currently
marked as h3 (three hash marks) when it should be h2 (two hash marks). Change
the three hash marks to two hash marks for the i18n subsection heading to
maintain proper markdown hierarchy after the main h1 title.
In @.harness/reins/openscreen-dev/agent.md:
- Line 18: Update line 18 in the agent.md file to replace the non-existent
directory references `.harness/docs/architecture/` and
`.harness/docs/engineering/` with actual existing documentation file paths in
the repository. Verify which specific documentation files currently exist in the
`.harness/docs/` directory and update the line to reference those actual files
(such as `.harness/docs/architecture-overview.md` or other relevant existing
files) so that developers can successfully locate and read the correct
documentation when changes touch the recording pipeline, IPC, or native bridge.
---
Nitpick comments:
In `@AGENTS.md`:
- Line 32: On line 32 of AGENTS.md, the text states "Husky + lint-staged runs
Biome..." but this phrasing creates ambiguity about whether these are separate
components or one unified tool. Rephrase this section to be more explicit about
the layering, such as by using "applies," "via," or "with" to clarify that Biome
is a tool that is applied through the Husky and lint-staged pipeline. The goal
is to make it unambiguous that Husky, lint-staged, and Biome are distinct
components working together in sequence.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 2a8f667a-afcd-43f8-92d3-fe603fe55827
📒 Files selected for processing (10)
.harness/agent.md.harness/docs/architecture-overview.md.harness/docs/git-workflow.md.harness/hooks/post-commit.md.harness/hooks/pre-commit.md.harness/memory/MEMORY.md.harness/reins/openscreen-dev/agent.md.harness/reins/openscreen-reviewer/agent.md.harness/reins/openscreen-tester/agent.mdAGENTS.md
- MEMORY.md: drop heading level one step (### -> ##) so subsections follow the h1 title correctly; update the format example to match. - openscreen-dev/agent.md: replace non-existent .harness/docs/architecture/ and .harness/docs/engineering/ subdir refs with the actual files (.harness/docs/architecture-overview.md, docs/architecture/native-bridge.md, docs/engineering/). Skipping AGENTS.md line 32 wording nitpick: the original phrasing is accurate and consistent with the rest of the file.
The bootstrap commit referenced paths that don't exist in the actual repo:
- electron/macos-helper/ and electron/windows-helper/ — actual layout is
electron/native/screencapturekit/ (Swift) and electron/native/wgc-capture/
(C++/Win32). Confirmed by directory listing and upstream main commits.
- src/locales/ — actual layout is src/i18n/locales/<locale>/. Confirmed by
scripts/i18n-check.mjs (LOCALES_DIR = path.resolve('src/i18n/locales'))
and the 13 locale subdirectories.
Fix all 6 occurrences across AGENTS.md, openscreen-dev agent.md,
openscreen-tester agent.md, and shared MEMORY.md. Also bump MEMORY.md
entry dates from 2026-06-21 (placeholder) to 2026-06-22 (actual).
|
Self-review pass against the actual repo surfaced two repeated factual errors that would mislead any AI agent reading these docs. Fixed in commit 1. Native helper paths (4 occurrences)
2. i18n locales path (4 occurrences)
Files touched: Also bumped Ready for re-review. The remaining nits from my self-review (PR description mentions |
The '## Agent team' section leaked a runtime-specific name (Mavis) into the otherwise agent-agnostic AGENTS.md standard. AGENTS.md is meant to be consumed by any AI coding agent (OpenCode, Codex, Cursor, Aider, Devin, Gemini CLI) — naming one specific runtime breaks that contract. The Mavis-side discovery still works: the reins (.harness/reins/*/agent.md) already say 'Read AGENTS.md at the repo root' as their first action, so Mavis finds AGENTS.md without needing AGENTS.md to mention Mavis back.
|
Follow-up on top of The previous version said "This repo has a Mavis multi-agent team configured in Discovery still works the other way:
New commit: |
Description
Add a root
AGENTS.md(open agents.md standard) and a.harness/Mavismulti-agent team so any AI coding agent opening this repo gets canonical
setup / layout / style / test / PR conventions, and the orchestrator can
route work to the right specialist.
AGENTS.md— canonical setup commands, project layout, code style(TS strict, Biome 2.4, tabs / 100-col / double quotes), testing
instructions (Vitest + Playwright), PR conventions, security notes.
Consumed by OpenCode, Codex, Cursor, Aider, Devin, Gemini CLI.
.harness/agent.md— orchestrator (routes incoming work)..harness/reins/— three generalists:openscreen-dev— implementeropenscreen-tester— Vitest + Playwrightopenscreen-reviewer— PR quality gate.harness/docs/— architecture overview, git workflow..harness/hooks/— pre-commit (Biome + tsc + Vitest), post-commit(push/review reminder).
.harness/memory/— durable team facts.Motivation
First-time bootstrap so future AI coding agents (including the Mavis
team) have a single canonical source of truth about how to work in
this repo. Avoids re-deriving conventions from source on every session.
Type of Change
Related Issue(s)
None.
Testing
mavis harness listafter merging to confirm theteam is picked up by the local Mavis runtime.
AGENTS.mdpasses standard agents.md lint(one file at repo root, has setup / layout / style / test sections).
Checklist
Summary by CodeRabbit