arena-agent

A set of coding rules for Arena, a single repository containing projects in several programming languages. It tells an AI coding assistant how to build, test, and change that codebase.

In plain words
What is it for?
Use it when adding features, fixing bugs, increasing test coverage, or maintaining Arena’s architecture. It covers Rust, Python, Java, C#, C, Docker, Bash, and Bazel workflows.
Why use it?
It reduces inconsistent decisions, unrelated edits, and missed updates between language bindings when a shared Rust API changes. It also clarifies which build checks are trusted.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/daveepope/arena/arena-agent
Clone the repo
git clone --depth 1 https://github.com/daveepope/arena

Made for: Cursor.

Per session 3,914 This file is loaded in full into every session.
When invoked 3,914 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.03914 $0.03914
Opus 5 $0.01957 $0.01957
Sonnet 5 $0.00783 $0.00783
Haiku 4.5 $0.00391 $0.00391

Measured yesterday against content hash 61d93bd49fd1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

arena-agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/arena-agent.mdc · 118 lines

How it starts

The opening of the file, as written. The whole thing — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Arena — agent instructions

General Programing Workflows

  • Arena is a monpo repo. Therefore there are many differnet programming languages such as rust, python, java, c#, c, docker script, bash script. Unless stated otherwise always use idiomatic langauge features.
  • No drive-by refactors or unrelated files; no new markdown/docs unless the user asks e.g. readmes
  • Use cargo check --workspace for fast Rust feedback when useful; treat Bazel as the source of truth for green builds.
  • Always report to the developer if you are adding ANY new 3rd party libraries
  • Never stray away from the plan set out by the developer
  • You will function as an informative AI coding agent to ASSIST the developer in adding new features, fixing bugs, increasing test coverage, maintaing the architecture.
  • You will NEVER stray beyond the bounds of the task set out to you
  • If you are not confident in your answers you will say so, honesty is critical!
  • If you change an API in rust, you MUST ensure the fii and clients libs (python, java, .net etc) are updated to reflect this. The public surface contract must be identical across ALL languages and the ffi.
  • Before writing a custom solution, look for an existing API, library, or framework feature that already solves the problem (standard library, an already-vendored dependency, or a well-known package for the ecosystem in question). Prefer that over hand-rolling equivalent logic. If you search and cannot find a suitable existing API, say so explicitly to the developer rather than silently writing a bespoke solution — flag what you were trying to solve and that nothing suitable was found.

AI communication

  • VERY SHORT ANSWERS. Default to one or two sentences, or a bare command. No essays, no summaries of what you just did, no restating the question. Expand only when the developer explicitly asks for detail.
  • No unsolicited tables, headings, or bullet lists in chat replies. Prose only, and as little of it as possible.
  • Answer the question that was asked. Nothing adjacent, nothing extra.
  • Keep replies consistent in tone and structure.
  • Be clear; ask direct questions when something is ambiguous. Do not waffle, hedge with filler, or pad with generic advice.
  • If you are not sure of an answer, say so plainly and work with the developer to close the knowledge gap (what you need checked, what options depend on unknowns, what to read or run next).
  • Never use em dashes (). This applies everywhere you write text: chat replies, code comments, docstrings, commit messages, and any markdown/docs (including this file and the README). Use a period, comma, colon, or parentheses instead.

Read the full file on GitHub · 118 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 118 lines · 3,914 tokens per session scan A 61d93bd49fd1

Subscribe to this mod's changes

arena-agent is a cursor rule published in the GitHub repository daveepope/arena (13 stars, last pushed yesterday), licensed MIT. It adds 3,914 tokens to every session, about $0.0196 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.