adb-ready 0.1.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,130 @@ breaking changes.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.3.0] - 2026-09-11
13
+
14
+ ### Added
15
+
16
+ - Scope saved sessions, latest-problem lookup, AI context, and MCP session
17
+ resources to the canonical current project by default, with an explicit
18
+ `--all-projects` escape hatch for cross-project audits.
19
+ - Add privacy-safe cross-process Android target leases with heartbeats, bounded
20
+ expiry, stale-owner recovery, and ownership-checked cleanup for app, UI,
21
+ port, recording, and development-session mutations.
22
+ - Let `dev --dry-run` resolve and validate the project, command, ports, and
23
+ lifecycle hooks without requiring ADB or allocating an Android target. An
24
+ explicit target selector still produces the target-resolved plan.
25
+ - Add composable readiness contracts for boot, unlock, process, foreground
26
+ activity, exact UI selectors, host ports, HTTP responses, and bounded log
27
+ presence or absence. Expo and React Native sessions now verify Android boot
28
+ and Metro reachability before reporting ready.
29
+ - Add `adb-ready run -- COMMAND` as a finite automation entrypoint: start the
30
+ configured development service, satisfy readiness, execute one timeout-bound
31
+ verification command, preserve its exit code, and clean owned resources.
32
+ - Produce an atomic, redacted evidence bundle for every executed `run` with a
33
+ versioned manifest, structured result, NDJSON timeline, problems, logcat,
34
+ bounded AI context, JUnit XML, and GitHub step-summary Markdown.
35
+ - Advertise and validate a versioned result-envelope output schema for every
36
+ MCP tool, return screenshot pixels as MCP image content, and issue stable
37
+ connection-scoped target handles that reject stale or cross-connection use.
38
+ - Let MCP `ensure_ready` reconnect an explicitly addressed endpoint or the only
39
+ unambiguous paired wireless service before binding it.
40
+ - Exercise the complete MCP contract on Node.js, Bun, and Deno across both the
41
+ legacy 2025-11-25 and modern 2026-07-28 protocol eras.
42
+ - Add semantic UI find, assert, digest comparison, and selector-driven tap or
43
+ long-press workflows. Structured selectors support exact, prefix, and
44
+ contains matching plus enabled/actionable qualifiers; ambiguous mutations
45
+ fail instead of guessing.
46
+ - Add project-scoped `start_dev_session`, `get_dev_session`, and
47
+ `stop_dev_session` MCP tools backed by opaque durable handles. Managed
48
+ sessions continue outside one tool call, survive client reconnects, report
49
+ heartbeats and terminal exit state, and stop only their verified owned
50
+ process group.
51
+ - Add status, recency, preset, and count filters to project-scoped session
52
+ history.
53
+ - Install a single APK or a complete split APK set through verified `install`
54
+ and `install-multiple` workflows in both CLI and MCP.
55
+ - Detect and run Flutter and Capacitor Android projects on the exact selected
56
+ target, with boot readiness and no invented default port mappings.
57
+ - Add intent-level UI read, field fill/clear, and container-scoped scroll
58
+ workflows for CLI and MCP. Field replacement is capability-gated before
59
+ mutation and verifies observable values instead of inferring success from
60
+ input exit codes.
61
+ - Add a project-scoped MCP session index with status, preset, recency, limit,
62
+ and stable cursor pagination so agents can locate relevant saved evidence
63
+ without scanning unrelated history.
64
+ - Add a bounded CLI/MCP screen audit that identifies enabled actionable nodes
65
+ without human-readable labels and controls without stable resource IDs,
66
+ returning concrete nodes instead of a subjective score.
67
+ - Bind finite verification commands to the leased target through
68
+ `ANDROID_SERIAL`, `ADB_READY_TARGET_SERIAL`, and an explicit
69
+ `{target.serial}` argument placeholder for tools such as Maestro that require
70
+ their own device flag.
71
+ - Report measured acquisition time alongside every before/after UI snapshot so
72
+ agents and CI can identify slow accessibility inspection without guessing.
73
+
74
+ ### Changed
75
+
76
+ - Compact repeated successful health checks in bounded AI context while
77
+ preserving the complete redacted NDJSON timeline as source evidence.
78
+ - Reorganize the interactive home around development, test automation, device,
79
+ debugging, and project tasks; preserve root presentation flags and use copy
80
+ that remains meaningful in narrow terminals.
81
+ - Add the screen agent-readiness audit to the task-oriented Debug & evidence
82
+ menu without expanding the root menu.
83
+ - Lead the public README with the agent outcome, immediate setup, and a concrete
84
+ first task before the implementation details.
85
+
86
+ ### Fixed
87
+
88
+ - Return a structured capability overview for bare machine-mode invocation and
89
+ suggest high-confidence corrections for mistyped commands or options.
90
+ - Apply retention limits per project before the global safety cap so one noisy
91
+ project cannot evict another project's recent diagnostic history.
92
+ - Keep packaged command-matrix development sessions inside an isolated
93
+ temporary state directory instead of polluting the user's session store.
94
+ - Correct the public installation guide so its compatibility note no longer
95
+ contradicts the documented split APK support.
96
+ - Give accessibility hierarchy acquisition its own 15-second default deadline
97
+ in inspect and UI workflows while preserving an explicit global timeout.
98
+ This prevents ordinary slower OEM UI Automator dumps from failing at the
99
+ generic five-second ADB boundary.
100
+ - Classify Android's successful-exit `could not get idle state` response as a
101
+ distinct `UI_NOT_IDLE` problem with a safe recovery instruction instead of
102
+ misreporting an inaccessible hierarchy.
103
+ - Finalize an explicitly stopped managed development task as interrupted even
104
+ when Windows terminates the owned child before its signal handler can write
105
+ the terminal record.
106
+
107
+ ## [0.2.0] - 2026-09-10
108
+
109
+ ### Added
110
+
111
+ - Resolve Android application IDs with provenance, enumerate installed
112
+ packages, and inspect one project app on a deterministic target.
113
+ - Resolve known project application IDs without requiring ADB or a connected
114
+ target; use installed packages only as the final fallback.
115
+ - Install, launch, stop, restart, clear, uninstall, and deep-link apps with
116
+ explicit destructive policy, mutation-free dry runs, and postcondition
117
+ verification.
118
+ - Capture verified PNG screenshots and bounded MP4 screen recordings into
119
+ atomically published project-local evidence files with SHA-256 metadata,
120
+ including OEM multi-display screenshot output with a bounded text preamble.
121
+ - Inspect one app and the current accessibility hierarchy as bounded,
122
+ explicitly sensitive snapshots with digest-scoped UI references.
123
+ - Give local AI agents 19 typed Android tools and saved-session context over a
124
+ tested Node.js, Bun, and Deno MCP stdio server without exposing raw shell/ADB
125
+ or destructive app removal. Calls within one connection are serialized to
126
+ preserve deterministic target and UI state.
127
+ - Generate or safely merge project MCP setup for Codex, Claude Code, Cursor,
128
+ and VS Code, with non-mutating snippets for Windsurf and generic clients.
129
+ - Expose current targets, saved manifests, paginated redacted events, and
130
+ bounded Markdown context as local MCP resources.
131
+ - Safely tap, long-press, swipe, type, press allowlisted keys, and wait for exact
132
+ UI postconditions with stale-reference protection and before/after evidence.
133
+ - Replace the command-heavy interactive home with focused workflow categories
134
+ and progressive disclosure.
135
+
12
136
  ## [0.1.2] - 2026-09-10
13
137
 
14
138
  ### Changed
@@ -52,7 +176,9 @@ breaking changes.
52
176
  explainable configuration precedence.
53
177
  - Human, plain, JSON, and NDJSON output across Node, Bun, and Deno entrypoints.
54
178
 
55
- [Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.1.2...HEAD
179
+ [Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.3.0...HEAD
180
+ [0.3.0]: https://github.com/Adam014/adb-ready/compare/v0.2.0...v0.3.0
181
+ [0.2.0]: https://github.com/Adam014/adb-ready/compare/v0.1.2...v0.2.0
56
182
  [0.1.2]: https://github.com/Adam014/adb-ready/compare/v0.1.1...v0.1.2
57
183
  [0.1.1]: https://github.com/Adam014/adb-ready/compare/v0.1.0...v0.1.1
58
184
  [0.1.0]: https://github.com/Adam014/adb-ready/compare/v0.0.1-alpha.0...v0.1.0
package/COMPATIBILITY.md CHANGED
@@ -34,6 +34,12 @@ Deterministic fixtures cover platform paths, ADB output variants, target states,
34
34
  IPv4/IPv6 discovery, selection, cancellation, timeouts, and packaging. A local
35
35
  read-only smoke test is available as `bun run verify:real-adb`.
36
36
 
37
+ Recorded physical acceptance:
38
+
39
+ | Host and target | Transport | Verified workflows |
40
+ | --- | --- | --- |
41
+ | macOS arm64 · Samsung Galaxy Z Fold4 (SM-F936B) · API 36 | Wireless debugging (TLS) | discovery and stable identity; app resolve/info/launch/restart; UI inspect/tap/stale-ref rejection/wait; multi-display screenshot; screen recording; Expo dev/reverse/Ctrl-C cleanup; concurrent MCP request ordering |
42
+
37
43
  Physical USB, emulator, wireless, VPN, container, WSL, and remote-server claims
38
44
  must be recorded as tested only after they pass on that real environment. ADB
39
45
  Ready never treats a fixture as proof of hardware compatibility.
package/README.md CHANGED
@@ -2,24 +2,37 @@
2
2
 
3
3
  # ADB Ready
4
4
 
5
- **One Android target. One reliable development session.**
5
+ **The local Android runtime for coding agents.**
6
6
 
7
- Select a device, prepare localhost ports, start your project, and keep the
8
- connection healthy—without stitching together fragile ADB scripts.
7
+ Give any MCP-capable agent a safe way to start your Android project, operate a
8
+ real app, verify what happened, and bring back evidence—not guesses.
9
9
 
10
+ [![MCP](https://img.shields.io/badge/MCP-native-7c3aed)](./docs/agent-integration.md)
10
11
  [![CI](https://github.com/Adam014/adb-ready/actions/workflows/ci.yml/badge.svg)](https://github.com/Adam014/adb-ready/actions/workflows/ci.yml)
11
12
  [![npm](https://img.shields.io/npm/v/adb-ready?label=npm&color=1f9db5)](https://www.npmjs.com/package/adb-ready)
12
13
  [![Node.js](https://img.shields.io/badge/Node.js-%E2%89%A522-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org/)
13
14
  [![Bun](https://img.shields.io/badge/Bun-tested-14151a?logo=bun&logoColor=white)](https://bun.sh/)
14
15
  [![Deno](https://img.shields.io/badge/Deno_2-tested-111827?logo=deno&logoColor=white)](https://deno.com/)
16
+ [![Flutter](https://img.shields.io/badge/Flutter-supported-02569B?logo=flutter&logoColor=white)](./docs/dev-sessions.md)
17
+ [![Capacitor](https://img.shields.io/badge/Capacitor-supported-119EFF?logo=capacitor&logoColor=white)](./docs/dev-sessions.md)
15
18
  [![Platforms](https://img.shields.io/badge/hosts-macOS_%C2%B7_Linux_%C2%B7_Windows-64748b)](./COMPATIBILITY.md)
16
19
 
17
- [Quick start](#quick-start) · [Why ADB Ready](#why-adb-ready) ·
20
+ [Quick start](#quick-start) · [AI agents](#built-for-agentic-android-development) · [Why ADB Ready](#why-adb-ready) ·
18
21
  [Workflows](#find-your-workflow) · [Documentation](#documentation) ·
19
22
  [Compatibility](#compatibility)
20
23
 
21
24
  </div>
22
25
 
26
+ ```bash
27
+ npm install --save-dev adb-ready
28
+ npx adb-ready agent setup codex
29
+ ```
30
+
31
+ Then ask your agent:
32
+
33
+ > Start this Expo app on my Android phone, wait until the login screen is
34
+ > actually ready, verify the change I made, and keep the failure evidence.
35
+
23
36
  ```text
24
37
  $ adb-ready dev
25
38
 
@@ -29,14 +42,44 @@ $ adb-ready dev
29
42
  ● Session healthy watching target, ports, and logs
30
43
  ```
31
44
 
32
- Stop rebuilding your Android setup every time a cable moves, Wi-Fi reconnects,
33
- or ADB picks the wrong device. ADB Ready turns the target, ports, project
34
- command, recovery, and useful logs into one development session.
45
+ ADB Ready handles the state around ADB that agents cannot safely guess: which
46
+ device belongs to the run, whether the app is truly ready, which ports and
47
+ processes it owns, and what evidence survives after a failure. It works locally
48
+ with Codex, Claude Code, Cursor, VS Code/Copilot, and any MCP client—without an
49
+ ADB Ready account, hosted service, or model API key.
50
+
51
+ | Prepare | Operate | Prove |
52
+ | --- | --- | --- |
53
+ | Select one target, connect it, start the project, and keep ports healthy. | Inspect semantic UI, launch apps, act on elements, and capture the screen. | Gate tests on real readiness and return structured logs, context, and artifacts. |
54
+
55
+ ## Built for agentic Android development
56
+
57
+ Most coding agents can edit an Android project but cannot verify the running
58
+ app. ADB Ready closes that loop with a built-in local MCP server and typed tools
59
+ for target readiness, development sessions, app lifecycle, semantic UI, logs,
60
+ and visual evidence—without handing the model an unrestricted shell or raw ADB.
35
61
 
36
62
  ```bash
37
- npx adb-ready dev
63
+ # Connect the current project to your coding agent
64
+ npx adb-ready agent setup codex
38
65
  ```
39
66
 
67
+ Your agent can:
68
+
69
+ - find and bind one deterministic Android target;
70
+ - start, check, and stop a durable development session across agent reconnects;
71
+ - resolve, install, launch, restart, and inspect the project app;
72
+ - find or assert semantic UI, tap by intent, type, swipe, and compare state;
73
+ - capture screenshots and read bounded, redacted session evidence; and
74
+ - verify actions against fresh device state instead of assuming they worked.
75
+
76
+ Every action is bound to one verified target and checked against fresh device
77
+ state. Stale UI references are rejected, destructive app removal is not exposed
78
+ to agents, and every tool returns a schema-validated result. Everything stays
79
+ local unless your chosen AI client sends tool results to its model provider.
80
+
81
+ [Connect an AI agent in minutes →](./docs/agent-integration.md)
82
+
40
83
  ## Why ADB Ready?
41
84
 
42
85
  ### Start once. Stay ready.
@@ -51,20 +94,20 @@ When a wireless target or reverse mapping disappears, recovery is bounded,
51
94
  target-safe, and independently verified. It never silently restarts the shared
52
95
  ADB server or rewrites another tool's mapping.
53
96
 
54
- ### Get signal instead of noise.
97
+ ### Give agents evidence, not terminal noise.
55
98
 
56
99
  Focused logcat, structured problems, and a saved redacted timeline keep the
57
- important failure evidence together. One command turns it into compact context
58
- for any AI assistant—without uploading anything.
100
+ important failure evidence together. Agents receive bounded, machine-readable
101
+ context and typed actions instead of guessing from an unstructured terminal.
59
102
 
60
103
  ### Keep your existing stack.
61
104
 
62
105
  ADB Ready orchestrates the real ADB, framework, and package manager you already
63
106
  use. It does not replace Android Studio or force your project onto Bun.
64
107
 
65
- | Projects | Package managers | CLI runtimes |
66
- | --- | --- | --- |
67
- | Expo · React Native · Gradle · custom | npm · pnpm · Yarn · Bun | Node.js · Bun · Deno |
108
+ | Projects | Package managers | CLI runtimes |
109
+ | ------------------------------------- | ----------------------- | -------------------- |
110
+ | Expo · React Native · Flutter · Capacitor · Gradle · custom | npm · pnpm · Yarn · Bun | Node.js · Bun · Deno |
68
111
 
69
112
  ## Quick start
70
113
 
@@ -97,18 +140,24 @@ Running `adb-ready` without a command opens the interactive workflow home.
97
140
 
98
141
  ## Find your workflow
99
142
 
100
- | I want to… | Start here |
101
- | --- | --- |
102
- | launch Expo, React Native, Gradle, or my own command | [`adb-ready dev`](./docs/dev-sessions.md) |
103
- | pair or reconnect an Android device over Wi-Fi | [Targets and Wireless debugging](./docs/targets-and-wireless.md) |
104
- | choose the right device when several are connected | [Deterministic target selection](./docs/targets-and-wireless.md#explicit-selection) |
105
- | expose Metro, a local API, or a debugger to Android | [Port workflows](./docs/dev-sessions.md#port-ownership) |
106
- | see only the Android logs that matter | [Focused logcat](./docs/logs-and-context.md#focused-logcat) |
107
- | understand why the last session failed | [Session problems](./docs/logs-and-context.md#session-history) |
108
- | prepare safe evidence for an AI assistant | [Diagnostic context](./docs/logs-and-context.md#diagnostic-context) |
109
- | share project settings without a custom shell script | [Configuration](./docs/configuration.md) |
110
- | use ADB Ready from CI or another tool | [Automation contract](./docs/automation.md) |
111
- | fix a known setup or target problem | [Troubleshooting](./docs/troubleshooting.md) |
143
+ | I want to… | Start here |
144
+ | ----------------------------------------------------------- | ----------------------------------------------------------------------------------- |
145
+ | launch Expo, React Native, Flutter, Capacitor, Gradle, or my own command | [`adb-ready dev`](./docs/dev-sessions.md) |
146
+ | pair or reconnect an Android device over Wi-Fi | [Targets and Wireless debugging](./docs/targets-and-wireless.md) |
147
+ | choose the right device when several are connected | [Deterministic target selection](./docs/targets-and-wireless.md#explicit-selection) |
148
+ | expose Metro, a local API, or a debugger to Android | [Port workflows](./docs/dev-sessions.md#port-ownership) |
149
+ | install, inspect, launch, restart, or deep-link my app | [App lifecycle](./docs/apps-and-evidence.md#app-lifecycle) |
150
+ | save a verified screenshot or bounded screen recording | [Evidence capture](./docs/apps-and-evidence.md#evidence-capture) |
151
+ | give a developer or agent one bounded app/UI snapshot | [Structured inspection](./docs/apps-and-evidence.md#structured-inspection) |
152
+ | find, read, fill, scroll, and verify the Android UI | [Safe UI automation](./docs/ui-automation.md) |
153
+ | see only the Android logs that matter | [Focused logcat](./docs/logs-and-context.md#focused-logcat) |
154
+ | understand why the last session failed | [Session problems](./docs/logs-and-context.md#session-history) |
155
+ | prepare safe evidence for an AI assistant | [Diagnostic context](./docs/logs-and-context.md#diagnostic-context) |
156
+ | connect Codex, Claude Code, Cursor, Copilot, or Windsurf | [`adb-ready agent setup`](./docs/agent-integration.md#connect-an-agent) |
157
+ | share project settings without a custom shell script | [Configuration](./docs/configuration.md) |
158
+ | use ADB Ready from CI or another tool | [Automation contract](./docs/automation.md) |
159
+ | run one smoke test and keep its logs, result, and report | [`adb-ready run`](./docs/automation.md#run-one-bounded-verification) |
160
+ | fix a known setup or target problem | [Troubleshooting](./docs/troubleshooting.md) |
112
161
 
113
162
  ## What happens in `adb-ready dev`?
114
163
 
@@ -137,7 +186,7 @@ adb-ready dev -- pnpm run android:local
137
186
  adb-ready dev --dry-run --json
138
187
  ```
139
188
 
140
- ## Built for humans and automation
189
+ ## Built for humans, agents, and automation
141
190
 
142
191
  The interactive CLI provides keyboard navigation, live state, reduced-motion
143
192
  support, narrow-terminal fallbacks, and clear recovery feedback. Scripts get a
@@ -147,6 +196,7 @@ separate deterministic contract:
147
196
  adb-ready devices --json --non-interactive
148
197
  adb-ready logs --package com.example.app --format ndjson
149
198
  adb-ready context --since 5m --only problems,recovery,logs
199
+ adb-ready sessions list --status failed --since 24h --limit 5
150
200
  ```
151
201
 
152
202
  - machine data on `stdout`, human diagnostics on `stderr`;
@@ -155,19 +205,28 @@ adb-ready context --since 5m --only problems,recovery,logs
155
205
  - stable problem categories, meaningful exit codes, timeouts, and dry runs; and
156
206
  - explicit target, ADB path, and remote ADB server overrides.
157
207
 
208
+ Local AI agents use the same contracts through a schema-validated MCP stdio
209
+ server. The package includes a version-matched public tool schema, while target
210
+ binding, fresh-state checks, redaction, and verification remain enforced by ADB
211
+ Ready itself. [Explore the agent contract →](./docs/agent-integration.md)
212
+
158
213
  ## Documentation
159
214
 
160
- | Guide | What it answers |
161
- | --- | --- |
162
- | [Getting started](./docs/getting-started.md) | How do I reach my first ready session? |
163
- | [Development sessions](./docs/dev-sessions.md) | What does ADB Ready own, watch, recover, and clean up? |
164
- | [Targets and Wireless debugging](./docs/targets-and-wireless.md) | How are devices paired, connected, and selected safely? |
165
- | [Logs and AI context](./docs/logs-and-context.md) | What is captured, redacted, saved, and exported? |
166
- | [Configuration](./docs/configuration.md) | How do projects, profiles, hooks, and precedence work? |
167
- | [Automation](./docs/automation.md) | What are the JSON, NDJSON, stdout, and exit-code contracts? |
168
- | [Troubleshooting](./docs/troubleshooting.md) | What should I do for each common failure? |
169
- | [Compatibility](./COMPATIBILITY.md) | Which hosts, runtimes, and environments are covered? |
170
- | [Example configs](./examples/README.md) | What can I copy for Expo, React Native, Gradle, or custom projects? |
215
+ | Guide | What it answers |
216
+ | ---------------------------------------------------------------- | --------------------------------------------------------------------- |
217
+ | [Getting started](./docs/getting-started.md) | How do I reach my first ready session? |
218
+ | [Development sessions](./docs/dev-sessions.md) | What does ADB Ready own, watch, recover, and clean up? |
219
+ | [Targets and Wireless debugging](./docs/targets-and-wireless.md) | How are devices paired, connected, and selected safely? |
220
+ | [Apps and evidence](./docs/apps-and-evidence.md) | How do I control one app and capture verified device evidence? |
221
+ | [AI agent integration](./docs/agent-integration.md) | How do Codex, Claude Code, Cursor, or Copilot use safe Android tools? |
222
+ | [Safe UI automation](./docs/ui-automation.md) | How do humans and agents act on current UI with verifiable evidence? |
223
+ | [Logs and AI context](./docs/logs-and-context.md) | What is captured, redacted, saved, and exported? |
224
+ | [Configuration](./docs/configuration.md) | How do projects, profiles, hooks, and precedence work? |
225
+ | [Automation](./docs/automation.md) | What are the JSON, NDJSON, stdout, and exit-code contracts? |
226
+ | [Threat model](./docs/threat-model.md) | Which trust boundaries, controls, and residual risks apply? |
227
+ | [Troubleshooting](./docs/troubleshooting.md) | What should I do for each common failure? |
228
+ | [Compatibility](./COMPATIBILITY.md) | Which hosts, runtimes, and environments are covered? |
229
+ | [Example configs](./examples/README.md) | What can I copy for Expo, React Native, Flutter, Capacitor, Gradle, or custom projects? |
171
230
 
172
231
  Run `adb-ready --help` for the full command list or
173
232
  `adb-ready help COMMAND` for focused options.
@@ -189,13 +248,17 @@ Android transport backend.
189
248
  - Session data is bounded, redacted, private to the user, and never uploaded.
190
249
  - Package contents are allowlisted and checked before release.
191
250
  - npm publication is prepared for short-lived OIDC credentials and provenance.
251
+ - AI clients receive typed bounded tools; raw shell/ADB and destructive app
252
+ removal are not exposed through MCP.
253
+ - UI references are bound to the current hierarchy digest, so stale targets are
254
+ rejected before input is sent.
192
255
 
193
256
  ## Project
194
257
 
195
258
  [Changelog](./CHANGELOG.md) · [Contributing](./CONTRIBUTING.md) ·
196
259
  [Security](./SECURITY.md) · [MIT License](./LICENSE)
197
260
 
198
- ADB Ready is Android-only. The `0.1.x` releases focus on target acquisition,
199
- ports, development-session recovery, logs, diagnostics, and automation. App
200
- lifecycle, files, screenshots, screen recording, and shell workflows come
201
- after this core is proven on real projects.
261
+ ADB Ready is Android-only. The current development line combines target
262
+ readiness, ports, session recovery, logs, verified app lifecycle, and local
263
+ evidence capture. It intentionally exposes typed workflows instead of a generic
264
+ remote shell.