argusqa-os 9.2.9 → 9.3.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
@@ -52,14 +52,16 @@ Then ask Claude (or any MCP client):
52
52
  Run argus_audit on http://localhost:3000
53
53
  ```
54
54
 
55
- **Four tools are exposed:**
55
+ **Six tools are exposed:**
56
56
 
57
57
  | Tool | What it does |
58
58
  | --- | --- |
59
59
  | `argus_audit` | Fast QA pass — JS errors, network failures, accessibility, SEO, security, CSS, content |
60
- | `argus_audit_full` | Deep QA pass — adds Lighthouse scoring, responsive layout checks across 4 viewports, memory leak detection via heap snapshot, hover-state bug detection, and accessibility tree snapshot |
60
+ | `argus_audit_full` | Deep QA pass — adds Lighthouse scoring, responsive layout checks across 4 viewports, memory leak detection, hover-state bug detection, and accessibility tree snapshot |
61
61
  | `argus_compare` | Diff dev vs staging side-by-side — screenshots, findings delta, environment regressions |
62
- | `argus_last_report` | Return the last saved report JSON from the most recent audit |
62
+ | `argus_last_report` | Return the last saved JSON report without re-running a scan |
63
+ | `argus_watch_snapshot` | Snapshot the currently open Chrome tab without navigating — raw console + network capture |
64
+ | `argus_get_context` | Capture everything broken on the open tab, formatted as a diagnostic context for Claude to diagnose and suggest fixes |
63
65
 
64
66
  > **Requires**: Node.js ≥ 20.19, Chrome (desktop or headless), and the `chrome-devtools-mcp` server registered alongside Argus (shown above).
65
67
 
@@ -339,13 +341,13 @@ Argus watches your running application and automatically surfaces issues that te
339
341
  | **GitHub PR Integration** | Posts a structured Markdown findings table as a PR comment (updates in-place — one comment per PR, no spam); sets an `argus-qa` commit status check (`failure` when new criticals exist, `success` otherwise) — blocks merge via branch protection when regressions are introduced. Requires `GITHUB_TOKEN` + `GITHUB_REPOSITORY` env vars |
340
342
  | **Auto Route Discovery** | Augments manual `routes[]` with paths from three sources: fetches `/sitemap.xml` (follows one sitemap-index level, 10s timeout), scans Next.js `pages/` (Next 12) and `app/` (Next 13+) directories stripping route groups `(auth)`, and greps JS/TS source for React Router `<Route path>` declarations. Dynamic `[param]` segments are skipped — no concrete URL to crawl. Manual route config (`critical`, `waitFor`) always takes precedence. |
341
343
  | **`argus init` Setup Wizard** | `npm run init` (or `npx argus init`) guides first-time setup: collects target URLs, detects the app framework (Next.js / React Router / unknown) from the source directory's `package.json`, runs C3 route discovery against the dev URL, prompts for optional Slack tokens and GitHub credentials, then writes a populated `.env` and a pre-filled `src/config/targets.js` — zero manual config editing required. |
342
- | **Watch Mode** | `npm run watch` attaches to whatever Chrome tab is open and polls `list_console_messages` + `list_network_requests` every 3 s (configurable via `ARGUS_WATCH_INTERVAL_MS`). Reports new console errors, network failures (4xx/5xx), CORS blocks, and auth failures in real time — without navigating. On `Ctrl+C`, generates a final `reports/report.html`. No route config needed. |
344
+ | **Watch Mode** | `npm run watch` attaches to whatever Chrome tab is open and polls `list_console_messages` + `list_network_requests` every 1 s (configurable via `ARGUS_WATCH_INTERVAL_MS`). Reports new console errors, network failures (4xx/5xx), CORS blocks, and auth failures in real time — without navigating. On `Ctrl+C`, generates a final `reports/report.html`. No route config needed. |
343
345
  | **Full Lighthouse Suite** | All 4 Lighthouse categories (performance, SEO, best-practices, accessibility) with per-audit items |
344
346
  | **Performance Budgets** | Enforces LCP < 2500ms, CLS < 0.1, FID < 100ms, TTFB < 800ms per route |
345
347
  | **Slack Notifications** | Rich Block Kit reports with inline screenshots routed to `#bugs-critical`, `#bugs-warnings`, `#bugs-digest` |
346
348
  | **Slash Command** | `/argus-retest <url>` triggers an on-demand test from any Slack channel |
347
349
  | **CI Integration** | GitHub Actions workflow runs daily at 6 AM UTC and on every push to `main` |
348
- | **MCP Server (AI-callable Argus)** | Register Argus as an MCP server via `.mcp.json`; Claude (or any MCP client) can call `argus_audit`, `argus_audit_full`, `argus_compare`, `argus_last_report` directly from a conversation — no CLI, no terminal required. Published to npm as **[argusqa-os](https://www.npmjs.com/package/argusqa-os)** — add via `{ "command": "npx", "args": ["-y", "argusqa-os"] }` in `.mcp.json` |
350
+ | **MCP Server (AI-callable Argus)** | Register Argus as an MCP server via `.mcp.json`; Claude (or any MCP client) can call `argus_audit`, `argus_audit_full`, `argus_compare`, `argus_last_report`, `argus_watch_snapshot`, and `argus_get_context` directly from a conversation — no CLI, no terminal required. Published to npm as **[argusqa-os](https://www.npmjs.com/package/argusqa-os)** — add via `{ "command": "npx", "args": ["-y", "argusqa-os"] }` in `.mcp.json` |
349
351
 
350
352
  Works with **React + SCSS**, CSS Modules, CSS-in-JS (styled-components / emotion), and plain HTML/CSS apps.
351
353
 
@@ -382,26 +384,126 @@ In interactive mode (running from Claude Code), MCP tools are called natively. I
382
384
 
383
385
  ## One-Time Setup
384
386
 
385
- ### 1. Clone and install
387
+ ### Option A MCP Server (Claude Code / any MCP client)
388
+
389
+ No local install required. `npx` auto-downloads `argusqa-os` on first use.
390
+
391
+ #### 1. Register both MCP servers
392
+
393
+ Add to `.mcp.json` in your project root:
394
+
395
+ ```json
396
+ {
397
+ "mcpServers": {
398
+ "chrome-devtools": {
399
+ "command": "npx",
400
+ "args": ["-y", "chrome-devtools-mcp@latest"]
401
+ },
402
+ "argus": {
403
+ "command": "npx",
404
+ "args": ["-y", "argusqa-os"]
405
+ }
406
+ }
407
+ }
408
+ ```
409
+
410
+ Or via Claude Code CLI:
386
411
 
387
412
  ```bash
388
- git clone <your-repo-url>
389
- cd argus
413
+ claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
414
+ claude mcp add argus -- npx -y argusqa-os
415
+ ```
416
+
417
+ #### 2. Environment variables
418
+
419
+ Create a `.env` file in your project root:
420
+
421
+ ```env
422
+ TARGET_DEV_URL=http://localhost:3000
423
+ TARGET_STAGING_URL=https://staging.yourapp.com # optional — enables argus_compare
424
+ ```
425
+
426
+ #### 3. Start Chrome with remote debugging
427
+
428
+ ```bash
429
+ # macOS
430
+ open -a "Google Chrome" --args --remote-debugging-port=9222 --headless=new
431
+
432
+ # Windows
433
+ "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --headless=new --no-sandbox --disable-gpu
434
+
435
+ # Linux
436
+ google-chrome --remote-debugging-port=9222 --headless=new --no-sandbox
437
+ ```
438
+
439
+ #### 4. Slack notifications (optional)
440
+
441
+ > Skip to use local `report.html` mode — Argus generates a self-contained HTML report when Slack is not configured.
442
+
443
+ 1. [api.slack.com/apps](https://api.slack.com/apps) → **Create New App** → name it **BugBot**
444
+ 2. **OAuth & Permissions** → Bot Token Scopes: `chat:write`, `files:write`, `files:read`
445
+ 3. Install to workspace → copy **Bot User OAuth Token** (`xoxb-...`) to `.env` as `SLACK_BOT_TOKEN`
446
+ 4. Create `#bugs-critical`, `#bugs-warnings`, `#bugs-digest` and `/invite @BugBot` in each
447
+
448
+ ```env
449
+ SLACK_BOT_TOKEN=xoxb-...
450
+ SLACK_CHANNEL_CRITICAL=C0000000000
451
+ SLACK_CHANNEL_WARNINGS=C0000000001
452
+ SLACK_CHANNEL_DIGEST=C0000000002
453
+ ```
454
+
455
+ ---
456
+
457
+ ### Option B — npm Package (dev dependency / CI/CD)
458
+
459
+ #### 1. Install
460
+
461
+ ```bash
462
+ npm install --save-dev argusqa-os
463
+ ```
464
+
465
+ #### 2. Environment variables
466
+
467
+ Run the interactive wizard to auto-generate `.env` and `src/config/targets.js`:
468
+
469
+ ```bash
470
+ npx argus
471
+ ```
472
+
473
+ The wizard detects your framework (Next.js / React Router), discovers routes from `sitemap.xml` and your file structure, and optionally collects Slack and GitHub credentials.
474
+
475
+ **Alternative — manual setup:** Create a `.env` with `TARGET_DEV_URL` and optionally `TARGET_STAGING_URL`.
476
+
477
+ #### 3. Start Chrome with remote debugging
478
+
479
+ Same as Option A — see above.
480
+
481
+ #### 4. Slack notifications (optional)
482
+
483
+ Same as Option A — see above.
484
+
485
+ ---
486
+
487
+ ### Option C — Clone the Repository (full source / contributors)
488
+
489
+ #### 1. Clone and install
490
+
491
+ ```bash
492
+ git clone https://github.com/ironclawdevs27/Argus.git
493
+ cd Argus
390
494
  npm install
391
495
  npm run setup # creates reports/ directory
392
496
  ```
393
497
 
394
- ### 2. Configure environment variables
498
+ #### 2. Environment variables
395
499
 
396
- **Recommended: use the interactive setup wizard**
500
+ **Recommended use the interactive setup wizard:**
397
501
 
398
502
  ```bash
399
503
  npm run init
400
504
  ```
401
505
 
402
- The wizard prompts for your dev and staging URLs, detects your framework (Next.js / React Router), auto-discovers routes from `sitemap.xml` and your file structure, and optionally collects Slack and GitHub credentials. It writes a populated `.env` and a pre-filled `src/config/targets.js` no manual editing required.
403
-
404
- **Alternative: manual setup**
506
+ **Alternative — manual setup:**
405
507
 
406
508
  ```bash
407
509
  cp .env.example .env
@@ -410,26 +512,22 @@ cp .env.example .env
410
512
  Open `.env` and fill in:
411
513
 
412
514
  ```env
413
- # Your app URLs (required)
414
515
  TARGET_DEV_URL=http://localhost:3000
415
516
  TARGET_STAGING_URL=https://staging.yourapp.com # leave blank → CSS-only analysis mode
416
517
 
417
- # Slack — OPTIONAL. Omit to get a local report.html instead of Slack messages.
418
- # Get from: api.slack.com/apps → BugBot → OAuth & Permissions
518
+ # Slack — OPTIONAL. Omit to get a local report.html instead.
419
519
  # SLACK_BOT_TOKEN=xoxb-...
420
520
  # SLACK_SIGNING_SECRET=...
421
-
422
- # Channel IDs — only needed when SLACK_BOT_TOKEN is set
423
521
  # SLACK_CHANNEL_CRITICAL=C0000000000
424
522
  # SLACK_CHANNEL_WARNINGS=C0000000001
425
523
  # SLACK_CHANNEL_DIGEST=C0000000002
426
524
  ```
427
525
 
428
- ### 3. Configure your routes
526
+ #### 3. Configure routes
429
527
 
430
- If you used `npm run init` in Step 2, this file was generated for you — skip to Step 4.
528
+ If you ran `npm run init` — skip this step.
431
529
 
432
- Otherwise, edit [src/config/targets.js](src/config/targets.js) — add every key page of your app:
530
+ Otherwise, edit [src/config/targets.js](src/config/targets.js):
433
531
 
434
532
  ```js
435
533
  export const routes = [
@@ -440,111 +538,160 @@ export const routes = [
440
538
  ];
441
539
  ```
442
540
 
443
- - `critical: true` — any error on this route goes to `#bugs-critical`
541
+ - `critical: true` — errors on this route go to `#bugs-critical`
444
542
  - `waitFor` — CSS selector Argus waits for before capturing (signals the page is ready)
445
543
 
446
- ### 4. Connect Chrome DevTools MCP to Claude Code
544
+ #### 4. Connect Chrome DevTools MCP to Claude Code
447
545
 
448
546
  ```bash
449
547
  claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
450
548
  ```
451
549
 
452
- Verify it's workingin Claude Code, ask:
453
- > "List all open Chrome pages"
550
+ Verify ask Claude: *"List all open Chrome pages"* you should see your tabs.
454
551
 
455
- You should see a list of tabs. If you do, the MCP connection is live.
552
+ #### 5. Start Chrome with remote debugging
456
553
 
457
- ### 5. Set up the Slack App (BugBot) *(optional)*
554
+ Same as Option A see above.
458
555
 
459
- > Skip this step if you don't need Slack notifications. Argus will generate a local `report.html` and open it in the browser instead.
556
+ #### 6. Slack notifications (optional)
460
557
 
461
- 1. Go to [api.slack.com/apps](https://api.slack.com/apps) **Create New App** → From scratch → name it **BugBot**
462
- 2. **OAuth & Permissions** → Bot Token Scopes: add `chat:write`, `files:write`, `files:read`
463
- 3. Click **Install to Workspace** → Authorize
464
- 4. Copy the **Bot User OAuth Token** (`xoxb-...`) into `.env` as `SLACK_BOT_TOKEN`
465
- 5. **Basic Information** → copy **Signing Secret** into `.env` as `SLACK_SIGNING_SECRET`
466
- 6. Create channels: `#bugs-critical`, `#bugs-warnings`, `#bugs-digest`
467
- 7. In each channel: `/invite @BugBot`
558
+ Same as Option A see above.
468
559
 
469
560
  ---
470
561
 
471
562
  ## Running Argus
472
563
 
473
- ### Option A: From Claude Code (interactive recommended)
564
+ ### Option A Via MCP (Claude Code / any MCP client)
565
+
566
+ Ask Claude directly — no terminal needed.
567
+
568
+ **Available tools:**
569
+
570
+ | Tool | What it does |
571
+ | --- | --- |
572
+ | `argus_audit` | Fast QA pass — JS errors, network failures, accessibility, SEO, security, CSS, content |
573
+ | `argus_audit_full` | Deep QA pass — adds Lighthouse, responsive layout checks across 4 viewports, memory leak detection, hover-state bug detection, and accessibility tree snapshot |
574
+ | `argus_compare` | Diff dev vs staging — screenshots, findings delta, environment regressions |
575
+ | `argus_last_report` | Return the last saved JSON report without re-running a scan |
576
+ | `argus_watch_snapshot` | Snapshot the currently open Chrome tab without navigating — raw console + network capture |
577
+ | `argus_get_context` | Capture everything broken on the open tab, formatted as a diagnostic context for Claude to diagnose and suggest fixes |
578
+
579
+ **`argus_audit`** — fast audit of any URL:
474
580
 
475
- Open Claude Code in this project directory. With Chrome DevTools MCP connected, ask:
581
+ ```text
582
+ Run argus_audit on http://localhost:3000/checkout
583
+ Run argus_audit on http://localhost:3000/login with critical: true
584
+ ```
585
+
586
+ **`argus_audit_full`** — deep audit with Lighthouse + memory + responsive checks:
476
587
 
477
588
  ```text
478
- Run the Argus error detection crawl on localhost:3000
589
+ Run argus_audit_full on http://localhost:3000/dashboard
479
590
  ```
480
591
 
481
- Claude calls `runCrawl(mcp)` with live MCP tools navigates pages, captures errors, posts to Slack.
592
+ **`argus_compare`** dev vs staging diff (reads `TARGET_DEV_URL` and `TARGET_STAGING_URL` from `.env`):
482
593
 
483
594
  ```text
484
- Run the Argus environment comparison between localhost:3000 and staging
595
+ Run argus_compare
485
596
  ```
486
597
 
487
- Claude calls `runComparison(mcp)` screenshots both, diffs them, posts results.
598
+ **`argus_last_report`**retrieve last audit without re-running Chrome:
488
599
 
489
- ### Option B: From the terminal (CI / headless)
600
+ ```text
601
+ Run argus_last_report
602
+ ```
490
603
 
491
- ```bash
492
- # Error detection crawl
493
- npm run crawl
604
+ **`argus_watch_snapshot`** — snapshot the currently open tab without navigating. Useful when the page is in an authenticated or post-interaction state that navigation would reset:
494
605
 
495
- # Generate a self-contained HTML report from the latest JSON (offline-friendly)
496
- npm run report:html
606
+ ```text
607
+ Run argus_watch_snapshot
608
+ Run argus_watch_snapshot with url: http://localhost:3000
609
+ ```
497
610
 
498
- # Environment comparison (or CSS analysis if no staging URL)
499
- npm run compare
611
+ **`argus_get_context`** when your app is stuck or throwing errors, run this to capture everything that's broken and feed it to Claude for diagnosis:
500
612
 
501
- # Start the Slack interaction server
502
- npm run server
613
+ ```text
614
+ Run argus_get_context
503
615
  ```
504
616
 
505
- Reports are saved to `reports/` as JSON files. Screenshots saved alongside. Run `npm run report:html` after any crawl to get a portable `reports/report.html` with all screenshots inlined useful for sharing with designers, PMs, or reviewing offline.
617
+ Then follow with: *"Here's the context what's causing these errors and how do I fix them?"*
506
618
 
507
- ### Option C: Watch Mode (passive monitoring)
619
+ ---
508
620
 
509
- Watch mode attaches to whatever page Chrome already has open and polls for new issues at a 3-second interval without navigating anywhere. Use this for real-time reporting while you develop.
621
+ ### Option B & CVia CLI / npm scripts
510
622
 
511
- **Requires 2 terminals:**
623
+ **Available commands:**
512
624
 
513
- | Terminal | Command | Purpose |
514
- | --- | --- | --- |
515
- | 1 | `npm start` *(or your app's dev command)* | Your application |
516
- | 2 | `npm run watch` | Argus passive monitor |
625
+ | Command | What it does |
626
+ | --- | --- |
627
+ | `npm run crawl` | Multi-page batch audit of all routes in `targets.js` |
628
+ | `npm run compare` | Dev vs staging diff (or CSS analysis if no `TARGET_STAGING_URL`) |
629
+ | `npm run watch` | Passive monitor — polls the open Chrome tab every 1s, no navigation |
630
+ | `npm run report:html` | Generate `reports/report.html` from the latest JSON audit |
631
+ | `npm run server` | Start the Slack slash command + interaction server (port 3001) |
632
+ | `npm run init` | Interactive setup wizard — generates `.env` + `targets.js` |
633
+ | `npm run test:unit` | Run 61 unit tests (no Chrome required) |
634
+ | `npm run test:harness` | Run 82-block correctness harness (requires Chrome) |
635
+
636
+ **`npm run crawl`** — full audit of all configured routes:
637
+
638
+ ```bash
639
+ npm run crawl
640
+ ```
641
+
642
+ Reports are saved to `reports/` as JSON files. Run `npm run report:html` after any crawl for a portable `reports/report.html` with all screenshots inlined — useful for sharing with designers or reviewing offline.
643
+
644
+ **`npm run compare`** — dev vs staging diff:
645
+
646
+ ```bash
647
+ npm run compare
648
+ ```
649
+
650
+ When `TARGET_STAGING_URL` is not set, automatically switches to **CSS analysis mode** — cascade overrides, component style leaks, unused rules, and React inline style conflicts on the dev environment only.
517
651
 
518
- **Sequential steps:**
652
+ **`npm run watch`** — passive monitoring (polls every 1s, no navigation):
519
653
 
520
- 1. Open Chrome and navigate to your app's local URL
654
+ Attaches to whatever Chrome tab is open and reports new issues in real time without navigating anywhere. Use this while developing.
655
+
656
+ ```text
657
+ Requires 2 terminals:
658
+ Terminal 1 — your app (npm start / npm run dev)
659
+ Terminal 2 — npm run watch
660
+ ```
661
+
662
+ Steps:
663
+ 1. Open Chrome and navigate to your app
521
664
  2. Terminal 1: start your application
522
665
  3. Terminal 2: `npm run watch` — Argus begins polling
523
- 4. Develop normally — any new console errors, network failures (4xx/5xx), CORS blocks, or auth failures are printed in Terminal 2 in real time
524
- 5. `Ctrl+C` in Terminal 2 — stops the monitor and writes `reports/report.html` if any issues were found
525
-
526
- **To target a specific URL:**
666
+ 4. Develop normally — console errors, network failures (4xx/5xx), CORS blocks, and auth failures print in real time
667
+ 5. `Ctrl+C` — stops the monitor and writes `reports/report.html`
527
668
 
528
669
  ```bash
670
+ # Attribute findings to a specific URL:
529
671
  npm run watch http://localhost:4000
530
672
  ```
531
673
 
532
- **Environment variables:**
533
-
534
674
  | Variable | Default | Description |
535
675
  | --- | --- | --- |
536
- | `ARGUS_WATCH_INTERVAL_MS` | `3000` | Poll interval in milliseconds |
537
- | `TARGET_DEV_URL` | `http://localhost:3000` | URL attributed to findings when none passed as argument |
676
+ | `ARGUS_WATCH_INTERVAL_MS` | `1000` | Poll interval in milliseconds |
677
+ | `TARGET_DEV_URL` | `http://localhost:3000` | URL attributed to findings when none passed |
678
+
679
+ **`npm run report:html`** — generate HTML dashboard from last audit:
538
680
 
539
- Watch mode uses the same Slack integration as `npm run crawl` — if `SLACK_BOT_TOKEN` is configured, new findings are posted to Slack in real time. On `Ctrl+C`, the HTML report is generated from all accumulated findings for the session.
681
+ ```bash
682
+ npm run report:html
683
+ # → reports/report.html (all findings + inline screenshots, portable, no server needed)
684
+ ```
685
+
686
+ ---
540
687
 
541
- ### Option D: From Slack (on-demand)
688
+ ### Option D From Slack (on-demand)
542
689
 
543
690
  ```text
544
691
  /argus-retest https://staging.yourapp.com/checkout
545
692
  ```
546
693
 
547
- BugBot responds immediately, runs the test, and posts results back to the channel. Detailed bug reports go to `#bugs-critical`.
694
+ BugBot responds immediately, runs the test, and posts results back. Detailed bug reports go to `#bugs-critical`. See [Slack Slash Command Setup](#slack-slash-command-setup) for configuration.
548
695
 
549
696
  ---
550
697
 
@@ -874,7 +1021,7 @@ These constraints are documented with workarounds in [SKILL.md §10](SKILL.md).
874
1021
  | `ARGUS_RETRY_ATTEMPTS` | No | Max retry attempts for `navigate`/`fill` MCP calls (default: `3`) |
875
1022
  | `OTEL_EXPORTER_OTLP_ENDPOINT` | No | OTLP collector endpoint — enables span/metric export to Jaeger, Grafana Tempo, Datadog, etc. |
876
1023
  | `ARGUS_OTEL_CONSOLE` | No | Set to `1` to print OTel spans to stdout without an OTLP endpoint (dev tracing) |
877
- | `ARGUS_WATCH_INTERVAL_MS` | No | Watch mode poll interval in milliseconds (default: `3000`) |
1024
+ | `ARGUS_WATCH_INTERVAL_MS` | No | Watch mode poll interval in milliseconds (default: `1000`) |
878
1025
  | `ARGUS_SOURCE_DIR` | No | Path to your app's source directory — enables codebase cross-reference (env var detection, feature flag leakage, dead routes) |
879
1026
  | `ARGUS_ENV_FILE` | No | Path to your app's `.env` file — C1 cross-references env vars used in source code against this file to detect missing declarations |
880
1027
  | `GITHUB_TOKEN` | No | GitHub personal access token — required for PR comment + commit status integration |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "argusqa-os",
3
- "version": "9.2.9",
3
+ "version": "9.3.0",
4
4
  "mcpName": "io.github.ironclawdevs27/argus",
5
5
  "description": "Argus — AI-powered automated dev-testing platform using Chrome DevTools MCP and Claude Code",
6
6
  "keywords": [
package/src/mcp-server.js CHANGED
@@ -196,7 +196,7 @@ async function handleLastReport() {
196
196
  // ── Server bootstrap ──────────────────────────────────────────────────────────
197
197
 
198
198
  const server = new Server(
199
- { name: 'argus', version: '9.2.9' },
199
+ { name: 'argus', version: '9.3.0' },
200
200
  { capabilities: { tools: {} } },
201
201
  );
202
202
 
@@ -13,7 +13,7 @@
13
13
  * individual poll() calls without running the interval loop.
14
14
  *
15
15
  * Environment variables:
16
- * ARGUS_WATCH_INTERVAL_MS — poll interval in ms (default: 3000)
16
+ * ARGUS_WATCH_INTERVAL_MS — poll interval in ms (default: 1000)
17
17
  * TARGET_DEV_URL — base URL to monitor (default: http://localhost:3000)
18
18
  */
19
19
 
@@ -217,7 +217,7 @@ export class WatchSession {
217
217
  */
218
218
  export async function runWatchMode(baseUrl) {
219
219
  const target = baseUrl ?? process.env.TARGET_DEV_URL ?? 'http://localhost:3000';
220
- const pollIntervalMs = parseInt(process.env.ARGUS_WATCH_INTERVAL_MS ?? '3000', 10);
220
+ const pollIntervalMs = parseInt(process.env.ARGUS_WATCH_INTERVAL_MS ?? '1000', 10);
221
221
 
222
222
  const mcp = await createMcpClient();
223
223
  const browser = new CdpBrowserAdapter(mcp);