1---
2name: test-t3-mobile
3description: Test T3 Code's native iOS and Android app through its Device panel and returned AgentDevice command. Use for mobile verification, native-client builds, Metro launch, and mobile pairing against isolated development state.
4---
5
6# Test T3 Mobile
7
8## Open the device
9
10Call `device_list`, then `device_open` with the selected host and device IDs.
11T3 boots the device and shows its live stream in the Device panel. Follow its
12returned `quickStart`, using the exact `agentDevice.command` and all `targetArgs`
13on every operation. Use `device_screenshot` to inspect the screen.
14
15If T3 device tools or the selected device are unavailable, report the blocker
16and stop verification. Do not install or switch to another automation system.
17
18## Use an isolated backend
19
20Reuse this task's healthy backend. Otherwise run `vp run dev` from the
21repository root, retain its terminal session, and read the actual backend port
22from the dev-runner output. Use the worktree's ignored `.t3` state. Never run
23against `~/.t3/userdata`. The Browser panel is not required for this workflow.
24
25Test with meaningful project and thread data. Read the shared
26[SQLite fixture reference](../test-t3-app/references/sqlite-fixtures.md) only
27when inspecting or seeding SQLite. Stop the test server before fixture writes.
28
29## Launch The Knife Dev
30
31From the checkout being tested on the selected device host, run:
32
33```bash
34node scripts/mobile-native-client.ts ensure <ios|android> <device-id>
35```
36
37This reuses a matching native client or builds and installs one. Authorized
38mobile verification includes that build step unless the user prohibits it.
39
40Start `vp run dev:client` from `apps/mobile`, or reuse a healthy Metro belonging
41to this checkout. Open its printed development-client URL with AgentDevice
42`open com.t3tools.t3code.dev <url>` and all returned target arguments.
43The device must be able to reach both Metro and the isolated backend.
44Append `&disableAutoLaunch=1&disableFab=1` to the development-client URL query
45when developer chrome would obscure screenshots or taps; the SDK 58 dev client
46applies these preferences before the app loads.
47
48## Pair and verify
49
50Use the helper from the repository root, with the returned executable and target
51arguments stored in `agent_device_command` and the Bash array
52`agent_device_target_args`:
53
54```bash
55.agents/skills/test-t3-mobile/scripts/pair-client.sh \
56 <server-port> <base-dir> <device-reachable-backend-origin> \
57 "$agent_device_command" "${agent_device_target_args[@]}"
58```
59
60It issues a fresh credential and opens The Knife Dev's existing pairing route
61through AgentDevice. For a backend on the device host, use
62`http://127.0.0.1:<server-port>` on iOS or `http://10.0.2.2:<server-port>`
63on Android. For a remote backend, use its reachable origin.
64
65Confirm the intended projects appear, exercise the affected flow, and capture
66evidence. Retain the app and environment while iterating. At teardown, remove
67the disposable connection, close the AgentDevice session, call `device_close`,
68and stop only your backend and Metro processes.