wiff AGENTS.md

Project instructions for wiff, a Rust tool for viewing, annotating, and saving code reviews. A code review is the process of examining proposed code changes for problems and improvements.

In plain words
What is it for?
Use them when changing wiff's terminal interface, review sessions, command-line interface, Rust crates, or tests.
Why use it?
They tell coding agents how the project is organised, how to build and test it, and which quality checks must pass.

Instructions file for CodexOpenCode

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 instructions/wez/wiff/agents-md
Clone the repo
git clone --depth 1 https://github.com/wez/wiff

Made for: Codex, OpenCode.

Per session 568 This file is loaded in full into every session.
When invoked 568 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.00568 $0.00568
Opus 5 $0.00284 $0.00284
Sonnet 5 $0.00114 $0.00114
Haiku 4.5 $0.00057 $0.00057

Measured 2d ago against content hash f7b6588f0d45, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

wiff AGENTS.md 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 2d ago.

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.

AGENTS.md · 53 lines

How it starts

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

Project Overview

wiff is a terminal-centric diff and code-review utility: it captures a diff, lets you browse and annotate it with syntax highlighting, and persists the review as a local session that both a human (via the TUI) and an agent (via CLI and a skill) can read and write concurrently. The binary is wiff.

The design reference is docs/spec.md.

Build Commands

make check        # Quick syntax check (cargo check)
make build        # Build all binaries
make lint         # Clippy, with warnings promoted to errors
make test         # Full test suite (cargo nextest run)
make fmt          # Format all code (cargo +nightly fmt)
  • to rustfmt directly use cargo +nightly fmt
  • to run tests directly use cargo nextest run as it is faster than cargo test.
  • make lint promotes clippy warnings to errors. Every checkpoint must be clippy-clean: never leave or ignore a warning, even a pre-existing one. If a warning is genuinely not worth fixing, suppress it deliberately with a justified #[allow(...)] rather than letting it ride.

Code Structure

  • Rust crates are found in the crates directory, and are linked into the workspace members list.
  • Cargo.toml workspace.members must be kept in alphabetical order
  • workspace dependencies are used throughout.
  • Cargo.toml dependencies are always kept in alphabetical order
  • Prefer to use the anyhow.workspace = true form when adding a dependency to a crate

Coding Conventions

  • Always preserve existing comments when modifying code; both doc comments and inline comments.
  • Except in tests, avoid .unwrap() and panic!. Prefer to propagate errors using the ? operator when in a function that returns a Result. If a panic is unavoidable, use .expect("REASON WHY") instead of a bare .unwrap().
  • In tests, always assert on the full rendered output a human would see -- never examine a substring or a single field in isolation. Do not use str.contains("something") or other "keyhole" checks; examine the full value. Prefer wince::snapshot! or wince::assert_eq! for value comparisons.
  • If a test has unstable/variable output (eg: temporary file paths), preprocess the string to replace the known temporary path with a constant like TMPDIR before asserting.
  • When adding use imports, place them in a block at the top of the file (or at the top of the mod), organized by the formatter.

Read the full file on GitHub · 53 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. 2d ago First seen · 53 lines · 568 tokens per session scan A f7b6588f0d45

Subscribe to this mod's changes

wiff AGENTS.md is an instructions file published in the GitHub repository wez/wiff (108 stars, last pushed 24d ago), licensed Apache-2.0. It adds 568 tokens to every session, about $0.0028 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.