tapflow: Instructions file for Claude Code

AGENTS.md

tapflow AGENTS.md is an instructions file for Claude Code, Codex, OpenCode from jo-duchan/tapflow. It costs 5,925 tokens per session, scanned A, original, MIT.

Repository instructions for tapflow, an open-source tool that lets a team test iOS and Android apps in a web browser using a Mac and a real simulator.

In plain words
What is it for?
Use them when changing tapflow, especially its browser-based app testing, build-upload process, simulator access, or optional AI-agent controls.
Why use it?
They give coding agents shared rules and explain the main manual-testing workflow, so contributors do not have to guess how the project is intended to work.

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; mentions CLAUDE.md; mentions AGENTS.md.

This is jo-duchan/tapflow's own configuration. It tells Claude Code, Codex and OpenCode how to work on tapflow 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 tapflow configures →

About the project

tapflow is a self-hosted service that runs iOS simulators and Android emulators in a web browser, letting teams view mobile builds, streams, and recordings on infrastructure they control. Mobile QA teams and other developers use it to test apps without relying on shared physical devices or uploading builds to a cloud provider. The catalogue entries support operating tapflow and its mobile testing workflows.

jo-duchan/tapflow · 1,616 stars · on GitHub · tapflow.dev

Reuse

Borrowing it

Nothing to install: this file belongs to jo-duchan/tapflow. 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/jo-duchan/tapflow/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/jo-duchan/tapflow

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 tapflow AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/jo-duchan/tapflow/agents-md/github.svg)](https://agentmods.dev/instructions/jo-duchan/tapflow/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/jo-duchan/tapflow/agents-md"><img src="https://agentmods.dev/badge/instructions/jo-duchan/tapflow/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 tapflow AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/jo-duchan/tapflow/agents-md"><img src="https://agentmods.dev/badge/instructions/jo-duchan/tapflow/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 5,925 This file is loaded in full into every session.
When invoked 5,925 The same file — it is already loaded in full.
Security scan A 0 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.05925 $0.05925
Opus 5.5 $0.02370 $0.02370
Sonnet 5.5 $0.01185 $0.01185
Haiku 4.5 $0.00592 $0.00592

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

Security

Grade A, and why

tapflow 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 15d 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 · 344 lines

How it starts

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

tapflow — AGENTS.md (Common Rules)

Package-specific rules are referenced via INDEX.md.


WHAT

tapflow is an open-source self-hosted library that lets the entire team — PO, PM, designers, backend engineers, and QA — test iOS/Android apps directly from a browser. It uses the Mac you already own — no external cloud dependency.

Core value

Remove friction. Anyone on the team can open a browser and test the app on a real simulator, without Xcode, without device setup, without accounts on external services.

Three ways to use tapflow

tapflow Core is the layer everything shares: devices, sessions, UI trees, builds, run records, and resource management. It is a concept, not a package. A team can start from any of the three:

  • Manual QA: CI uploads a build → the team tests in the browser. The most mature path.
  • AI agents via MCP (experimental): an LLM agent drives a device through @tapflowio/mcp-server.
  • Automation (experimental): the flow runner replays YAML flows deterministically, mainly in CI.

Don't design for a single entry point. Every change keeps the hard line in VISION.md: replay calls no model, tapflow saves agent or model output as a flow only after a deterministic replay passes, and Manual QA and the flow runner never depend on an agent or any model.

WHY

  • Appetize / BrowserStack are expensive and send app data outside your network.
  • Reuses infrastructure (Mac) the team already owns.
  • Fully open-source and customizable.

For the product direction and philosophy behind these — start anywhere, replay without a model, Flow Capture as the moat — see VISION.md.


Core Principles

  • Evidence-based: verify a root cause with code, logs, or tests before fixing — no guess-driven changes.
  • Minimal changes: stay within the requested scope; follow the file's existing conventions. Scope is decided by what a reviewer has to hold in their head, not by which file a line sits in.
  • Verifiable goal: know how success will be measured before starting (a reproducing test, same tests passing after a refactor, etc.).
  • Stop before risky actions — get user confirmation before any hard-to-reverse operation (git push --force, git reset --hard, sending messages to external systems, DB drops, etc.). Specifically:
    • Only create commits or PRs when the user explicitly requests it.
    • Do not merge PRs. Always leave merging to the user — even with --admin. Create the PR and stop. Enforced by the PreToolUse hook .claude/hooks/pr-merge-guard.sh, which blocks gh pr merge and gh pr review in command position. It does not cover the gh api and git plumbing equivalents: same threat model, a cooperative agent rather than an adversary.
    • A push to docs-production is a production deploy of tapflow.dev. Confirm before every one. The only manual push is a docs hotfix: a commit already on main, cherry-picked, with its diff checked for pages about unreleased features — procedure in CONTRIBUTING, "Docs follow releases".
    • Avoid breaking changes. If unavoidable, report to the user and get approval before proceeding. Breaking change scope: public API / interface signature changes, DB schema changes, WebSocket message protocol changes, CLI command / flag changes.

Read the full file on GitHub · 344 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. 15d ago Changed · +6 lines · +83 tokens per session e81aa2720632
  2. 18d ago Changed · +3 lines · +69 tokens per session c08acf6a1687
  3. 1mo ago Changed 5f27fc8b5b5d
  4. 1mo ago Changed · +7 lines · +120 tokens per session ba26819b919c
  5. 2mo ago Changed · +29 lines · +555 tokens per session d3fabd041281
  6. 2mo ago Changed · +3 lines · +202 tokens per session 00c3d27ec06b
  7. 2mo ago Changed · +17 lines · +335 tokens per session a3ae91c76ac7
  8. 2mo ago First seen · 279 lines · 4,561 tokens per session scan A 7f7f29660e65

Subscribe to this mod's changes

tapflow AGENTS.md is an instructions file published in the GitHub repository jo-duchan/tapflow (1,616 stars, last pushed yesterday), licensed MIT. It adds 5,925 tokens to every session, about $0.0237 per session on Opus 5.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.

Related

tapflow AGENTS.md compared with instructions from other repositories

tapflow AGENTS.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
tapflow AGENTS.mdjo-duchan/tapflowInstructions file1.6kyesterdayMITA5,925Claude Code, Codex, OpenCode
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode