Commit Graph

25 Commits

Author SHA1 Message Date
filip131311 0dca6bbfef fix: build workspace deps before packing/publishing argent (#172)
## Summary
- The `publish` and `publish-next` workflows ran `npm run build -w
@swmansion/argent` directly, but after the recent CLI/MCP/main split,
`@swmansion/argent` imports types from `@argent/cli`, `@argent/mcp`,
`@argent/installer`, `@argent/tools-client`. Those packages expose types
from their own `dist/index.d.ts`, which doesn't exist until they're
built — so argent's `tsc` failed with `TS2307: Cannot find module
'@argent/...'` (e.g. [run
25161244218](https://github.com/software-mansion/argent/actions/runs/25161244218)).
- Added `npx tsc --build` before the per-workspace argent build in both
publish workflows so the sibling packages produce their `dist/` first.
This mirrors what `unit-tests.yml` already does, which is why the
regression didn't surface on PRs.
- Applied the same fix to the root `pack` script (`npm run pack`) since
it had the same latent bug for local packing.

## Test plan
- [x] Reproduced the failure locally by wiping every `dist/` and
`tsconfig.tsbuildinfo`, then running `npm run build -w
@swmansion/argent` — same four `TS2307` errors as CI.
- [x] Verified `npx tsc --build && npm run build -w @swmansion/argent`
succeeds from a clean state.
- [ ] Re-run the `Publish prerelease to npm (next)` workflow against
this branch (or after merge) to confirm green.
2026-04-30 12:57:28 +02:00
filip131311 e42308106c ci: add workflow to publish prereleases under npm next tag (#163)
## Summary
- Adds `.github/workflows/publish-next.yml`, a manual
`workflow_dispatch` workflow that publishes `@swmansion/argent` to npm
under the `next` dist-tag so users can opt into prereleases via `npm
install @swmansion/argent@next` without affecting `latest`.
- Mirrors the existing `publish.yml` (same checkout / native binaries
download / build / smoke checks); the only functional differences are
`npm publish --tag next` and a pre-publish guard that fails fast unless
`packages/argent/package.json` has a SemVer prerelease version (contains
`-`, e.g. `0.6.0-next.0`).

## Why
`npm publish` defaults to the `latest` dist-tag even for prerelease
SemVer versions. Without an explicit `--tag next`, a published
`0.6.0-next.0` would be served to anyone running `npm install
@swmansion/argent`. This workflow makes prerelease publishing safe and
explicit.

## Usage
1. On a release branch, bump `packages/argent/package.json` to e.g.
`0.6.0-next.0` and tag `v0.6.0-next.0` (the existing `release.yml` will
create a GitHub Release).
2. Run **Actions → Publish prerelease to npm (next) → Run workflow**
with `ref: v0.6.0-next.0`.
3. Verify with `npm dist-tag ls @swmansion/argent` — `latest` is
unchanged, `next` points at the new prerelease.

## Test plan
- [ ] Dry-run the workflow against a prerelease tag and confirm `npm
pack --dry-run` succeeds and the publish step runs `--tag next`.
- [ ] After a real prerelease publish, confirm `npm view
@swmansion/argent dist-tags` shows `next: <version>` and `latest` is
untouched.
- [ ] Sanity check the guard: trigger against a non-prerelease ref (e.g.
`v0.5.3`) and confirm the workflow fails at the "Verify package version
is a prerelease" step before running `npm publish`.
2026-04-28 08:41:09 +02:00
filip131311 6355620c4d refactor(mcp): split mcp package into argent, argent-cli, argent-installer, argent-mcp, argent-tools-client (#162)
## Summary

- Splits the monolithic `packages/mcp` package into five focused
packages:
- `argent` — the user-facing CLI entry (`argent` binary,
init/uninstall/update flows, bundled-paths, scripts).
- `argent-cli` — CLI runner internals (flag-parser, run, server, tools).
- `argent-installer` — `init`/`update`/`uninstall` flows, MCP config
adapters, skills installer.
- `argent-mcp` — MCP server itself (mcp-server, tool-mapping,
auto-screenshot, content adapters).
  - `argent-tools-client` — HTTP client + launcher for the tool-server.
- Adds Gemini agent definitions, VSCode MCP config, and per-package
`tsconfig.json` / `vitest.config.ts`.
- Updates root `tsconfig.json`, `scripts/dev.cjs`, CI workflows, and
`package.json` to wire the new packages together.

## Test plan

- [ ] `npm install` resolves the new workspaces cleanly
- [ ] `npm run build` succeeds across all packages
- [ ] `npm test` passes (renamed test files keep their assertions)
- [ ] `npx argent init` still produces the expected MCP config in a
sample project
- [ ] `npx argent update` / `argent uninstall` exercise the installer
package
- [ ] CI workflows (`publish.yml`, `unit-tests.yml`) run on this branch
2026-04-28 08:36:24 +02:00
filip131311 9fee899e5f chore: bump package versions to 0.5.3 for mcp, registry, skills, and tool-server (#149) 2026-04-20 17:51:14 +02:00
pFornagiel 066aad2452 fix: fix problematic CLI install, bump package versions to 0.5.2 for mcp, registry, skills, and tool-server 2026-04-16 17:47:25 +02:00
filip131311 1896097443 fix: pass GH_TOKEN to download steps in publish workflow (#142)
gh CLI requires GH_TOKEN to be set in GitHub Actions even for public
repos. Without it the download steps fail with exit code 4.
2026-04-16 17:10:55 +02:00
filip131311 3979e2780d bump version (#136)
* init

* chore: update package versions to 0.4.5 for registry, skills, and tool-server

---------

Co-authored-by: pFornagiel <pawel.fornagiel2@gmail.com>
2026-04-16 14:15:44 +02:00
filip131311 7db8305fff feat: pin native binaries to versioned release tags and publish to npm (#125)
- download-native-binaries.sh now requires an explicit release tag (e.g.
  argent-v0.4.3) and fails fast with a clear error if the release doesn't
  exist in argent-private-releases
- publish.yml is now manual-only (workflow_dispatch) with a ref input
  (branch/tag/SHA); derives the binaries tag as argent-{ref} and checks
  out the repo at that ref
- publish.yml now targets npm (registry.npmjs.org + NPM_TOKEN) instead
  of GitHub Packages
- download:native-binaries npm script auto-derives the tag from
  packages/mcp/package.json version for local pack:mcp usage
2026-04-15 16:26:55 +02:00
Filip131311 f30948fe46 feat: download native binaries from argent-private-releases instead of building locally 2026-04-15 11:41:10 +02:00
Filip131311 d082ea2fd2 feat: download simulator server 2026-04-14 15:09:58 +02:00
Ignacy Łątka 724ffc8ca5 ci: add prettier format check (#111)
* ci: add prettier format check workflow

* test: prettier err

* Revert "test: prettier err"

This reverts commit a5f7a18ddd.
2026-04-13 15:00:11 +02:00
Filip131311 faf6911801 Fix: removeing other dylibs injected into the simulator (simCam compatibility) 2026-04-10 16:38:55 +02:00
Paweł Fornagiel 82418eeb92 feat: AXService daemon, describe tool native-devtools path, and submodule bump (#98)
* feat: first implementation integration of ax-service for enhanced accessibility support

* feat: enhance ax-service with automation enablement and daemon management

* feat: export ensureAutomationEnabled function for improved accessibility automation in simulator server

* feat: add new build scripts for native development and update binary files

* feat: enhance describe tool to support native-devtools fallback and introduce DescribeResult interface

* chore: bump version to 0.4.1

* chore: bump argent-private to main; list ax-service in LICENSE

- Point packages/argent-private at current main and set submodule branch.
- Declare packages/native-devtools-ios/bin/ax-service as proprietary alongside simulator-server and dylibs.

Made-with: Cursor

* docs: document ax-service as proprietary across LICENSE and README

- Extend root README and CONTRIBUTING requirements (mcp README syncs from root at build).
- List bin/ax-service in @swmansion/argent and native-devtools-ios LICENSE.
- Assert ax-service is present and executable in publish workflow.

Made-with: Cursor

---------

Co-authored-by: Filip131311 <Filip.kaminski@swmansion.com>
2026-04-10 11:25:23 +02:00
filip131311 a1d2cf5b3b fix: restore GitHub Packages publishing fallback (#92)
Unblocks internal releases while npm private publishing is unavailable for the org by switching the publish workflow back to GitHub Packages.

Made-with: Cursor
2026-04-08 17:42:43 +02:00
filip131311 f65f2ce792 fix: use npm token for private npm publish (#91)
Bootstraps the first restricted npm release from GitHub Actions, which cannot complete interactive 2FA, and aligns the package version with the planned 0.4.0 tag.

Made-with: Cursor
2026-04-08 17:30:54 +02:00
filip131311 e8cb2e2d56 fix: publish private npm releases from GitHub Actions (#90)
Switch the release workflow from GitHub Packages to npm trusted publishing and validate the bundled native artifacts before publish.

Made-with: Cursor
2026-04-08 17:01:12 +02:00
Ignacy Łątka c41359937b fix: Rework descriptions to fix failing CIs (#80)
* rework descriptions

* add action guidance after restart required is returned

* change threshold to 9.0

* fix native devtools status desc
2026-04-07 19:12:39 +02:00
filip131311 d9dc17d0d5 fix: move describe to native devtools (#83)
* fix: move describe to native devtools

Replace the AX describe path with an app-scoped native hierarchy adapter so coordinate discovery stays on the supported injection flow.
Also add safer targeting and restart guidance to reduce ambiguous Home and cold-start recovery paths.

Made-with: Cursor

* init

* update sim server

* Delete NATIVE_DEVTOOLS_DESCRIBE_MIGRATION_NOTE.md
2026-04-07 17:36:56 +02:00
Filip131311 4e514c1435 chore: rename package from @software-mansion/argent to @swmansion/argent 2026-04-03 17:16:39 +02:00
Ignacy Łątka e8ed13bb51 ci: add unit test workflow for all TypeScript packages (#75)
* ci: add unit test workflow for all TypeScript packages

* fix: build only registry before running tests

The full tsc --build fails on CI due to pre-existing strict-mode
errors in tool-server source files. Vitest handles its own
transpilation, so we only need to build registry (the shared
dependency referenced via file: link) before running tests.

* fix: install rollup platform-specific binary for linux CI

npm ci has a known bug with optional dependencies where
platform-specific rollup binaries don't get installed.
Explicitly install the linux-x64-gnu binding as a workaround.

* fix: also build native-devtools-ios before running tests

The stop-tools test suite imports from @argent/native-devtools-ios
which is a local workspace package. Its dist/ must exist for Vitest
to resolve the import.
2026-04-03 15:19:51 +02:00
Filip131311 8c2a313c76 chore: format codebase with Prettier
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 14:53:58 +02:00
Ignacy Łątka 679c9b4300 ci: replace SpiderShield description score with custom weighted scoring (#71) 2026-04-01 22:22:52 +02:00
Ignacy Łątka 511b857cb6 ci: add MCP tool and SKILL description quality checks (#67)
* ci: add description quality workflow for tools and skills

Adds a GitHub Actions workflow that gates PRs on tool description quality
using SpiderShield (threshold 3.0/10 against current 3.3 baseline) and
informally grades skill SKILL.md frontmatter with a self-contained Node.js
grader. Includes extract-tools.mjs for converting ToolDefinition objects to
MCP tools/list JSON and grade-skills.mjs for scoring skill files.

* ci: fix profiler skill description and enforce 10.0 skill quality gate

* ci: split description quality into two separate scoped workflows

* ci: raise tool description quality gate to 10.0
2026-04-01 20:43:02 +02:00
pFornagiel 4224e39067 chore: add manual publish dispatch 2026-03-25 16:15:27 +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