Skip to content
WebViewGold Vibe Coding to App Store
English
Get WebViewGold

AI coding agents

AGENTS.md vs CLAUDE.md vs .cursor/rules vs copilot-instructions.md vs GEMINI.md for app projects

Every coding agent has its own instruction file, but by now most of them also read AGENTS.md. For a web app that ships as iOS and Android apps, the clean setup is one shared native-app section in AGENTS.md plus thin tool files that point to it. Here is who reads what, and the section to copy.

From $109 one-time per platform, or let our team do it all from $698.

  • Approval guarantee – or money back within 14 days
  • No coding needed
  • One-time payment, free updates
  • 24/7 human support
  • Made in Germany since 2014 · ISO 27001

Who reads which file (as of November 2026)

FileRead byLocation and scopingGood to know
AGENTS.mdCodex, Cursor, GitHub Copilot (cloud agent, code review, VS Code), Devin Desktop (formerly Windsurf), Jules, Zed, Aider and more; Claude Code when no CLAUDE.md existsPlain Markdown, no front matter. Root and subfolders; the file nearest to the edited code winsOpen format, now stewarded by the Agentic AI Foundation under the Linux Foundation
CLAUDE.mdClaude Code; GitHub Copilot also accepts a single root CLAUDE.md./CLAUDE.md or ./.claude/CLAUDE.md, personal CLAUDE.local.md, user-wide ~/.claude/CLAUDE.md; path rules in .claude/rules/Imports with @path; aim for under 200 lines. If it exists, Claude Code reads it instead of AGENTS.md unless it imports AGENTS.md
.cursor/rules/*.mdcCursor's agentFront matter description, globs, alwaysApply; types Always Apply, Apply Intelligently, Apply to Specific Files, Apply ManuallyMust be .mdc; under 500 lines per rule. Bugbot ignores them and reads .cursor/BUGBOT.md
.github/copilot-instructions.mdGitHub Copilot: VS Code, Chat on GitHub.com, cloud agent, code reviewRepository-wide; add .github/instructions/*.instructions.md with applyTo globs for pathsexcludeAgent keeps a path file away from code review or the cloud agent (Copilot guide)
GEMINI.mdGemini CLI and its 2026 successor Antigravity CLI (backward compatible); GitHub Copilot accepts a single root GEMINI.mdGlobal ~/.gemini/GEMINI.md plus files in the workspace and its parent folders; imports with @file.mdGemini CLI can load AGENTS.md through the context.fileName setting; Antigravity CLI recommends renaming to AGENTS.md
.devin/rules/*.mdDevin Desktop (formerly Windsurf)trigger front matter: always_on, glob, model_decision, manualLegacy .windsurf/rules and .windsurfrules still load; AGENTS.md is read as an always-on rule (Windsurf guide)

The recommendation: one source, thin adapters

Write the native-app knowledge once, in AGENTS.md, because nearly every agent reads it. Then give each tool only what it cannot get from there: Claude Code an import line, Cursor a scoped rule for UI files, Copilot a short repository file, Gemini an import or a setting.

Why keep the extra files at all? Two reasons. Some tools prefer their own file when both exist (Claude Code reads CLAUDE.md instead of AGENTS.md if it finds one), and scoping is tool-specific: globs, applyTo and path rules only exist in the native formats. A rule that loads only when the agent edits a component is the best home for the mobile layout checklist.

Symlinks work too (the AGENTS.md site suggests renaming the old file and linking it back), but they break easily on Windows checkouts and are invisible in code review. Imports and short pointer files say what they do. For how agents should read the WebViewGold reference itself, see the llms.txt guide.

The shared native-app section (paste into AGENTS.md)

Replace the URL, the marker and the helper path, and delete the schemes you do not use. Every scheme here is from the WebViewGold iOS and Android documentation. Longer, tool-specific versions: the CLAUDE.md template, the AGENTS.md template for Codex and the Cursor rules template.

markdown
## Native app (WebViewGold): read before changing UI, auth or payments

Runtime
- Production: https://app.example.com. WebViewGold loads it in a WKWebView (iOS) and
  an Android WebView. Every deploy is live in the store apps; there is no mobile codebase.
- In the app, the user agent contains "MyAppNative" (useragent_iphone / useragent_ipad
  in Config.swift, USER_AGENT in Config.java). Check it only through isNativeApp()
  in src/lib/platform.ts.

Native bridge (app only, always with a web fallback)
- Trigger by navigation: window.location.href = "scheme://..."
- Push permission: registerpush:// | iOS status: checkNativePushPermissions:// -> nativePushEnabled
- Share sheet: shareapp://message?=TEXT&url=URL
- Haptics: lighthaptic://, successhaptic://, errorhaptic://
- Biometrics: bioauth:// (iOS calls onBioAuthSuccess, onBioAuthFailure, onBioAuthUnavailable)
- QR code: qrcode:// | App version: getappversion:// -> versionNumber
- Anything else: look it up in https://www.webviewgold.com/llms-full.txt. Never invent a scheme.

Store invariants (Apple and Google review)
- /privacy and /terms are real pages, linked from footer and settings.
- Sign-up exists => in-app account deletion (server-side) and a public /delete-account page.
- Google or other social login => Sign in with Apple with equal prominence.
- Digital goods in the iOS app use in-app purchase; no external checkout links there.
- Loading, empty and error states everywhere; no placeholders, dead links or "coming soon".
- Works from 320 px; fixed bars pad env(safe-area-inset-*); tap targets >= 44 px.
- OAuth never in popups or new windows (the Social Login Helper handles Google).

Done means
- Lint, tests and build pass; works in a desktop browser and at 320 px; native calls sit
  behind isNativeApp(); the summary lists what must be tested on a real phone.

I am very happy I bought this app! Extremely easy and great documentation. Was in contact with the customer service, they replied very quickly and very friendly. They solved my question within a day. 10/10 would recommend.

Nelis Geiger · CodeCanyon

The thin adapters for each tool

Each file is a few lines; the lines starting with ==> only mark where a new file begins. For Gemini CLI you can skip GEMINI.md and instead list "AGENTS.md" in context.fileName in .gemini/settings.json.

markdown
==> CLAUDE.md
@AGENTS.md

## Claude Code only
- Use plan mode before changes to auth, payments or account deletion.

==> .cursor/rules/mobile-ui.mdc
---
description: Mobile layout rules for screens shown in the native WebView apps
globs: src/components/**/*.tsx, src/app/**/*.tsx, src/**/*.css
alwaysApply: false
---
- No horizontal overflow at 320 px; tap targets >= 44 px; inputs >= 16 px font size.
- Fixed bars pad env(safe-area-inset-top) and env(safe-area-inset-bottom).
- No hover-only interactions.

==> .github/copilot-instructions.md
Follow the "Native app (WebViewGold)" section in AGENTS.md for every change.
In code review, flag any change that breaks the store invariants listed there.

==> GEMINI.md
@AGENTS.md

Set it up in four steps

Fifteen minutes, then every agent works from the same rules.

  1. Inventory what you have

    List every instruction file in the repository: AGENTS.md, CLAUDE.md, .claude/rules, .cursor/rules, .cursorrules, .github/copilot-instructions.md, .github/instructions, GEMINI.md, .windsurfrules, .windsurf/rules, .devin/rules. Old files keep loading even when you have forgotten them.

  2. Merge into AGENTS.md

    Paste the shared section, move build commands and conventions from the old files into it, and resolve contradictions. The prompt below does the legwork.

  3. Replace the tool files with adapters

    CLAUDE.md imports AGENTS.md; Cursor keeps only scoped .mdc rules; Copilot gets a short pointer; Gemini gets an import or the context.fileName setting.

  4. Check that each tool loads it

    Claude Code: run /context and look under Memory files. Gemini CLI: /memory show. Copilot Chat on GitHub.com: the instructions file appears in the response references. Cursor and Devin Desktop: ask the agent to quote the store invariants back to you.

Prompt: consolidate your instruction files

Works in Claude Code, Codex, Cursor, Copilot agent mode or Devin Desktop. Paste the shared section from this page at the end.

Paste into any coding agent at the repository root
Consolidate this repository's AI agent instruction files so every tool gets the same native-app rules. This is a web app that also ships as iOS and Android apps through WebViewGold, which loads our production URL in a native WebView.

1. Find every instruction file: AGENTS.md (any folder), CLAUDE.md, .claude/CLAUDE.md, .claude/rules/, .cursor/rules/, .cursorrules, .github/copilot-instructions.md, .github/instructions/, GEMINI.md, .windsurfrules, .windsurf/rules/, .devin/rules/. Show me a table: file, what it contains, conflicts with other files.
2. Create or update the root AGENTS.md: project overview, commands, conventions, and the "Native app (WebViewGold)" section pasted below. Ask me about conflicts instead of guessing.
3. Replace the tool-specific files with thin adapters: a CLAUDE.md that imports @AGENTS.md plus Claude-only notes; .cursor/rules/*.mdc only for rules scoped by globs; a .github/copilot-instructions.md that points to AGENTS.md and asks code review to check the store invariants; a GEMINI.md that imports @AGENTS.md. Remove .cursorrules and .windsurfrules after moving their content.
4. Keep secrets, tokens and personal URLs out of all of these files.
5. Show the final diff and tell me how to check that each tool loads the rules.

Native app section:
[paste the section from this page here]

Checklist

  • The native-app section exists only in AGENTS.md; every other file imports it or points to it.
  • The production URL and user agent marker match Config.swift and Config.java.
  • CLAUDE.md imports AGENTS.md, otherwise Claude Code skips AGENTS.md by default.
  • Every Cursor rule uses .mdc; Bugbot rules live in .cursor/BUGBOT.md if you use Bugbot.
  • Files stay within the tools' advice: CLAUDE.md under about 200 lines, Cursor rules under 500.
  • No secrets, tokens or staging passwords in any instruction file.

Pitfalls

  • Copy-paste drift: three copies of the store rules, two of them stale. Agents follow whichever copy they read.
  • A CLAUDE.md without the import line. Claude Code then ignores AGENTS.md by default.
  • Plain .md files in .cursor/rules are ignored; only .mdc files count.
  • Legacy files that still load: .windsurfrules and .windsurf/rules in Devin Desktop, and an old .cursorrules that may still be read. Old contradictions sneak back in.
  • Pasting the entire WebViewGold reference into the instructions. Long files lower adherence; list the schemes you use and link llms-full.txt for the rest.
  • Relying on auto-generated memories (Claude Code auto memory, Windsurf memories) for team rules. They live on one machine and do not travel with the repository.

Frequently asked questions

Do I need all of these files?

No. If you only use one tool, its native file is enough. With two or more tools, make AGENTS.md the source and add adapters only for the tools that need them.

Does Claude Code read AGENTS.md now?

Yes. Current versions of Claude Code read AGENTS.md when there is no CLAUDE.md in the working directory or above it. If you have a CLAUDE.md, add an @AGENTS.md import so both are used.

Is GEMINI.md still relevant?

Less than before. In 2026 Google replaced Gemini CLI with Antigravity CLI, which still reads GEMINI.md for backward compatibility but recommends AGENTS.md. GitHub Copilot also accepts a single root GEMINI.md.

Where do Windsurf rules fit in?

Windsurf is now Devin Desktop. It reads AGENTS.md as an always-on rule, plus .devin/rules and the legacy .windsurf/rules and .windsurfrules files, so the AGENTS.md setup covers it.

Symlink or import?

Both work. Imports (CLAUDE.md and GEMINI.md support @file syntax) are explicit and survive Windows checkouts; symlinks are invisible in code review and easy to break.

Should store rules live in the instruction file or in a checklist?

Both. The instruction file keeps every future change compliant; a checklist or readiness skill runs the full audit before each submission.

Three ways to get your app into the stores

Same result, different amount of work on your side. All three come with the approval guarantee and 24/7 human support.

Do it yourself

$109 per platform, one-time

The WebViewGold license: a finished Xcode or Android Studio project. Paste your URL, set name and icon, switch on features, build and submit. Free updates forever.

See plans on the main page

Cloud Builder

$349 per license, one-time add-on

No Mac, no Xcode, no Android Studio: configure in the browser, we build both apps in the cloud and hand them to App Store Connect and the Play Console.

How the Cloud Builder works Try the free demo

Full Service

$698 per platform $798

Send us your URL and icon. Our team configures, builds and delivers your app within 72 hours, white-label, with source projects. Both platforms for $1,158.

Full Service details Powered by WeSetupYourWebViewApp

Winter Sale prices valid until December 31, 2026.

Ready to ship your app?

App Store & Google Play approval guarantee – or your money back within 14 days

Rather hand it over? Full Service: we configure, build and deliver within 72 hours, from $698 per platform. Questions? Chat with us 24/7.

Refunds are granted under the conditions listed in our FAQ: a non-content rejection by Apple and/or Google, claimed within 14 days after purchase.