tuicommander: Instructions file for Claude Code

AGENTS.md

tuicommander AGENTS.md is an instructions file for Claude Code, Codex, OpenCode from sstraus/tuicommander. It costs 14,314 tokens per session, scanned B, original, Apache-2.0.

Project instructions for TUICommander, a terminal user interface. They define rules for keeping documentation, tests, manual-test records, and browser-based checks in sync with code changes.

In plain words
What is it for?
Use them when changing TUICommander code, APIs, or settings, especially when checking documentation requirements, running tests, or verifying the web interface.
Why use it?
They help prevent incomplete features, undocumented changes, and false conclusions based on a single passing test or partially implemented story.

Instructions file for Claude CodeCodexOpenCode

Written for Claude Code and Codex and OpenCode: PreToolUse hook event, but also the file is AGENTS.md. Also seen: reads .claude/ paths; names the AskUserQuestion tool; mentions Claude Code.

This is sstraus/tuicommander's own configuration. It tells Claude Code, Codex and OpenCode how to work on tuicommander itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything tuicommander configures →

Reuse

Borrowing it

Nothing to install: this file belongs to sstraus/tuicommander. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/sstraus/tuicommander/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/sstraus/tuicommander

Made for: Claude Code, Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for tuicommander AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/sstraus/tuicommander/agents-md/github.svg)](https://agentmods.dev/instructions/sstraus/tuicommander/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/sstraus/tuicommander/agents-md"><img src="https://agentmods.dev/badge/instructions/sstraus/tuicommander/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for tuicommander AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/sstraus/tuicommander/agents-md"><img src="https://agentmods.dev/badge/instructions/sstraus/tuicommander/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 14,314 This file is loaded in full into every session.
When invoked 14,314 The same file — it is already loaded in full.
Security scan B 2 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.14314 $0.14314
Opus 5.5 $0.05726 $0.05726
Sonnet 5.5 $0.02863 $0.02863
Haiku 4.5 $0.01431 $0.01431

Measured 3d ago against content hash 1dc65e3e41af, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

tuicommander AGENTS.md scanned grade B with 2 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 3d 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.

Sends data to an external URLmediumData exfiltration

A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.

curl -X POST http://localhost:9876/diagnostics -d '{"enabled":true}' -H 'Content-Type: application/json'

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

3. **CLI probing** — `curl` HTTP endpoints, `grep` for patterns
AGENTS.md · 638 lines

How it starts

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

TUICommander — Project Rules

Doc Sync

Read docs/sync-matrix.md before any feature/API/config change — it maps code areas to docs that MUST be updated.

Tests

  • Run standalone Rust, Vitest, and plugin test commands through scripts/with-test-tmp.sh; make check, make test-shell, make cov, and make mutants set their own repository-local test temp root. This does not apply to make dev or cargo run.

  • Bare cargo test Rust test binaries initialize TMPDIR, TMP, and TEMP from TUIC_TEST_TMP_ROOT or this checkout's .tmp/tuic-tests before libtest starts; Nextest does the same for every test binary through .config/nextest.toml setup scripts. New Rust tests must use test_temp_root() or assert their scratch paths stay inside it. Neither mechanism changes make dev or cargo run.

  • Test only the changed behavior. Routine validation MUST use the narrowest test filters that cover the production code, protocol surface, fixtures, or test support changed by the task. Do not run full-crate, full-app, full-tree, or unrelated suites merely for reassurance; they waste shared build time and obscure relevant evidence. Expand beyond targeted tests only when a documented gate explicitly requires it, targeted evidence proves a cross-cutting risk, or Boss explicitly asks for the broader run.

  • Tests are the spec. When a test fails after a code change, investigate BOTH sides before deciding which to fix.

  • Finding a story partially implemented does NOT mean it's done. When you pick up a story and discover the feature already exists, verify EVERY part of the story is honored — each acceptance criterion, edge case, and requirement — before marking it complete. Never assume the whole story is satisfied just because one part is implemented. Check each criterion against the code and prove it, or the story isn't done.

  • to-test.md tracks features awaiting manual testing — add items there for minor features.

  • Mutation testing is per change, never per tree. make mutants RANGE=<base> (default HEAD~1) runs cargo-mutants --in-diff over the Rust lines the range touched, --in-place in a disposable git archive export under .tmp/ (not a worktree: a detached worktree is an orphan to the running app, which removes it), one job, through mbx. Every viable mutant costs one incremental build of the lib crate plus one test run, so the orchestrator runs it once per batch on the final HEAD — agents do not. A surviving mutant is a missing test: add the test, or #[mutants::skip] with the reason on the line. Measured 2026-09-06: baseline 197 s build + 224 s test with warm deps; each mutant ~3 min incremental build of the lib crate plus 0.5–3.5 min of tests, so ~5 min each and a 38-mutant story diff is ~3 h. During the day pass a function filter through the script (scripts/mutants.sh HEAD~1 --re <function>); the whole diff is an overnight or CI job. Config in src-tauri/.cargo/mutants.toml, mechanics in scripts/mutants.sh.

  • Function-filtered mutation runs through make can use make mutants RANGE=<base> -- --re <function>; use MUTANTS_ARGS='--re <function>' for filters containing spaces or other complex arguments.

  • [HUMAN] is a last resort. Before marking a to-test item [HUMAN], you MUST attempt verification through this escalation ladder:

    1. Code inspection — read the source, confirm the logic exists at file:line
    2. Test execution — cargo nextest run (doctests: cargo test --doc), vitest run with relevant filter
    3. CLI probing — curl HTTP endpoints, grep for patterns
    4. MCP maccontrol — take screenshots, click UI elements, verify visual state
    5. MCP invoke/JS — call Tauri commands, inspect store state, trigger actions programmatically Only use [HUMAN] when the item genuinely requires real hardware (audio, IME, touch), multi-app interaction (drag to Finder, global hotkey from another app), or timing-sensitive observation that none of the above can capture. When code-verifying, change [HUMAN] to [x] with a _(verified: file:line explanation)_ annotation. When code reveals the description is wrong, change to [ ] with a _(NOTE: ...)_ correction.

Read the full file on GitHub · 638 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. 3d ago Changed · +3 lines · +177 tokens per session 1dc65e3e41af
  2. 6d ago Changed · +27 lines · +637 tokens per session e0bc9c29f010
  3. 10d ago Changed · +11 lines · +242 tokens per session a98c5d5dc9ce
  4. 17d ago Changed · +7 tokens per session cbca9ecdd8c0
  5. 22d ago Changed · +1 lines · +57 tokens per session 5c26e8e78809
  6. 23d ago Changed · +84 lines · +1,745 tokens per session bbbb868b4b0f
  7. 1mo ago Changed · +196 lines · +4,656 tokens per session 49f68da9afe8
  8. 1mo ago Changed · +7 lines · +96 tokens per session 3d070054642f
  9. 1mo ago First seen · 309 lines · 6,697 tokens per session scan B 21dbcad0c83e

Subscribe to this mod's changes

tuicommander AGENTS.md is an instructions file published in the GitHub repository sstraus/tuicommander (166 stars, last pushed yesterday), licensed Apache-2.0. It adds 14,314 tokens to every session, about $0.0573 per session on Opus 5.5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories