@swmansion/argent 0.6.1 → 0.7.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/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </p>
7
7
  <br/>
8
8
 
9
- **[Argent](https://argent.swmansion.com)** is an **agentic toolkit** that gives your AI assistant direct access to iOS Simulators. Ask it to tap a button, run a profiler or reproduce an issue manually - all from within your CLI, without switching context.
9
+ **[Argent](https://argent.swmansion.com)** is an **agentic toolkit** that gives your AI assistant direct access to iOS Simulators and Android Emulators. Ask it to tap a button, run a profiler or reproduce an issue manually - all from within your CLI, without switching context.
10
10
 
11
11
  ```bash
12
12
  npx @swmansion/argent init
@@ -14,7 +14,7 @@ npx @swmansion/argent init
14
14
 
15
15
  ## Capabilities
16
16
 
17
- - **Autonomous iOS development** - Allow your agent to work with iOS apps on its own - let it build, open, interact with the app and debug it. Ask for reproducing issues, testing features manually, profiling your app and much more, without ever interrupting your work.
17
+ - **Autonomous iOS and Android development** - Allow your agent to work with iOS and Android apps on its own - let it build, open, interact with the app and debug it. Ask for reproducing issues, testing features manually, profiling your app and much more, without ever interrupting your work.
18
18
  - **UI interaction** - Give your agent full control toolkit - tapping, swiping, pinching, typing, gestures, hardware buttons and all other gears included. Let it navigate your app exactly as a user would, without lifting a finger.
19
19
  - **Profiling with batteries included** - Argent can perform and analyze both React-Native and Xcode Instruments profiling sessions. Get comprehensive summaries and ask to optimise your app where you find fit.
20
20
  - **Debugging and diagnostics** - Let your agent inspect logs, capture crash reports, and reproduce failing states on the simulator, so you can jump straight to the fix.
@@ -33,8 +33,9 @@ npx @swmansion/argent init
33
33
 
34
34
  #### Prerequisites
35
35
 
36
- - macOS with **Xcode** installed
37
36
  - **Node.js 18** or later
37
+ - For iOS: macOS with **Xcode** installed
38
+ - For Android: **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`.
38
39
 
39
40
  #### Run `init` in your project
40
41
 
@@ -45,7 +45,7 @@ but required by the main agent, fill it in by manual inspection of the project.
45
45
  - `expo` in dependencies or `app.json` with `expo` key → Expo project
46
46
  - `pubspec.yaml` present → Flutter project
47
47
  - `ios/*.xcodeproj` or `ios/*.xcworkspace` without `react-native` → native iOS
48
- - `android/build.gradle` without `react-native` → native Android
48
+ - `android/build.gradle` or `android/build.gradle.kts` without `react-native` → native Android
49
49
  - None of the above → classify based on what you find (web app, library, etc.)
50
50
 
51
51
  3. **Explore beyond the snapshot.** Use Read, Glob, Grep, and Bash to fill
@@ -64,7 +64,7 @@ but required by the main agent, fill it in by manual inspection of the project.
64
64
  flows (`.maestro/`).
65
65
  - For Flutter: `pubspec.yaml`, `analysis_options.yaml`, `lib/` structure.
66
66
  - For native iOS: Xcode project/workspace, schemes, `Podfile`, `Package.swift`.
67
- - For native Android: `build.gradle`, `settings.gradle`, flavor configs.
67
+ - For native Android: `build.gradle` / `build.gradle.kts`, `settings.gradle` / `settings.gradle.kts`, flavor configs.
68
68
 
69
69
  4. **Populate every field** in the output schema below. Use `null` for
70
70
  genuinely unknown values or fields that do not apply to this project type.
@@ -89,6 +89,8 @@ Return a JSON object with these top-level fields:
89
89
  | `startup_commands` | array | `[{ command, context }]` — concrete dev server start commands |
90
90
  | `build_commands` | array | `[{ command, platform, context }]` — build commands per platform |
91
91
  | `argent_workflow` | object | `{ start_dev_server, build_ios, build_android, notes }` — exact commands for Argent |
92
+ | `ios_has_podfile` | bool | True when `ios/Podfile` exists |
93
+ | `android_has_gradle` | bool | True when `android/gradlew` exists |
92
94
  | `configs` | object | Paths to metro, babel, app, tsconfig, pubspec, xcode, gradle configs (`null` if absent) |
93
95
  | `metro_port` | number\|null | From config or default 8081; `null` for non-RN |
94
96
  | `env_resolution` | object | `{ env_files, strategy, notes }` |
@@ -41,5 +41,5 @@ Look for these beyond the obvious lint/test configs, regardless of project type:
41
41
  - `lint-staged` config — what runs on commit
42
42
  - CI config files — the CI steps are ground truth for what "passing" means
43
43
  - `Podfile` / `Package.swift` — iOS dependency management
44
- - `build.gradle` / `settings.gradle` — Android build config and flavor definitions
44
+ - `build.gradle` / `build.gradle.kts` / `settings.gradle` / `settings.gradle.kts` — Android build config and flavor definitions (Groovy or Kotlin DSL)
45
45
  - `pubspec.yaml` / `analysis_options.yaml` — Flutter project config and lint rules
package/bin/ax-service CHANGED
Binary file
package/dist/cli-cmds.mjs CHANGED
@@ -459,7 +459,7 @@ Invoke a tool exposed by the argent tool-server. Run \`argent tools\` to list
459
459
  available tools, or \`argent tools describe <name>\` to see one tool's flags.
460
460
 
461
461
  Examples:
462
- argent run list-simulators
462
+ argent run list-devices
463
463
  argent run gesture-tap --udid <UDID> --x 0.5 --y 0.5
464
464
  argent run screenshot --udid <UDID> --out ./screen.png
465
465
  argent run run-sequence --udid <UDID> --steps-json '[{"tool":"button","args":{"button":"home"}}]'
@@ -14230,7 +14230,7 @@ async function startMcpServer(options) {
14230
14230
  { name: "argent", version: "0.5.3" },
14231
14231
  {
14232
14232
  capabilities: { tools: {} },
14233
- instructions: "Argent \u2014 iOS Simulator Control for interacting, testing, profiling and debugging mobile applications. Always use discovery tools (describe / debugger-component-tree / screenshot) before tapping \u2014 never guess coordinates. On session end: call stop-all-simulator-servers and perform any necessary cleanup. Full guidance is in the argent rule loaded from .claude/rules/argent.md."
14233
+ instructions: "Argent \u2014 iOS Simulator and Android Emulator control for interacting, testing, profiling and debugging mobile applications. Always use discovery tools (describe / debugger-component-tree / screenshot) before tapping \u2014 never guess coordinates. On session end: call stop-all-simulator-servers and perform any necessary cleanup. Full guidance is in the argent rule loaded from .claude/rules/argent.md."
14234
14234
  }
14235
14235
  );
14236
14236
  server.setRequestHandler(ListToolsRequestSchema, async () => {