AGENTS.md · git:20260613.37061dc · 2026-06-13 · sha256 a4de807db0405daf

AGENTS.md git:20260613.37061dcA

Immutable. This exact content never changes and is served at /api/v1/blob/a4de807db0405daf.

# AGENTS.md — Iris

Orientation and tool manifest for AI agents working in this repo. Pairs with `CLAUDE.md`
(rules) and `dev-dev-skills/` (depth).

## Orient before you explore

1. Read `CLAUDE.md` for the non-negotiables and the skills index.
2. Read `plan/README.md` for the product design (then the specific `plan/0N-*.md` for your area).
3. Read `GRAPH_REPORT.md` (if present, from Graphify) before grepping across packages.
4. Open the one `dev-skills/*.md` that matches your task — don't reread all of them.

## The codebase in one breath

TypeScript pnpm+turbo monorepo. `@syrin/iris-protocol` is the shared contract; `@syrin/iris-browser`
instruments a page; `@syrin/iris-server` is the bridge + MCP server; `@syrin/iris-react` maps DOM →
source file; `apps/demo` is the dogfood dashboard. One git repo at root. `plan/` is
gitignored research.

## Tool manifest

| Tool                                                 | Use                                                                                       |
| ---------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `pnpm build / lint / typecheck / test:unit / format` | The quality gates — run before declaring done                                             |
| `iris` (from `@syrin/iris-server`, M0+)              | Start the bridge + MCP server                                                             |
| Graphify                                             | Knowledge graph per package; read `GRAPH_REPORT.md` first. `/graphify packages/<pkg>/src` |
| Agentation (`agentation-mcp`)                        | Human UI annotations in the demo → agent context (complementary to Iris)                  |
| Refero                                               | Design references: `/refero <niche>` → fold tokens into `dev-skills/design.md`            |
| MCP servers                                          | Reach session-connected MCP tools via the harness                                         |

## Working rules for agents

- **Contract-first:** change `@syrin/iris-protocol` (constant + zod schema) before either side.
- **Constants-first:** add the named constants a feature needs before writing it.
- **Tests-first:** RED → GREEN → REFACTOR. Inject the clock; never read it in pure logic.
- **Stay in your lane:** `browser` is DOM-only, `server` is Node-only, `protocol` depends on
  nothing.
- **Never break the host app:** observers are additive and reversible.
- **Done = green:** `pnpm lint && pnpm typecheck && pnpm test:unit` pass, no `any`, no free
  strings, no file > 500 lines.

## Multi-agent orchestration

For broad sweeps (e.g. "audit every observer for the never-break-the-host rule" or "design
N approaches to the predicate DSL"), fan out read/verify agents per package and synthesize —
each package is an independent unit of work. Keep `@syrin/iris-protocol` changes single-threaded
(it's the shared contract; parallel edits conflict).