bex / mobile
AGENTS.md576 starsChanged 15 days agoApache-2.0View on GitHub
Expo Router native client for the ADR048 supervision and agent mission-control experience. - Mobile is supervision-first. Do not add service creation, desktop settings, blueprint/topology/admin flows, bulk secret management, or Web Shell as a primary workflow. - Environment-variable viewing and editing belong to the dashboard. Mobile service details must not render an environment card or request keys or values. - Never add delete, PITR, failover, workspace deletion, or dangerous permission modes. src/__tests__/mobile-scope-policy.test.ts enforces the route/action vocabulary. - Authentication must use the…
- Reads credentials
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- dashboard/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- lego/AGENTS.mdAGENTS.md
- .pm/AGENTS.mdAGENTS.md
- deploy-app-from-localSkill
- deploy-appSkill
- loopxSkill
- mermaidSkill
- mock-clusterSkill
- pm-brainstormSkill
- pmSkill
- qa-find-bugs-cliSkill
- qa-find-bugsSkill
- releaseSkill
- rt-fix-logic-bugsSkill
- rt-fix-prod-crashesSkill
- rt-flatten-abstractionsSkill
- rt-normalize-abstractionsSkill
- rt-prune-useless-testsSkill
- rt-remove-dead-codeSkill
- rt-simplify-logicSkill
- rt-unify-duplicatesSkill
- security-auditSkill
- shipSkill
- simplifySkill
- stripe-best-practicesSkill
- stripe-directorySkill
- stripe-docsSkill
- stripe-projectsSkill
- unblockSkill
- upgrade-stripeSkill
The file
We split this AGENTS.md into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Never add delete, PITR, failover, workspace deletion, or dangerous permission modes.
- Very specific: line 19
Every user-visible string goes through useTranslations() and is present in both English and Chinese.
- Very specific: line 21
Use theme tokens and useWindowDimensions.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
bex mobile
Expo Router native client for the ADR048 supervision and agent mission-control experience.
Boundaries
- Mobile is supervision-first. Do not add service creation, desktop settings, blueprint/topology/admin flows, bulk secret management, or Web Shell as a primary workflow.
- Environment-variable viewing and editing belong to the dashboard. Mobile service details must not render an environment card or request keys or values.
- Never add delete, PITR, failover, workspace deletion, or dangerous permission
modes.
src/__tests__/mobile-scope-policy.test.tsenforces the route/action vocabulary. - Authentication must use the reviewed
w11/m2contract. Never persist OAuth, Kratos, or API credentials in AsyncStorage, source code, logs, analytics, or crash reports; never use a WebView login. - Every user-visible string goes through
useTranslations()and is present in both English and Chinese. - Use theme tokens and
useWindowDimensions; do not cache a fixed screen width. - Generated GraphQL belongs to codegen once m2 lands and is never hand-edited.
Structure
app/ Expo Router routes
src/common/ providers, hooks, theme, generic utilities and charts
src/components/ reusable controls
src/translations/ en/zh resources
src/__tests__/ cross-cutting policy and utility testsRequired checks
yarn format:check
yarn typecheck
yarn lint
yarn test:unit
yarn expo:check
yarn bundle:ios
yarn bundle:androidyarn lint runs ESLint plus framework-aware unused file/dependency analysis.
yarn expo:check validates native package versions offline, against the list
bundled in the installed expo package, so the gate depends only on
yarn.lock. The online list moves whenever Expo publishes a patch, and gating
on it turned CI red three times with no change in this repository. Run
yarn expo:outdated to see newer patches and npx expo install --fix to take
them.
Release
The app version lives in app.json and package.json; yarn bump
[patch|minor|major|X.Y.Z] moves both, and store.config.js reads the App Store
listing version from app.json. Build numbers are not in Git: eas.json
uses the remote version source, so EAS owns ios.buildNumber and
android.versionCode and increments them on every production build. The values
left in app.json are ignored.
A release is the tag bex-mobile/vX.Y.Z on a main commit whose app.json
already carries that version (ADR058
mechanics; mobile versions independently of the platform).
.github/workflows/mobile-release.yml then runs yarn test, builds both
platforms on EAS with --auto-submit (iOS to TestFlight, Android to the Play
internal track), waits for every build and submission, and only then
publishes the GitHub release. It needs EXPO_TOKEN plus the App Store Connect
API key (EXPO_ASC_API_KEY_P8, EXPO_ASC_KEY_ID, EXPO_ASC_ISSUER_ID) on the
production-release environment. Without the ASC key a non-interactive build
cannot regenerate an expired or outgrown provisioning profile.
The same build runs from a logged-in checkout:
npx eas-cli@24.11.0 build --platform all --profile production --auto-submit --non-interactiveEAS archives a fresh clone of the whole repository and honors only committed
ignore rules, so anything large and untracked must be in .gitignore, not just
.git/info/exclude.
TestFlight and the Play internal track are tester channels. Promoting a build
to App Store review or a public Play track is a separate, deliberate step: it
needs screenshots, the ASC_* reviewer contact and demo account from
.env.template (eas metadata:push), and the physical-device qualification in
e2e/m2-real-device.md and
the push runbook.
Apple release notes describe only the iPhone and iPad experience; never mention
Android or Google Play in them (App Review 2.3.10).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

