@swmansion/argent 0.24.1-next.15 → 0.24.1-next.16
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/README.md +16 -191
- package/dist/cli-cmds.mjs +1 -1
- package/dist/installer.mjs +1 -1
- package/dist/tool-server.cjs +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,215 +1,40 @@
|
|
|
1
1
|
<br/>
|
|
2
|
-
<p align="center">
|
|
3
|
-
<a href="https://argent.swmansion.com">
|
|
4
|
-
<img width="1100" height="382" alt="argent-header" src="https://github.com/user-attachments/assets/6cec01d5-da3c-4b6c-97c3-0374a63c213c" />
|
|
5
|
-
</a>
|
|
6
|
-
</p>
|
|
2
|
+
<p align="center"><a href="https://argent.swmansion.com"><img width="1100" height="382" alt="argent-header" src="https://github.com/user-attachments/assets/6cec01d5-da3c-4b6c-97c3-0374a63c213c" /></a></p>
|
|
7
3
|
|
|
8
4
|
[](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-1&n=1)
|
|
9
5
|
[](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-2&n=1)
|
|
10
6
|
[](https://swm-delivery.com/www/delivery/ck-slug.php?zoneid=zone-gh-argent-3&n=1)
|
|
11
7
|
|
|
12
|
-
**[Argent](https://argent.swmansion.com)**
|
|
8
|
+
**[Argent](https://argent.swmansion.com)** gives your AI assistant direct control of iOS simulators, Android emulators and devices, TVs (Apple TV, Android TV, Fire TV) and Electron/Chromium apps. Tap a button, profile a screen, reproduce a bug - without leaving the CLI.
|
|
13
9
|
|
|
14
10
|
```bash
|
|
15
|
-
npx @swmansion/argent@latest init
|
|
16
|
-
# or, in a pnpm project (where npm's devEngines check may refuse to run npx):
|
|
17
|
-
pnpm dlx @swmansion/argent@latest init
|
|
11
|
+
npx @swmansion/argent@latest init # pnpm: pnpm dlx @swmansion/argent@latest init
|
|
18
12
|
```
|
|
19
13
|
|
|
20
|
-
|
|
14
|
+
<p align="center"><img src="https://github.com/software-mansion/argent/blob/main/assets/showcase.gif" alt="argent showcase video gif" width="100%" /></p>
|
|
21
15
|
|
|
22
|
-
|
|
16
|
+
## What it does
|
|
23
17
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
- **Interact** - tap, swipe, gesture, type, hardware buttons; D-pad on TV; mouse and keyboard on desktop.
|
|
19
|
+
- **Flows** - record a path once, replay it deterministically as a repro or smoke test.
|
|
20
|
+
- **Visual regression** - diff a baseline against a live capture, OCR- and font-aware.
|
|
21
|
+
- **Profiling** - Hermes, React DevTools, Xcode Instruments, Perfetto: renders, CPU hotspots, hangs.
|
|
22
|
+
- **Debugging** - logs, network (`fetch` and native), JS evaluation, native and React trees.
|
|
23
|
+
- **React Native** - build, launch and iterate, no extra setup.
|
|
30
24
|
|
|
31
|
-
|
|
25
|
+
Ask your assistant _"What can Argent do?"_ to list every tool.
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
- **UI interaction** - Give your agent the full control toolkit - tapping, swiping, pinching, typing, gestures and hardware buttons on mobile; the directional remote on TV; mouse, scroll and drag on desktop/web. Let it navigate your app exactly as a user would, without lifting a finger.
|
|
35
|
-
- **Record & replay flows** - Capture a sequence of interactions once and let your agent replay it deterministically, so manual repros and smoke tests become repeatable.
|
|
36
|
-
- **Visual regression** - Diff two screenshots (or a saved baseline against a live capture) with OCR- and font-aware comparison to catch unintended UI changes.
|
|
37
|
-
- **Profiling with batteries included** - Argent can perform and analyze React Native (Hermes), React DevTools and native (Xcode Instruments / Android Perfetto) profiling sessions - down to fiber renders, CPU hotspots and cross-correlated commit-vs-hang reports. Get comprehensive summaries and ask to optimise your app where you find fit.
|
|
38
|
-
- **Debugging and diagnostics** - Let your agent inspect logs, capture network traffic (JS `fetch` and native), evaluate JS in the running app, walk the native UIKit and React component trees, and reproduce failing states - so you can jump straight to the fix.
|
|
39
|
-
- **Desktop & web control** - For Electron and Chromium apps your agent can drive tabs, read and write cookies and storage, walk the DOM and inspect network over the Chrome DevTools Protocol.
|
|
40
|
-
- **React Native out of the box** - Argent works with React Native apps natively, so your agent can build, launch, and iterate on your RN project the same way it would any native app - no extra setup required.
|
|
27
|
+
## Documentation
|
|
41
28
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<br/>
|
|
45
|
-
<p align="center">
|
|
46
|
-
<img src="https://github.com/software-mansion/argent/blob/main/assets/showcase.gif" alt="argent showcase video gif" width="100%" />
|
|
47
|
-
</p>
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Installation
|
|
52
|
-
|
|
53
|
-
#### Prerequisites
|
|
54
|
-
|
|
55
|
-
- **Node.js 20.12** or later
|
|
56
|
-
- For iOS / tvOS: macOS with **Xcode** installed (Apple TV uses tvOS simulators — Xcode downloads the tvOS runtime on demand)
|
|
57
|
-
- For Android / Android TV: **Android SDK Platform Tools** (`adb`) on `PATH`, and the **Android Emulator** package if you want to boot AVDs from Argent. Create AVDs via Android Studio or `avdmanager`.
|
|
58
|
-
- For Fire TV (Vega): the **Vega SDK** (`vega` CLI) on `PATH`
|
|
59
|
-
- For Electron / Chromium: nothing extra to control an already-running app - just launch it with `--remote-debugging-port`, or let Argent spawn your Electron app for you
|
|
60
|
-
|
|
61
|
-
##### Linux host: extra prerequisites for Android emulators
|
|
62
|
-
|
|
63
|
-
Argent runs Android emulators on Linux but the default install can be slow if a few host-side knobs aren't right. Cover these once and the experience matches macOS:
|
|
64
|
-
|
|
65
|
-
- **KVM access.** The emulator falls back to slow software emulation (TCG) without `/dev/kvm`. Make sure virtualization is enabled in BIOS/UEFI (`vmx` for Intel, `svm` for AMD in `/proc/cpuinfo`) and that your user can read/write `/dev/kvm` — on most distros that means joining the `kvm` group:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
sudo usermod -aG kvm "$USER"
|
|
69
|
-
# log out and back in so the new group takes effect
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
- **GPU mode (`-gpu swiftshader` on Linux, override available).** The Android emulator's Linux GPU story is messy: `-gpu auto` frequently resolves to lavapipe (slow software Vulkan via host libvulkan, ~10× cold-boot regression on flagship hardware), and `-gpu host` silently produces a corrupted or black emulator window on hosts with non-trivial GL stacks — dual-GPU / Optimus laptops, NVIDIA + Mesa coexistence via libglvnd, Wayland sessions on hybrid graphics, headless / containerized hosts. The failure mode is invisible to argent's framebuffer-based screenshot tool, so an agent reports success while the developer sees a black window.
|
|
73
|
-
|
|
74
|
-
Argent picks `-gpu swiftshader` on Linux for universal compatibility: it sidesteps the host GL stack entirely and renders via the emulator's bundled SwiftShader. On modern multi-core machines this is indistinguishably smooth from hardware-accelerated `-gpu host` (and far faster than lavapipe).
|
|
75
|
-
|
|
76
|
-
Override with the `ARGENT_EMULATOR_GPU_MODE` env var if you've verified `-gpu host` works on your machine (typical single-GPU Mesa box with a healthy X session):
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
ARGENT_EMULATOR_GPU_MODE=host argent ...
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Argent's boot-device preflight prints a warning if `/dev/kvm` isn't usable — the condition that causes a 10–50× TCG-vs-KVM slowdown.
|
|
83
|
-
|
|
84
|
-
- **System image.** Prefer the `default` or `google_apis` variants of `x86_64` system images for headless agent workflows; `google_apis_playstore` adds noticeable boot-time CPU churn from Play services. Always pick `x86_64` on Intel/AMD hosts — ARM images run via QEMU translation and are dramatically slower.
|
|
85
|
-
|
|
86
|
-
- **AVD config.** AVDs created via `avdmanager create avd` default to `hw.gpu.enabled=no`. Argent overrides this with an explicit `-gpu` arg at launch (so the on-disk config doesn't need editing). For the smoothest experience under heavy native builds (gradle compilations alongside the AVD), bump the AVD's RAM and CPU count — edit `~/.android/avd/<name>.avd/config.ini`:
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
hw.ramSize = 8192
|
|
90
|
-
hw.cpu.ncore = 6
|
|
91
|
-
vm.heapSize = 512
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Stock 2 GB / 4 vCPU AVDs can be CPU-starved into wedged-system_server states by a concurrent gradle/Kotlin compile.
|
|
95
|
-
|
|
96
|
-
- **Headless / CI mode (`ARGENT_EMULATOR_NO_WINDOW=1`).** Argent shows the emulator window by default so a local developer can see the AVD UI. In a headless context — CI runner, container, or a Wayland-only session where the emulator's bundled Qt has no `wayland` platform plugin and SIGABRTs on the crash-consent dialog — opt out by exporting `ARGENT_EMULATOR_NO_WINDOW=1` before starting the tool-server. This appends `-no-window` to the spawn args, selecting `qemu-system-x86_64-headless` which doesn't need a Qt window. Argent's screencap-based screenshot tool reads the in-memory framebuffer correctly without a visible window.
|
|
97
|
-
|
|
98
|
-
#### Run `init` in your project
|
|
99
|
-
|
|
100
|
-
From your project root:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
npx @swmansion/argent@latest init
|
|
104
|
-
# or, in a pnpm project (where npm's devEngines check may refuse to run npx):
|
|
105
|
-
pnpm dlx @swmansion/argent@latest init
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
This command triggers an installation wizard which:
|
|
109
|
-
|
|
110
|
-
- Installs `@swmansion/argent` globally
|
|
111
|
-
- Detects your editor and registers the MCP server
|
|
112
|
-
- Copies skills, rules, and agent definitions into your workspace
|
|
113
|
-
|
|
114
|
-
#### Prefer a manual install?
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
npm install -g @swmansion/argent
|
|
118
|
-
argent init
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
#### Share Argent with your team (committable install)
|
|
122
|
-
|
|
123
|
-
By default Argent installs **globally**. To version Argent _with your repo_ so every
|
|
124
|
-
teammate gets the same setup on `npm install` — no per-developer global install, no
|
|
125
|
-
`argent init` — choose the local mode:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
npx @swmansion/argent@latest init --local
|
|
129
|
-
# or, in a pnpm project:
|
|
130
|
-
pnpm dlx @swmansion/argent@latest init --local
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
> Note: in a freshly `pnpm init`-ed project, `npx` itself may refuse to run
|
|
134
|
-
> (npm's `devEngines` check) — use the `pnpm dlx` form there.
|
|
135
|
-
|
|
136
|
-
This adds `@swmansion/argent` to your project's `devDependencies` and writes MCP
|
|
137
|
-
configs that launch the project-local copy (`node node_modules/@swmansion/argent/dist/cli.js mcp`).
|
|
138
|
-
Commit `package.json` + your lockfile, the generated MCP config (`.mcp.json`,
|
|
139
|
-
`.cursor/mcp.json`, …), `.argent/install.json`, and the skills/rules/agents files.
|
|
140
|
-
Teammates then just run `npm install`.
|
|
141
|
-
|
|
142
|
-
Pass `--global` to force the default mode in scripts; `--local` and `--global` are
|
|
143
|
-
mutually exclusive. A non-interactive (`--yes`) run defaults to global unless the
|
|
144
|
-
project already opted into local mode (a committed `.argent/install.json`, or
|
|
145
|
-
`@swmansion/argent` declared in the project's own `package.json`).
|
|
146
|
-
|
|
147
|
-
> In local mode the committed MCP config runs the project-local copy, so the bare
|
|
148
|
-
> `argent` command is **not** on teammates' `PATH`. Note that `npm install` builds
|
|
149
|
-
> Argent's native deps (`tree-sitter`) on each machine — prebuilt for macOS, Linux
|
|
150
|
-
> x64, and Windows x64; other targets (Linux arm64, Windows arm) compile from source
|
|
151
|
-
> and need a C/C++ toolchain.
|
|
152
|
-
|
|
153
|
-
## CLI Reference
|
|
154
|
-
|
|
155
|
-
| Command | Description |
|
|
156
|
-
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
157
|
-
| `argent init` | Install and configure MCP in the current workspace (`--global` default, `--local` for a committable devDependency) |
|
|
158
|
-
| `argent install` | Alias for `init` command |
|
|
159
|
-
| `argent update` | Pull the latest version and refresh workspace configuration (acts on the present install — both when a global install and a project devDependency coexist; `--global`/`--local` select explicitly) |
|
|
160
|
-
| `argent uninstall` | Unregister the MCP server and uninstall the package (`--global`/`--local` choose which install — and its configs — is removed; non-interactive runs never remove a coexisting global install) |
|
|
161
|
-
| `argent remove` | Alias for `uninstall` command |
|
|
162
|
-
| `argent mcp` | Start MCP server instance, used internally by agent |
|
|
163
|
-
| `argent tools` | List tools exposed by the tool-server (`describe <name>` for details) |
|
|
164
|
-
| `argent run` | Invoke a tool by name |
|
|
165
|
-
| `argent server` | Manage the shared tool-server: `start` / `status` / `stop` / `logs` |
|
|
166
|
-
| `argent lens` | Open Argent Lens bound to a fresh coding-agent session — Claude by default, `--agent` selects codex/gemini/opencode/cursor (macOS; behind the `argent-lens` flag — run `argent enable argent-lens` first) |
|
|
167
|
-
| `argent link` | Route client requests to a remote tool-server |
|
|
168
|
-
| `argent unlink` | Remove the persisted remote tool-server link |
|
|
169
|
-
| `argent enable` | Enable a predefined feature flag (`--scope project` for project-local) |
|
|
170
|
-
| `argent disable` | Disable a feature flag (`--scope project` for project-local) |
|
|
171
|
-
| `argent flags` | List available feature flags and their state |
|
|
172
|
-
| `argent providers` | Inspect and manage external device providers: `list` / `check` / `publish` / `withdraw` / `prune` |
|
|
173
|
-
| `argent telemetry` | Manage telemetry: `status` / `enable` / `disable` |
|
|
174
|
-
|
|
175
|
-
## Supported Editors
|
|
176
|
-
|
|
177
|
-
`argent init` auto-detects and configures MCP for:
|
|
178
|
-
|
|
179
|
-
| Editor | Config location |
|
|
180
|
-
| ----------- | --------------------------------------------------------------------------- |
|
|
181
|
-
| Claude Code | `.mcp.json` (project) or `~/.claude.json` (global) |
|
|
182
|
-
| Cursor | `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global) |
|
|
183
|
-
| VS Code | `.vscode/mcp.json` |
|
|
184
|
-
| Windsurf | `~/.codeium/windsurf/mcp_config.json` (global) |
|
|
185
|
-
| Zed | `.zed/settings.json` (project) or `~/.config/zed/settings.json` (global) |
|
|
186
|
-
| Gemini CLI | `.gemini/settings.json` |
|
|
187
|
-
| Codex CLI | `.codex/config.toml` (project) or `~/.codex/config.toml` (global) |
|
|
188
|
-
| Hermes | `~/.hermes/config.yaml` (global) |
|
|
189
|
-
| opencode | `opencode.json` (project) or `~/.config/opencode/opencode.json` (global) |
|
|
190
|
-
| Kiro | `.kiro/settings/mcp.json` (project) or `~/.kiro/settings/mcp.json` (global) |
|
|
29
|
+
[Installation](https://docs.swmansion.com/argent/docs/fundamentals/installation) · [Platforms](https://docs.swmansion.com/argent/docs/fundamentals/supported-platforms) · [CLI](https://docs.swmansion.com/argent/docs/reference/cli) · [Editors](https://docs.swmansion.com/argent/docs/reference/editors)
|
|
191
30
|
|
|
192
31
|
## Privacy
|
|
193
32
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
You can opt out at any time:
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
argent telemetry disable # check status with: argent telemetry status
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
For the full details — see the [Argent Privacy Notice (Telemetry)](https://github.com/software-mansion/argent/blob/main/Telemetry.md).
|
|
33
|
+
Telemetry is opt-out: `argent telemetry disable`. See the [Privacy Notice](https://github.com/software-mansion/argent/blob/main/Telemetry.md).
|
|
203
34
|
|
|
204
35
|
## License
|
|
205
36
|
|
|
206
|
-
Argent uses a mixed licensing model.
|
|
207
|
-
|
|
208
|
-
**Source code** is released under the [Apache License 2.0](LICENSE.txt).
|
|
209
|
-
|
|
210
|
-
**Proprietary binaries** (the per-platform `bin/<platform>/simulator-server` and `bin/darwin/ax-service` executables and the `.dylib` files in `native-devtools-ios`) are the intellectual property of Software Mansion S.A. and are licensed solely for use within this project. Decompiling, reverse-engineering, or redistributing them without explicit written permission is prohibited.
|
|
211
|
-
|
|
212
|
-
By using Argent, you acknowledge and agree to this structure. See [LICENSE](https://github.com/software-mansion/argent/blob/main/LICENSE.txt) for full details.
|
|
37
|
+
Argent uses a mixed licensing model. **Source code** is released under the [Apache License 2.0](LICENSE.txt). **Proprietary binaries** (the per-platform `bin/<platform>/simulator-server` and `bin/darwin/ax-service` executables and the `.dylib` files in `native-devtools-ios`) are the intellectual property of Software Mansion S.A. and are licensed solely for use within this project. Decompiling, reverse-engineering, or redistributing them without explicit written permission is prohibited. By using Argent, you acknowledge and agree to this structure. See [LICENSE](https://github.com/software-mansion/argent/blob/main/LICENSE.txt) for full details.
|
|
213
38
|
|
|
214
39
|
## Argent is created by Software Mansion
|
|
215
40
|
|
package/dist/cli-cmds.mjs
CHANGED
|
@@ -21857,7 +21857,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
21857
21857
|
var SESSION_ID2 = randomUUID5();
|
|
21858
21858
|
function readCliVersion() {
|
|
21859
21859
|
if (true) {
|
|
21860
|
-
return "0.24.1-next.
|
|
21860
|
+
return "0.24.1-next.16";
|
|
21861
21861
|
}
|
|
21862
21862
|
return "0.0.0";
|
|
21863
21863
|
}
|
package/dist/installer.mjs
CHANGED
|
@@ -16710,7 +16710,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
16710
16710
|
var SESSION_ID = randomUUID4();
|
|
16711
16711
|
function readCliVersion() {
|
|
16712
16712
|
if (true) {
|
|
16713
|
-
return "0.24.1-next.
|
|
16713
|
+
return "0.24.1-next.16";
|
|
16714
16714
|
}
|
|
16715
16715
|
return "0.0.0";
|
|
16716
16716
|
}
|
package/dist/tool-server.cjs
CHANGED
|
@@ -94702,7 +94702,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
94702
94702
|
var SESSION_ID = (0, import_node_crypto3.randomUUID)();
|
|
94703
94703
|
function readCliVersion() {
|
|
94704
94704
|
if (true) {
|
|
94705
|
-
return "0.24.1-next.
|
|
94705
|
+
return "0.24.1-next.16";
|
|
94706
94706
|
}
|
|
94707
94707
|
return "0.0.0";
|
|
94708
94708
|
}
|
package/package.json
CHANGED