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>
* 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
* 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>
* 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>
* 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>
* 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
* 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
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>
* chore: update .gitignore and remove deprecated scripts, remove artifacts from MCP
* chore: remove unused files and scripts, including .DS_Store and benchmark scripts
* 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
* 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
* 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: 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