argusqa-os 9.2.0 → 9.2.2
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/.mcp.json +2 -2
- package/README.md +37 -1
- package/package.json +1 -1
- package/src/mcp-server.js +1 -1
- package/src/utils/logger.js +3 -2
package/.mcp.json
CHANGED
package/README.md
CHANGED
|
@@ -4,6 +4,42 @@
|
|
|
4
4
|
|
|
5
5
|
Automated browser testing pipeline that catches bugs, compares environments, and sends rich reports to Slack (or generates a self-contained HTML dashboard when Slack is not configured) — powered by Chrome DevTools MCP and Claude Code.
|
|
6
6
|
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## MCP Quick Start
|
|
10
|
+
|
|
11
|
+
Add to your `.mcp.json` (or ask Claude Code: `claude mcp add argus -- npx -y argusqa-os`):
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"argus": {
|
|
17
|
+
"command": "npx",
|
|
18
|
+
"args": ["-y", "argusqa-os"]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then ask Claude (or any MCP client):
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Run argus_audit on http://localhost:3000
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Four tools are exposed:**
|
|
31
|
+
|
|
32
|
+
| Tool | What it does |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| `argus_audit` | Fast QA pass — JS errors, network failures, accessibility, SEO, security, CSS, content |
|
|
35
|
+
| `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 |
|
|
36
|
+
| `argus_compare` | Diff dev vs staging side-by-side — screenshots, findings delta, environment regressions |
|
|
37
|
+
| `argus_last_report` | Return the last saved report JSON from the most recent audit |
|
|
38
|
+
|
|
39
|
+
> **Requires**: Node.js ≥ 20.19, Chrome running with `--remote-debugging-port=9222`, and the [`chrome-devtools-mcp`](https://www.npmjs.com/package/chrome-devtools-mcp) MCP server registered alongside Argus.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
7
43
|
The `landing/` directory contains the product landing page (React + Vite + Tailwind + Framer Motion) with Supabase-backed waitlist and enterprise contact forms. Live at **[argus-qa.com](https://argus-qa.com)** (deployed via Cloudflare Pages; background video served from Cloudflare R2). See [landing/README.md](landing/README.md) for setup.
|
|
8
44
|
|
|
9
45
|
<div align="center">
|
|
@@ -284,7 +320,7 @@ Argus watches your running application and automatically surfaces issues that te
|
|
|
284
320
|
| **Slack Notifications** | Rich Block Kit reports with inline screenshots routed to `#bugs-critical`, `#bugs-warnings`, `#bugs-digest` |
|
|
285
321
|
| **Slash Command** | `/argus-retest <url>` triggers an on-demand test from any Slack channel |
|
|
286
322
|
| **CI Integration** | GitHub Actions workflow runs daily at 6 AM UTC and on every push to `main` |
|
|
287
|
-
| **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 (`
|
|
323
|
+
| **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` |
|
|
288
324
|
|
|
289
325
|
Works with **React + SCSS**, CSS Modules, CSS-in-JS (styled-components / emotion), and plain HTML/CSS apps.
|
|
290
326
|
|
package/package.json
CHANGED
package/src/mcp-server.js
CHANGED
|
@@ -129,7 +129,7 @@ async function handleLastReport() {
|
|
|
129
129
|
// ── Server bootstrap ──────────────────────────────────────────────────────────
|
|
130
130
|
|
|
131
131
|
const server = new Server(
|
|
132
|
-
{ name: 'argus', version: '9.2.
|
|
132
|
+
{ name: 'argus', version: '9.2.2' },
|
|
133
133
|
{ capabilities: { tools: {} } },
|
|
134
134
|
);
|
|
135
135
|
|
package/src/utils/logger.js
CHANGED
|
@@ -24,14 +24,15 @@ function usePrettyOutput() {
|
|
|
24
24
|
|
|
25
25
|
function createLogger() {
|
|
26
26
|
const level = process.env.ARGUS_LOG_LEVEL ?? 'info';
|
|
27
|
+
// Always write to stderr — stdout is reserved for the MCP stdio JSON-RPC channel.
|
|
27
28
|
if (usePrettyOutput()) {
|
|
28
29
|
try {
|
|
29
|
-
return pino({ level, transport: { target: 'pino-pretty', options: { colorize: true } } });
|
|
30
|
+
return pino({ level, transport: { target: 'pino-pretty', options: { colorize: true, destination: 2 } } });
|
|
30
31
|
} catch {
|
|
31
32
|
// pino-pretty not installed or failed to load — fall back to JSON
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
return pino({ level });
|
|
35
|
+
return pino({ level }, process.stderr);
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
export const logger = createLogger();
|