221 Commits

Author SHA1 Message Date
pFornagiel 6d592f8c75 docs: update argent tapping rules to include handling of describe failures due to permissions/accessibility issues v0.3.3 2026-04-01 13:00:28 +02:00
Filip131311 52f7aaddd5 Merge branch 'main' of github.com:software-mansion/argent 2026-04-01 12:49:21 +02:00
Filip131311 4978ee0351 fix describe functionality after removing license validation 2026-04-01 12:49:05 +02:00
Paweł Fornagiel 6a9b498b21 refactor: enhance module scanning in debugger scripts (#60) 2026-04-01 12:47:51 +02:00
Filip131311 ca3975cd50 fix: normalize localhost to 127.0.0.1 in Origin header for CDP WebSocket connections
Satisfies both RN >= 0.85 Metro (which requires an Origin header) and
Expo's dev server (which does an exact match against its serverBaseUrl,
127.0.0.1, rejecting connections with Origin: localhost).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 12:44:11 +02:00
Filip131311 e8b37419eb Revert "chore: refix react native 85 (#61)"
This reverts commit d4e8fcc887.
2026-04-01 12:41:19 +02:00
filip131311 d4e8fcc887 chore: refix react native 85 (#61) 2026-04-01 12:37:41 +02:00
Paweł Fornagiel 843b85eb0f fix: simplify local installation flow and add --from tarball support (#59)
* fix: streamline installation prompt in CLI initialization

* feat: enhance CLI initialization to support installation from tarball

* fix: update installation prompt label in CLI initialization for clarity
2026-04-01 12:15:15 +02:00
Ignacy Łątka 5bce4f8c73 feat: Add support for gemini-cli (#48)
* feat: add Gemini CLI MCP adapter

Adds a new adapter for Gemini CLI so that `argent init` detects and configures the MCP server in ~/.gemini/settings.json. Gemini CLI uses the same mcpServers format as Cursor/Windsurf.

Closes ARG-38

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: tighten Gemini detect(), add tests, document getCopyTargets gap

- detect() now checks for ~/.gemini/settings.json (not just the dir) to
  avoid false positives from Google Cloud SDK creating ~/.gemini
- Add full Gemini adapter test suite (7 tests: write, remove, paths,
  preserve existing settings)
- Add copyRulesAndAgents test confirming Gemini returns empty (intentional)
- Fix ALL_ADAPTERS count assertion (5 → 6)
- Add comment in getCopyTargets switch explaining Windsurf/Zed/Gemini omission

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: revert detect() to dirExists — gcloud does not create ~/.gemini

The previous change switched to checking settings.json existence with
a comment claiming ~/.gemini could be created by Google Cloud SDK.
That claim is unsubstantiated — gcloud uses ~/.config/gcloud exclusively.
Reverted to the simpler dirExists check, consistent with other adapters.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: support project-level Gemini config at <root>/.gemini/settings.json

Gemini CLI loads workspace settings from <cwd>/.gemini/settings.json
(confirmed in gemini-cli-core/dist/src/config/storage.js getWorkspaceSettingsPath)
and these take precedence over global user settings. projectPath() was
incorrectly returning null, making Gemini global-only like Windsurf.

Updated projectPath() to return the correct project path and fixed the
corresponding test assertion.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: detect Gemini by local .gemini dir in addition to global

detectAdapters() would miss Gemini when a user only has a project-local
.gemini/ directory and no global ~/.gemini. Mirrors the Cursor/VS Code
pattern of checking both homedir and cwd.

Also adds a test covering the local detection path.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* cleanup: reformat

* fix: add config case for gemini

* fix: correct copyRulesAndAgents test for Gemini adapter

The test used scope:"global" and asserted an empty result, based on a
stale assumption that getCopyTargets had no Gemini case. The final commit
in this PR added that case, making the test both wrong (failed assertion)
and unsafe (wrote files into the real ~/.gemini on the test runner).

Switch to scope:"local" so writes go into tmpDir/.gemini, and assert
that rules and agents are actually copied there.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* test: mock homedir in copyRulesAndAgents, add global-scope Gemini test

Replace the previous local-only fix with a proper vi.mock("node:os")
that intercepts the homedir binding inside mcp-configs.ts. A module-level
homedirOverride variable (read at call time, not factory time) lets each
test redirect homedir to a path inside tmpDir.

- Adds scope:"global" Gemini test writing to tmpDir/home/.gemini/
- Adds afterEach in copyRulesAndAgents describe to reset the override
- Keeps existing scope:"local" Gemini test

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* feat: add addAllowlist/removeAllowlist to Gemini adapter

Gemini CLI supports trust:true per-server in settings.json to bypass
tool-call confirmations. Wire it up via the addAllowlist interface so
argent init can offer auto-approve for Gemini the same as other editors.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:39:20 +02:00
filip131311 aec65427ab chore: remove license validation (#58)
* init

* init

* Delete .vscode/mcp.json
2026-03-31 21:32:08 +02:00
Ignacy Łątka 66b5ace73e feat: Add community contributor files (#53)
* docs: add CONTRIBUTING.md, CODE_OF_CONDUCT.md, and CHANGELOG.md

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* docs: fix package name in CONTRIBUTING.md project structure table

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* docs: update CONTRIBUTING.md to reflect UI deprecation and skill renames

Remove @argent/ui references (package deleted), drop start:ui and full-stack
start description, remove ui from build/test examples, update simulator-server
requirement to reflect it is no longer bundled in the repo, and note the
argent-* prefix convention for skill files.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* rm changelog

* docs: replace custom CoC with Contributor Covenant v1.4

Aligns CODE_OF_CONDUCT.md to the standard used across Software Mansion
open source projects (react-native-svg). Direct copy of Contributor
Covenant v1.4 with enforcement email updated for this project.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* docs: replace custom Code of Conduct with Contributor Covenant v1.4

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:01:29 +02:00
Ignacy Łątka d510363ceb chore: Cleanup unused ServiceDefinition (#51)
* chore: remove unused exported types and interfaces

Remove ServiceDefinition interface, ServiceRuntimeError and
ServiceDisposalError classes from the registry package, and
unexport ContentBlock type from the mcp package — none are
imported or referenced anywhere in the codebase.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: re-export ContentBlock type for consumer type annotations

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 20:21:30 +02:00
pFornagiel d00289cb1b refactor: simplify banner printing in CLI initialization 2026-03-31 20:19:04 +02:00
Paweł Fornagiel c24ed76b41 cli: kill tool-server on update/uninstall, add allowlist management and init improvements (#57)
* feat: implement tool-server termination in postinstall and CLI commands

* feat: add aliases for install and uninstall commands in CLI

* feat: enhance CLI initialization with global/local installation options and update checks

* feat: implement allowlist management for MCP tools in CLI initialization, update, and uninstall processes
2026-03-31 20:15:22 +02:00
Paweł Fornagiel 85ef733835 refactor: rename RADON references to ARGENT across the codebase (#56)
* refactor: rename RADON references to ARGENT across the codebase

* Merge main into branch and complete ARGENT rename in new files

Merges main's changes: modular CLI architecture, UI package deprecation,
db tool removal, skills/agents prefix rename, and MCP server consolidation.
Extends the RADON→ARGENT rename to cover new files introduced in main
(ARGENT_MCP_LOG, ARGENT_TOOLS_URL env vars, argent-skills bin).

Made-with: Cursor

* fix: rename RADON_MCP_LOG in observe.cjs, regenerate lockfile for argent-skills bin

Made-with: Cursor

* chore: remove accidental PUBLIC_RELEASE_AUDIT.md
2026-03-31 17:24:51 +02:00
Paweł Fornagiel 2767400cac feat: add run-sequence tool for batching simulator interactions (#55)
* feat: add run-sequence tool for executing multiple simulator interactions sequentially

* Gesture tool family: rename, add pinch/rotate, interpolation (#37)

* feat: add pinch, rotate and interpolateion to gesture

* refactor: rename files, where definitions changed

* refactor: move gesture-custom to utils folder

* docs: clarify normalization of coordinates and distances in gesture tools

* docs: update simulator interaction documentation to emphasize loading tool schemas before first use

* feat: add action sequencing with `run-sequence` tool for batching interactions

* feat: some improvements

* feat: Update auto-screenshot delays and improve documentation for argent MCP tools
2026-03-31 15:58:02 +02:00
Ignacy Łątka 035d867b4f fix: remove debug console.logs injected into user app processes (#52)
Removes the console.log('[rn-mcp:render]', ...) call inside
FIBER_ROOT_TRACKER_SCRIPT that was being injected via cdp.evaluate()
into the user's React Native app process. Also removes the now-dead
stats-collection loop that existed solely to feed that log line —
render data is read separately by the profiler tools via
COLLECT_RENDERS_SCRIPT walking hook.__rn_mcp_roots__ directly.

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 15:38:54 +02:00
Ignacy Łątka 096dd07315 chore: add .gitignore entries for build artifacts (#50)
- Add build/ and packages/*/build/ patterns
- Fix **/*.tsbuildinfo to cover nested tsbuildinfo files (e.g. packages/ui/tsconfig.tsbuildinfo)
- Add *.js.map and *.d.ts.map source map patterns
- Reorganise .gitignore into labelled sections for clarity
- Remove packages/ui/tsconfig.tsbuildinfo from tracking (build artifact)

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 15:26:25 +02:00
Ignacy Łątka 167b604bb8 chore: fix typos throughout entire repo (#46)
* fix: fix typos in comments, docs, and string literals

- succesful → successful, preffered → preferred (argent.md)
- instructs to starts → instructs to start (ios-profiler/SKILL.md)
- possibilites → possibilities (react-native-profiler/SKILL.md)
- refering → referring (react-native-profiler/SKILL.md)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix: fix remaining typos across docs, skills, and source files

- Add missing space in argent.md: \`describe\`and → \`describe\` and
- American English: Analyse → Analyze, recognise → recognize,
  unrecognised → unrecognized, initialised → initialized, behaviour → behavior
- Fix broken step reference in SKILL.md: step &4 → step 4
- Fix gender-specific pronoun: he does not → they do not

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* fix(typo): add missing article 'a' in react-native-profiler SKILL.md

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 15:24:21 +02:00
Paweł Fornagiel 4eb3dba86c Consolidate MCP server under argent mcp subcommand (#49)
* feat: refactor MCP CLI and server structure

* feat: add directory cleanup for build artifacts in bundle-tools script
2026-03-31 14:45:54 +02:00
pFornagiel 259ce276b4 feat: add directory cleanup for build artifacts in bundle-tools script 2026-03-31 14:38:25 +02:00
Paweł Fornagiel 5146631f1a feat: rename skills, subagents and rules to start with prefix argent (#43) 2026-03-31 14:19:57 +02:00
Paweł Fornagiel da707875b1 feat: deprecate UI package (#45)
* feat: delete ui package

* feat: delete left tsconfig.buildinfo
2026-03-31 14:19:10 +02:00
Paweł Fornagiel 0f903c312b chore: remove committed artifacts, binaries, and dev-only scripts (#47)
* chore: update .gitignore and remove deprecated scripts, remove artifacts from MCP

* chore: remove unused files and scripts, including .DS_Store and benchmark scripts
2026-03-31 14:18:54 +02:00
Ignacy Łątka 09d1971bf6 remove db tool (#44) 2026-03-31 13:09:53 +02:00
pFornagiel 31d7e5b39d chore: bump to 0.3.2 v0.3.2 2026-03-27 19:15:02 +01:00
Paweł Fornagiel d2d0da8bdd feat: improved npx CLI with modular architecture, ASCII banner, and docs (#42)
* feat: first improved CLI implementation

* feat: add ASCII banner to `argent init` and installation guide

Add a gradient ASCII art banner displayed at the start of `argent init`.
Add docs/install-guide.md with concise instructions for installing from
the GitHub Packages registry (including PAT generation) and from a local
tarball.

Made-with: Cursor

* refactor: update ASCII banner in `init.ts` for improved aesthetics
2026-03-27 19:12:05 +01:00
pFornagiel 83bd5315fe chore: update lockfile for 0.3.1 2026-03-25 16:17:20 +01:00
pFornagiel 4224e39067 chore: add manual publish dispatch 2026-03-25 16:15:27 +01:00
pFornagiel 4f418c6794 chore: bump to 0.3.1 v0.3.1 2026-03-25 16:01:15 +01:00
Paweł Fornagiel 77dd289d78 feat: replace auto-postinstall with npx @software-mansion/argent install (#41)
* feat: add first implememntation of environment subagent

* chore: remove the irrelavnt skill from main project config

* feat: add rules support and enhance postinstall script for Argent tools (#23)

* feat: add first implememntation of environment subagent

* feat: enhance argent.md with environment inspection subagent details and workspace information retrieval guidelines

* feat: introduce argent.md with comprehensive guidelines for iOS simulator interactions and React Native workflows

* fix: fix postinstall script

* fix: fix Install Argent launch.json job

* feat: add environment inspector design document and research notes on MCP error signaling

* chore: update .gitignore to include MCP agents and rules directories

* fix: update `argent.md` rule with alwaysApply: true for cursor compatibility

* chore: remove mcp/rules from index

* feat: add basic npx flow

* feat: cicd for releasing the package as nmp through github

* fix: update package name references from @software-mansion-labs to @software-mansion in documentation and configuration files

* refactor: simplify postinstall script for @software-mansion/argent and update configuration instructions
2026-03-25 15:59:12 +01:00
pFornagiel 724286bd61 chore: bump to 0.3.0 2026-03-24 10:39:01 +01:00
Paweł Fornagiel f0044422fd feat: add killArgentProcesses utility for managing running processes (#40) 2026-03-24 10:37:54 +01:00
pFornagiel f068a21c54 Enhance argent.md and SKILL.md documentation for tapping rules and simulator interactions 2026-03-23 18:41:50 +01:00
Paweł Fornagiel cbb1655110 Gesture tool family: rename, add pinch/rotate, interpolation (#37)
* feat: add pinch, rotate and interpolateion to gesture

* refactor: rename files, where definitions changed

* refactor: move gesture-custom to utils folder

* docs: clarify normalization of coordinates and distances in gesture tools

* docs: update simulator interaction documentation to emphasize loading tool schemas before first use
2026-03-23 17:14:36 +01:00
Paweł Fornagiel a7f198a743 Update skills and interaction tools (#36)
* Enhance iOS and React Native profiling documentation

* feat: impove flow recording process

* feat: add fallback to describe

* docs: clarify interaction tool usage and improve React Native element discovery guidance

* docs: refine tap failure handling and enhance React Native element discovery instructions

* docs: clarify normalized coordinate usage across interaction tools and enhance user guidance

* docs: update argent.md to clarify skill reading requirements before tool execution
2026-03-23 16:17:34 +01:00
Stanislaw Bialecki e673cac8e6 feat: compact ios profiler report + curate subsequent profiler runs (#33)
* feat: compact ios profiler report + ensure wallAnchor for combined report

* refactor: react profiler session disposal

* refactor: rename rn-devtools-debug to argent-profiler-cwd
2026-03-23 12:11:41 +01:00
Paweł Fornagiel 3d1a5dbe08 feat: Enhance component tree filtering in debugger (#35) 2026-03-23 10:56:11 +01:00
Ignacy Łątka b62b076d7f feat: Add react-native-optimization skill (#34)
* feat: add optimization skill

* fix: Describe the relation between `react-native-optimization` and `react-native-profiler` skills

* compress, focus on tools more.

* fix: Add more tool usage flows to optimization skill, cleanup

* fix: Rename tool references after merge

* fix: Cleanup `react-native-optimization` skill

* mention optimization in metro debugger

* fix: Add script cross-references
2026-03-19 19:58:43 +01:00
Stanislaw Bialecki 7cb6e7b457 Ios instruments profiler (#21)
* feat:  rename previous profiler tools to react-profiler

* feat: add ios-instruments profiler with default tracetemplate

* fix: copying Argent.tracetemplate on install

* feat: enhance CPU profiling capabilities in react-profiler and ios-instruments + initial enable re-querying (investigating) the profiler output

* feat: enable analyzing old profiling sessions, enhance profiling tools interoperability

* refactor: stream react profiler data to files instead of runtime aggregate var

* chore: add xml-parser test

* chore: rm clg

* feat: ad ios-instruments timeout

* chore: cleanup reactProfilerAnalyze warning cond

* refactor: ensure not dividing by 0 in profilerCombinedReportTool

* fix: inject react commit-capture hook before startProfiling

* fix: rm main signature from rn framework trace analysis

* chore: writeReport fail

* fix: potential sampleIdx in parseCpuXml

* fix: timeDeltas[i] potentially undefined

* fix: decodeXml amp resolution sequence

* fix: rm rn-profiler skill from local repo

* feat: rename instruments to ios-profiler + improve react session stability
2026-03-19 11:16:22 +01:00
pFornagiel 8dd61a681e chore: bump version 2026-03-18 22:29:32 +01:00
pFornagiel 7e0291bbf7 chore: bump version 2026-03-18 22:29:08 +01:00
Paweł Fornagiel 7f68cdf785 fix: omit Origin header in WebSocket connection to support Expo's dev server (#32) 2026-03-18 19:56:21 +01:00
Paweł Fornagiel ab2774d8bb feat: implement reconnect logic for tools server and enhance fetch functionality (#31) 2026-03-18 19:55:35 +01:00
Paweł Fornagiel 0071a09d99 feat: add log registry for debugger console logs (#30)
* feat: first log registry implementation

* feat: refactor skills to mention how to use new log registry

* docs: update SKILL.md to include guidance for handling large log files

* refactor: update log file handling, change to .log instead of JSONL
2026-03-18 18:48:49 +01:00
Paweł Fornagiel 92cb3efbb4 feat: add screenshot scaling and update sim server binary (#29)
* feat: add screenshot scaling with new sim server binary

* fix: update default screenshot scale and enhance documentation for screenshot tool

* feat: update sim server binary

* feat: update simulator-server binary files
2026-03-18 18:38:25 +01:00
Ignacy Łątka 2c9e7788c3 Merge pull request #25 from software-mansion-labs/@latekvo/fix-network-inspector
feat: Network inspector tool
2026-03-18 17:54:25 +01:00
Filip131311 24d52a3382 Merge branch 'main' of github.com:software-mansion-labs/radon-lite 2026-03-18 15:47:14 +01:00
Filip131311 6c912c16cb remove a dead memory 2026-03-18 15:46:40 +01:00
Ignacy Łątka 9a6cf463ad Merge pull request #22 from software-mansion-labs/@latekvo/automation-scripting
feat: Add MCP tool scripting
2026-03-18 15:41:10 +01:00