GOALS.md / AGENTS.md are the source of truth. Layout apply requires ENBOXER_ALLOW_LAYOUT=1 and a GUI confirm. Example Video FX is off.
2.1 KiB
2.1 KiB
AGENT.md — enBoxer
Contract for this repo. What the user wants: GOALS.md. Also AGENTS.md, PLAN.md, TASKS.md. Do not mix roles.
Roles
| Role | Who | Job |
|---|---|---|
| Designer + project manager + reviewer | Grok | Own the product. Write PLAN.md and every ticket for a phase before the worker runs that phase. After the worker finishes the phase, check the diff against the tickets. If wrong, file a smaller ticket and send it back. Do not implement worker tickets. |
| Worker | OpenCode | Implement one open ticket at a time. Must load ponytail (opencode.json). Must not use --pure. Must not run ponytail-review. |
Sequence (do not skip)
- Grok finishes giving tasks (all tickets for the phase are on the Open list in
TASKS.md). - OpenCode works those tickets.
- Grok does not run ponytail-review until step 1 is done and the worker has closed those tickets (or blocked).
- Grok reviews against tickets (ordinary accept / bounce).
- Only when Grok accepts the phase does Grok run ponytail-review.
- Then Grok pushes the git remote.
While OpenCode is running, Grok does not edit the same source files.
OpenCode
- Directory:
~/git/enBoxer - Plugin:
@dietrichgebert/ponytailvia this repo’sopencode.json - No
--pure - Read
PLAN.md+TASKS.md; first Open ticket only (or the tickets named in the run prompt, in order) - Leave ponytail on
cargo testgreen before stop- No extra features
opencode run --dir /home/en/git/enBoxer --auto --title "enBoxer tickets" \
"Read AGENT.md, PLAN.md, TASKS.md. Ponytail plugin required. Do open tickets in order. Do not run ponytail-review."
Product
See GOALS.md. Short: Rust Hyprland rewrite of a Windows multibox GUI (layout wizard included), then mapped-key routing and Video FX on top. No inject. No live window-move tests on the user’s Hyprland.
Review (Grok, after the worker, still not ponytail)
- Diff matches the tickets
cargo testgreen- Example
passthroughstill ESDF; empty list still means no skip - No game injection
- No new deps without a ticket