Files
software-mansion__argent/README.md
Ignacy Łątka 531f74b45a revert: drop fixes that are out of scope for the Android branch
Reverts the following 8 commits that landed on this branch but are
unrelated to Android emulator support and bloat the PR diff:

  - 19d2b38 fix(docs): correct Codex and Windsurf config paths in README editors table
  - c239597 fix(stop-metro): only SIGTERM the LISTEN process, not connected clients
  - 4e5e874 fix(native-target-app): tolerate per-app getAppState failures via allSettled
  - 20f6802 fix(network-interceptor): stringify URLSearchParams and tag binary bodies instead of dropping them
  - eeb69ea fix(update-argent): clear the in-progress lock when the spawned update fails
  - c20b4a5 fix(native-find-views): require at least one filter at runtime, matching the docstring
  - fc4999b fix(debugger): selectTarget throws on empty deviceId filter instead of routing to wrong target
  - 90f5a2b fix(idle-timer): block onIdle while a tool call is in flight

Each of these is a real defect, but they touch pre-existing code that
predates this branch. The fix branches remain on origin (fix/*) and can
be reopened as standalone PRs off main.

In-scope fixes are kept:
  - 474d240 fix(adb): match terminal errors that include a quoted serial
  - 93f588d fix(boot-device): handle child spawn errors so tool-server doesn't crash
  - cb4ebfe fix(ios-profiler-analyze): report missing trace files instead of returning All clear (file was renamed on this branch)
  - 38e44f4 fix(describe): declare xcrun dep so missing Xcode returns 424 with install hint (describe became cross-platform on this branch)
2026-05-04 22:26:17 +02:00

111 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<br/>
<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>
<br/>
**[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.
```bash
npx @swmansion/argent init
```
## Capabilities
- **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.
- **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.
- **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.
- **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.
- **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 iOS app - no extra setup required.
> **Tip:** Once installed, ask your assistant _"What can Argent do?"_ - it will walk you through all capabilities available.
<br/>
<p align="center">
<img src="https://github.com/software-mansion/argent/blob/main/assets/showcase.gif" alt="argent showcase video gif" width="100%" />
</p>
---
## Installation
#### Prerequisites
- **Node.js 18** or later
- For iOS: macOS with **Xcode** installed
- 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`.
#### Run `init` in your project
From your project root:
```bash
npx @swmansion/argent init
```
This command triggers an installation wizard which:
- Installs `@swmansion/argent` globally
- Detects your editor and registers the MCP server
- Copies skills, rules, and agent definitions into your workspace
#### Prefer a manual install?
```bash
npm install -g @swmansion/argent
argent init
```
## CLI Reference
| Command | Description |
| ------------------ | ----------------------------------------------------------- |
| `argent init` | Install globally and configure MCP in the current workspace |
| `argent install` | Alias for `init` command |
| `argent update` | Pull the latest version and refresh workspace configuration |
| `argent remove` | Unregister the MCP server and uninstall the package |
| `argent uninstall` | Alias for `remove` command |
| `argent mcp` | Start MCP server instance, used internally by agent |
## Supported Editors
`argent init` auto-detects and configures MCP for:
| Editor | Config location |
| ----------- | ------------------------------------------------------------------------ |
| Claude Code | `.mcp.json` (project) or `~/.claude.json` (global) |
| Cursor | `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global) |
| VS Code | `.vscode/mcp.json` |
| Windsurf | `.windsurf/mcp.json` |
| Zed | `.zed/settings.json` |
| Gemini CLI | `.gemini/settings.json` |
| Codex CLI | `.codex/config.yaml` |
| opencode | `opencode.json` (project) or `~/.config/opencode/opencode.json` (global) |
## Privacy
Argent does not collect or transmit any user data.
No telemetry, no analytics, no crash reporting.
- Argent integrates with your agent locally over MCP stdio.
- Its internal tools are not reachable from outside your machine.
- The only outbound network call we make is the version check against our public npm package, which sends no user data and fails gracefully if blocked.
## License
Argent uses a mixed licensing model.
**Source code** is released under the [Apache License 2.0](LICENSE.txt).
**Proprietary binaries** (the `bin/simulator-server` and `bin/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.
## Argent is created by Software Mansion
Since 2012 [Software Mansion](https://swmansion.com) is a software agency with experience in building web and mobile apps. We are Core React Native Contributors and experts in dealing with all kinds of React Native issues. We can help you build your next dream product – [Hire us](https://swmansion.com/contact/projects?utm_source=argent&utm_medium=readme).
[![swm](https://logo.swmansion.com/logo?color=white&variant=desktop&width=150&tag=argent-github "Software Mansion")](https://swmansion.com)