Argus

Estrutura de QA com IA que captura erros de JS, falhas de acessibilidade, regressões visuais e problemas de segurança via Chrome DevTools MCP — sem necessidade de scripts de teste.

Documentação

Argus — A Camada de QA para Desenvolvimento Assistido por IA

Seu agente de IA escreve o código. A Argus verifica o que ele realmente construiu.

MCP Server

npm Harness License: MIT

Uma linha na sua configuração MCP dá ao Claude (ou a qualquer agente MCP) um motor real de auditoria Chrome — 67 categorias de auditoria · 149 tipos de achados · zero arquivos de teste para escrever ou manter. E com Aegis, o que ele encontra nunca vaza seus segredos para o LLM.

▶ Veja em ação → argus-qa.com

Início Rápido · O Ciclo de Correção · O Que Ele Detecta · Sua Stack · Ferramentas MCP · Configuração Completa · Referência


Por Que a Argus Existe

Agentes de IA agora escrevem a maior parte do código — e julgam seu próprio trabalho por se compila e parece pronto, não pelo que realmente acontece no navegador. A exceção não capturada no terceiro clique. O formulário que envia credenciais via HTTP. O LCP de 4 segundos. O botão que sumiu no modo escuro. O endpoint de API martelado em um loop infinito.

A Argus fecha essa lacuna. Ela dirige um Chrome real (via Chrome DevTools Protocol) contra seu aplicativo rodando localmente e entrega ao agente — ou a você — um relatório de bugs estruturado e classificado por severidade. O agente corrige; a Argus verifica novamente; o ciclo fecha antes de o código sair da sua máquina.

🧪 Sem arquivos de teste, nuncaA Argus audita o aplicativo renderizado — DOM, console, rede, pixels — não seu código-fonte. Nada para escrever, nada para manter quando o agente refatora
🤖 Feito para o ciclo do agenteO único motor de QA que o Claude pode chamar nativamente via MCP. Auditar → corrigir → re-auditar sem sair da conversa
🔒 Seguro para agentes por padrãoAegis: achados são redigidos em cada fronteira de saída — segredos, PII e detalhes de exploração nunca chegam à janela de contexto do LLM (OWASP LLM02, ativado por padrão, falha-fechada)
🧰 Também uma ferramenta de QA normalAuditorias em lote via CLI, gate de PR no GitHub Action, relatórios Slack com capturas de tela, diffs dev-vs-staging, modo de observação — com ou sem agente

Início Rápido

Sem instalação. npx busca a Argus na primeira execução.

1 — Adicione duas linhas ao .mcp.json na raiz do seu projeto:

{
  "mcpServers": {
    "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] },
    "argus":           { "command": "npx", "args": ["-y", "argusqa-os"] }
  }
}

Ou via CLI do Claude Code:

claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
claude mcp add argus -- npx -y argusqa-os

2 — Inicie o Chrome (detecta automaticamente seu Chrome, define os flags corretos):

npx -y -p argusqa-os argus-chrome
Prefere iniciar o Chrome manualmente? (comandos macOS / Windows / Linux)
# macOS
open -a "Google Chrome" --args --remote-debugging-port=9222 --headless=new

# Windows (PowerShell)
& "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --headless=new --no-sandbox --disable-gpu --user-data-dir="$env:TEMP\chrome-argus"

# Linux
google-chrome --remote-debugging-port=9222 --headless=new --no-sandbox

3 — Pergunte ao seu agente:

Run argus_audit on http://localhost:3000

É isso. Os achados voltam estruturados e classificados por severidade — na conversa, no Slack ou como um report.html local. Algo errado? npx -y -p argusqa-os argus-doctor diagnostica sua configuração em um comando.


O Ciclo de Correção

É assim que a Argus parece dentro de uma sessão de codificação agêntica:

You:    Build me a checkout page with a card form.
Agent:  [writes the code, dev server renders it]

You:    Run argus_audit on http://localhost:3000/checkout
Argus:  ● 2 critical · 3 warnings
        ● uncaught TypeError in checkout.js (visible on submit)
        ● form posts over HTTP — security_no_https
        ▲ card inputs missing labels + autocomplete (a11y/WCAG)
        ▲ LCP 4.1s — hero image unoptimized
        ▲ duplicate POST /api/cart ×7 — likely render loop

Agent:  [fixes all five]

You:    Run argus_get_context
Argus:  ✓ resolved: 5 · persisting: 0 · new: 0

argus_get_context faz diff com o snapshot anterior, para que o agente saiba exatamente o que corrigiu, o que quebrou e o que resta — sem reler paredes de saída.

"Mas meu agente já consegue dirigir um navegador…" — consegue. Dirigir não é julgar. Um MCP de navegador bruto (Playwright MCP, chrome-devtools-mcp puro) dá ao agente mãos e olhos; o agente então precisa re-derivar o que verificar a cada sessão, queimando contexto em exploração de log de console. A Argus é a camada de julgamento por cima: 149 tipos de achados codificados com limites, política de severidade, baselines entre execuções, filtragem de flakiness, deduplicação, dicas de causa-raiz — retornados em uma chamada, redigidos por padrão.


O Que a Argus Detecta

32 motores de análise, 149 tipos distintos de problemas, zero manutenção de arquivos de teste:

CategoriaO que detecta
JavaScriptExceções não capturadas, rejeições de promise não tratadas, console.error em rotas críticas
Rede e APIHTTP 5xx, falhas de autenticação 401/403, chamadas de API duplicadas (loops infinitos), erros 4xx, links quebrados
PerformanceLCP > 2500ms, CLS > 0.1, TTFB > 800ms, APIs lentas > 1s/3s, payloads > 500KB/2MB, bundles JS > 500KB
Acessibilidadeaxe-core (80+ regras WCAG), simulação de daltonismo, ARIA ausente, foco de teclado, hierarquia de títulos
SEOMeta description ausente, tags OG, canonical, viewport, h1
SegurançaTokens de autenticação em localStorage/URL, eval(), CSP/X-Frame-Options ausentes, violações de CSP, SRI ausente em scripts externos, exposição de source maps, redirecionamentos abertos, CVEs npm
CSSOverrides em cascata, vazamento de estilos de componentes, regras não utilizadas, conflitos de estilo inline do React
Conteúdonull/undefined como texto visível, lorem ipsum, imagens quebradas, listas de dados vazias
ResponsivoOverflow horizontal em 375px/768px, alvos de toque < 44×44px
MemóriaNós DOM destacados via snapshot de heap V8, crescimento de heap entre navegações
VisualRegressão de captura de tela em nível de pixel via pixelmatch (≥0,1% aviso, ≥5% crítico)
FigmaFidelidade design-para-implementação — 13 tipos de propriedades (cor, espaçamento, tipografia, sombras, etc.)
Formuláriosrequired, autocomplete, aria-describedby ausentes; inputs sem rótulo
FontesFOIT, FOUT, fallbacks ausentes, carregamentos lentos > 1s, formatos abaixo do ideal
MovimentoViolações de prefers-reduced-motion, autoplay sem controles de pausa
TemaLacunas no modo escuro — variáveis CSS estáticas, tratamento de prefers-color-scheme ausente
Baseline de redeNovas requisições, requisições ausentes, regressões de código de status vs baseline HAR salvo
Diff de ambienteDev vs staging — diff de capturas de tela, mudanças de DOM, regressões de console/rede

E cada achado é pós-processado com:

Pós-processadorO que adiciona
Filtragem inteligente de baselineAchados que oscilam entre execuções são marcados como noisy e rebaixados para info — heurísticas puras entre execuções, sem chamadas de API (ARGUS_NOISE_FILTER=0 para desativar)
Vinculação de causa-raizNovos achados são anotados com os commits git recentes e arquivos mais prováveis de tê-los causado (ARGUS_ROOT_CAUSE=0 para desativar)

Todos os achados são classificados como critical / warning / info e roteados para o canal Slack certo — ou exibidos no relatório HTML local. Para tabelas de severidade por achado e métodos de detecção, veja REFERENCE.md.


Funciona com Sua Stack

A Argus audita a saída renderizada, não seu código-fonte — então é agnóstica de framework por construção. Se roda no Chrome, a Argus pode auditar:

Frameworks SPAReact, Vue, Angular, Svelte/SvelteKit, Solid, Preact, Astro…
Meta-frameworksNext.js, Nuxt, Remix, Gatsby — além de extras cientes de framework: descoberta de rotas Next.js e React Router, mapeamento de PR por grafo de importação ("este componente mudou → audite apenas as rotas que o renderizam"), consciência de caminhos monorepo
Renderizado no servidorRails, Django, Laravel, Flask, Spring, PHP — qualquer coisa que sirva HTML a um navegador
Estático / sem frameworkHTML/CSS/JS puro, sites de documentação, landing pages
APIs (via página)Validação de schema de resposta, verificações de status/tempo em cada requisição que a página faz

Limites honestos: renderização apenas em Chrome/Chromium (sem diferenças de motor Safari/Firefox), apenas web (sem apps nativos mobile/desktop), e serviços de backend são verificados através do tráfego que a página gera — não como suítes de teste de API independentes.


Confidencialidade — Fronteira de Saída Aegis

Ativado por padrão. A Argus audita seu aplicativo em busca de segredos e vulnerabilidades — então seus achados são exatamente os dados que você menos quer que saiam da sua máquina. Aegis os redige em cada fronteira externa antes de cruzarem. Para equipes que adotam agentes de IA, esta é a diferença entre "usamos uma ferramenta de QA com IA" e "podemos dizer ao nosso líder de segurança exatamente por que é seguro."

Um achado enviado a um destino externo — uma resposta de ferramenta MCP (que cai na janela de contexto do agente chamador e transita para o provedor de modelo desse agente), uma mensagem Slack, um comentário de PR GitHub + suas anotações ::error, o relatório HTML hospedado/CI, ou logs de CI — é reduzido a uma projeção de necessidade de conhecimento: um achado sensível cruza como seu type + route + severity + um marcador 🔒, e nunca seu payload bruto (message, evidence, corpos de requisição/resposta, cabeçalhos, cookies, stack). URLs são projetadas com a query string removida (tokens se escondem lá). Um achado benigno mantém sua mensagem — mas essa mensagem ainda é limpa de qualquer segredo ou PII acidentalmente embutido.

PrincípioComportamento
Fidelidade local preservadaO relatório JSON em disco e o HTML aberto localmente mantêm 100% do detalhe — a redação só remove detalhe no caminho de saída
Falha-fechadaEm qualquer erro de classificador ou formato de achado desconhecido, a Aegis redige mais, nunca menos
Negar por padrãoApenas uma allowlist explícita de campos seguros cruza; um novo campo não vaza nada até ser deliberadamente colocado na allowlist
Detecção em 5 camadasRegras de categoria ∪ 13 regex de segredos ∪ raridade estatística (entropia / eficiência de token) ∪ 7 regras de PII validadas por Luhn ∪ reforço de contexto
Opt-outARGUS_REDACT_SENSITIVE=0 → saída byte-idêntica à pré-Aegis

Isso implementa as mitigações do OWASP LLM02:2025 — Divulgação de Informações Sensíveis (minimização de dados, redação, filtragem de saída negar-por-padrão) nas próprias fronteiras da Argus. Um cofre opcional de reidratação local (ARGUS_REDACT_VAULT=1) pode emitir tokens reversíveis e sem informação para artefatos estáveis em diff — re-inflate localmente com npm run report:rehydrate. A mudança completa de comportamento está documentada em CHANGELOG.md.


Ferramentas MCP

Pergunte ao Claude (ou a qualquer cliente MCP) — sem necessidade de terminal:

FerramentaDescrição
argus_auditPassagem rápida — JS, rede, acessibilidade, SEO, segurança, CSS, conteúdo
argus_audit_fullPassagem profunda — adiciona Lighthouse, verificações responsivas, detecção de vazamento de memória, bugs de estado hover
argus_compareDiff dev vs staging — capturas de tela, delta de achados, regressões de ambiente
argus_get_contextCaptura tudo que está quebrado na aba aberta — com diff resolved / new / persisting vs o último snapshot (o ciclo de correção)
argus_watch_snapshotSnapshot da aba aberta sem navegar (preserva estado de autenticação/formulário)
argus_last_reportRetorna o último relatório JSON sem re-executar
argus_design_auditURL Figma → 13 tipos de achados de design-token (cor, espaçamento, tipografia, sombras, etc.)
argus_visual_diffComparação de baseline de captura de tela. Passe updateBaseline: true para redefinir.
argus_pr_validateBusca diff de PR GitHub → mapeia arquivos alterados para rotas afetadas → auditoria direcionada → decisão de bloqueio ciente de baseline (bloqueia em achados que o PR introduz) + comentário de PR idempotente + Check Run → { blocked, findings, baseline, reporting }

Toda resposta de ferramenta é projetada através da fronteira de saída Aegis antes de chegar ao agente, e carrega um aviso opcional redaction ({ redacted, total }) quando detalhe sensível foi retido.

Exemplos de prompts:

Run argus_audit on http://localhost:3000/checkout
Run argus_audit_full on http://localhost:3000/dashboard
Run argus_compare
Run argus_get_context

Testado em Batalha, Não em Vibração

A correção da própria Argus é aplicada da mesma forma que ela audita a sua:

  • 998/998 asserções rígidas em um harness de integração de 171 blocos dirigindo Chrome real contra 64 páginas fixture — incluindo controles negativos por categoria (zero sobre-disparo), schemas de resposta dourados para todas as 9 ferramentas MCP, e um canário de deriva upstream que detecta mudanças de API do chrome-devtools-mcp no momento do bump de versão
  • 562 testes unitários sem Chrome (Vitest) + fuzzing de parser baseado em propriedades
  • npm audit: 0 vulnerabilidades · CodeQL + Dependabot em todo PR · Socket.dev: 100/100/100 em vulnerabilidade/qualidade/licença
  • Arquivos de sessão e tokens capturados gravados 0600, somente dono

Configuração Completa

Pré-requisitos

RequisitoVersão
Node.jsv20.19+
ChromeStable (desktop ou headless)
Claude CodeÚltima versão (npm install -g @anthropic-ai/claude-code) — ou qualquer cliente MCP
Workspace do SlackOpcional — omita para o modo local report.html

Opção A — Servidor MCP (recomendado para usuários do Claude Code)

Nenhuma instalação local necessária. Use o Quick Start acima e adicione sua URL de destino:

# .env in your project root
TARGET_DEV_URL=http://localhost:3000
TARGET_STAGING_URL=https://staging.example.com   # optional — enables argus_compare

Opcional — Notificações do Slack:

  1. api.slack.com/apps → Create New App → nomeie-o como BugBot
  2. OAuth & Permissions → Bot Token Scopes: chat:write, files:write, files:read
  3. Instale no workspace → copie o token xoxb-...
  4. Crie os canais #bugs-critical, #bugs-warnings, #bugs-digest e execute /invite @BugBot em cada um
SLACK_BOT_TOKEN=xoxb-...
SLACK_CHANNEL_CRITICAL=C0000000000
SLACK_CHANNEL_WARNINGS=C0000000001
SLACK_CHANNEL_DIGEST=C0000000002

Sem Slack: o Argus gera automaticamente reports/report.html e o abre no seu navegador — zero configuração extra.


Opção B — Pacote npm (CI / dependência de desenvolvimento)

npm install --save-dev argusqa-os
npx argus init   # interactive wizard — detects framework, discovers routes, writes .env
npm run crawl    # run after Chrome is started

Opção C — Clone o Repositório (contribuidores / código-fonte completo)

git clone https://github.com/ironclawdevs27/Argus.git
cd Argus
npm install
npm run init     # interactive setup wizard

Configuração manual (pule o assistente):

cp .env.example .env
# Fill in TARGET_DEV_URL and optional Slack tokens

Em seguida, configure suas rotas em src/config/targets.js:

export const routes = [
  { path: '/',          name: 'Home',      critical: true,  waitFor: 'main' },
  { path: '/login',     name: 'Login',     critical: true,  waitFor: 'form' },
  { path: '/dashboard', name: 'Dashboard', critical: true,  waitFor: '[data-testid="dashboard"]' },
  { path: '/settings',  name: 'Settings',  critical: false, waitFor: null },
];
  • critical: true — erros nesta rota vão para #bugs-critical
  • waitFor — seletor CSS que o Argus aguarda antes de capturar (sinaliza página pronta)

Comandos CLI

npm run chrome         # Launch Chrome with --remote-debugging-port=9222 (auto-detects binary)
npm run doctor         # Pre-flight check: Chrome reachable, .mcp.json valid, .env has TARGET_DEV_URL
npm run crawl          # Batch audit of all configured routes
npm run compare        # Dev vs staging diff (CSS-only if no staging URL)
npm run watch          # Passive monitor — polls open Chrome tab every 1s
npm run report:html    # Generate reports/report.html from last JSON audit
npm run report:pdf     # Export HTML report to A4 PDF (requires: npm install puppeteer)
npm run server         # Start Slack slash-command server (port 3001)
npm run init           # Interactive setup wizard
npm run test:unit          # 562 unit tests — no Chrome required
npm run test:harness       # 171-block correctness harness — requires Chrome
npm run test:harness:log   # same, but tees full output to harness-results.txt
npm run test:coverage      # merged unit + harness coverage gate (requires Chrome)

Modo de observação — monitoramento ao vivo enquanto você (ou seu agente) desenvolve:

# Terminal 1: start your app
npm run dev

# Terminal 2: start Argus watcher
npm run watch
# Ctrl+C → stops monitor and writes reports/report.html

Comando de barra do Slack (sob demanda, de qualquer canal):

/argus-retest https://staging.example.com/checkout

Para expor o servidor via túnel: cloudflared tunnel --url http://localhost:3001 (gratuito, sem necessidade de conta). Defina a URL resultante como Request URL no Slack App → Slash Commands.


GitHub Actions CI — Portão de PR

O Argus é fornecido como uma GitHub Action composta: em cada PR, ele mapeia o diff para as rotas afetadas, audita-as e bloqueia o merge apenas em descobertas que o PR introduz (ciente da linha de base) — com um comentário de PR idempotente e um Check Run.

Adicione aos segredos do seu repositório (Settings → Secrets → Actions):

SegredoObrigatórioValor
TARGET_STAGING_URLSimSua URL base de staging
SLACK_BOT_TOKENNãoToken xoxb-... (omita para modo somente HTML)
SLACK_CHANNEL_CRITICALNão*ID do canal (necessário quando o Slack está configurado)
SLACK_CHANNEL_WARNINGSNão*ID do canal
SLACK_CHANNEL_DIGESTNão*ID do canal
GITHUB_TOKENNãoInjetado automaticamente pelo Actions para comentários de PR + Check Runs

O workflow incluído é executado no push para main, diariamente às 6h UTC e em acionamento manual. Se problemas críticos forem encontrados, o pipeline falha.


Variáveis de Ambiente

Referência completa (clique para expandir)
VariávelPadrãoDescrição
TARGET_DEV_URLObrigatório. URL base do seu ambiente de desenvolvimento
TARGET_STAGING_URLURL de staging — habilita argus_compare; omita para modo somente CSS
SLACK_BOT_TOKENToken xoxb-.... Omita para o modo local report.html
SLACK_SIGNING_SECRETPara verificação do comando de barra /argus-retest
SLACK_CHANNEL_CRITICALID do canal para bugs críticos
SLACK_CHANNEL_WARNINGSID do canal para avisos
SLACK_CHANNEL_DIGESTID do canal para informações / resumo diário
PORT3001Porta do servidor do comando de barra do Slack
REPORT_OUTPUT_DIR./reportsOnde gravar relatórios JSON
ARGUS_CONCURRENCY1Clientes MCP paralelos para rastreamento de rotas
ARGUS_LOG_LEVELinfotrace / debug / info / warn / error
ARGUS_LOG_PRETTYDefina 1 para logs legíveis em desenvolvimento
ARGUS_RETRY_ATTEMPTS3Máximo de tentativas para chamadas MCP navigate/fill
ARGUS_WATCH_INTERVAL_MS1000Intervalo de sondagem do modo de observação (ms)
ARGUS_WATCH_UI_PORT3002Porta do painel web do modo de observação
ARGUS_SOURCE_DIRCaminho da fonte do aplicativo — habilita análise de variáveis de ambiente / feature flags / rotas mortas e mapeamento de rotas de PR ciente do framework (grafo de importação: um componente/folha de estilo alterado → apenas as rotas que o renderizam)
ARGUS_ENV_FILECaminho para o .env do aplicativo para referência cruzada do código
SCREENSHOT_DIFF_THRESHOLD0.5Limite de % de diff de pixels para comparação de ambientes
GITHUB_TOKENPara comentários de PR + Check Runs
GITHUB_REPOSITORYFormato owner/repo
GITHUB_PR_NUMBERInjetado automaticamente pelo Actions a partir do contexto do PR
ARGUS_CRITICAL_THRESHOLD1Novos críticos antes de bloquear o merge (0 = nunca bloquear)
ARGUS_DIFF_IMAGE_URLURL da imagem de diff visual para incorporar no comentário do PR
OTEL_EXPORTER_OTLP_ENDPOINTColetor OTLP para Jaeger / Grafana Tempo
FIGMA_API_TOKENObrigatório para argus_design_audit
FONT_SLOW_MS1000Limite de carregamento lento de fontes web (ms)
A11Y_CONTRAST_AA4.5Contraste mínimo WCAG AA para simulação de CVD
ARGUS_REDACT_SENSITIVEONAegis redação de saída. 0 desativa (saída pré-Aegis byte-idêntica)
ARGUS_REDACT_MODEmaskEstilo de trecho correspondente: mask / label / hash / token / drop
ARGUS_REDACT_HTMLoff local / ON no CI1 redige também o relatório HTML hospedado
ARGUS_REDACT_VAULTOFF1 (com ARGUS_REDACT_MODE=token) gera tokens reversíveis AEGIS_<hmac16> em um cofre local 0600; re-inflate com npm run report:rehydrate

Solução de Problemas

Primeiro recurso para qualquer problema: npx -y -p argusqa-os argus-doctor — verifica a acessibilidade do Chrome, a validade da configuração MCP e as chaves de ambiente necessárias, e imprime a correção exata para cada falha.

Chrome DevTools MCP não conectando

claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
# Restart Claude Code after adding

Mensagens do Slack não sendo postadas

  • O token deve começar com xoxb- (não xoxp-, xoxe- ou xapp-)
  • Execute /invite @BugBot em cada canal
  • Escopos necessários: chat:write, files:write, files:read

Capturas de tela em branco

  • A página não estabilizou — aumente pageSettleMs em src/config/targets.js ou adicione um seletor waitFor para a rota

/argus-retest retorna "dispatch_failed"

  • A URL do túnel mudou — atualize a Request URL no Slack App → Slash Commands e reinstale

A análise de CSS retorna resultados vazios

  • A página pode estar atrás de autenticação — certifique-se de estar logado na instância do Chrome que o Argus está controlando

O pipeline de CI falha imediatamente


Como o Argus Difere do Playwright / Cypress

O Argus é uma camada complementar, não um substituto para testes unitários ou E2E:

Playwright / CypressMCP de navegador bruto (Playwright MCP, chrome-devtools-mcp)Argus
PropósitoTestar sua lógica e contratos de APIDar ao agente mãos e olhos de navegadorDar ao agente (e a você) julgamento sobre o que está quebrado
O que você obtémPassou / falhou em scripts que você escreveuAcesso bruto a DOM/console/rede149 tipos de descobertas codificados, severidades, linhas de base, filtragem de ruído, dicas de causa raiz
ManutençãoArquivos de teste, para sempreRe-prompt das verificações a cada sessãoZero — audita o aplicativo renderizado
Quando executaNa sua suíte de testesQuando o agente pensa em olharSob demanda, no CI como portão de PR, ou continuamente (modo de observação)
SaídaPassou / falhouO que o agente notouRelatórios estruturados com capturas de tela — Slack, HTML, comentários de PR — segredos redigidos

Limitações Conhecidas

Todas as 998 asserções do harness passam (998/998) — atualmente não há restrições conhecidas de camada MCP ou Chrome. O Lighthouse executa em headless (após a correção do argumento lighthouse_audit); as asserções suaves restantes (traços de performance, crescimento de heap dependente de GC) são promovidas a asserções duras contadas apenas na faixa semanal estrita-suave (harness-strict.yml) via ARGUS_HARNESS_STRICT_SOFT. Limites de escopo: apenas Chrome/Chromium, apenas aplicativos web — veja Works With Your Stack.


Argus Hospedado — Membros Fundadores

Quer auditorias sem executar Chrome ou npm — com histórico, tendências, agendamentos e um painel de equipe? Argus Cloud está em acesso antecipado para membros fundadores: US$ 19/mês, bloqueado para sempre (regular US$ 29).

Torne-se um membro fundador → argus-qa.com

O mecanismo de código aberto nesta página permanece MIT e totalmente funcional, sempre — o nível hospedado vende conveniência e memória, nunca detecções.


Estrutura do Projeto

src/
  argus.js              — single-page audit entry point
  mcp-server.js         — 9 MCP tools exposed to Claude / any MCP client
  orchestration/        — crawl loop, Slack/GitHub dispatch, env comparison, watch mode
  utils/                — 32 analysis engines (accessibility, security, performance, PDF, recording, etc.)
  adapters/browser.js   — CdpBrowserAdapter — wraps all chrome-devtools-mcp calls
  config/targets.js     — routes, thresholds, auth steps
  cli/
    init.js             — argus init interactive setup wizard
    chrome-launcher.js  — npm run chrome / argus-chrome — launches Chrome with correct flags
    doctor.js           — npm run doctor / argus-doctor — pre-flight checks
    pr-validate.js      — headless CI entry point for GitHub Actions
test-harness/           — 171-block correctness harness, 998 hard assertions, 64 fixture pages
test/unit/              — 562 Vitest unit tests (no Chrome required)
landing/                — Product landing page (React 19 + Vite + Tailwind)

Mapa completo do código-fonte → CLAUDE.md · Referência MCP/DSL → SKILL.md


Contribuindo

Contribuições são bem-vindas — páginas de fixture, novas categorias de detecção, descoberta de rotas de framework, documentação. Comece com CONTRIBUTING.md.

  1. Faça um fork do repositório e crie uma branch
  2. npm run test:unit — verifique sem Chrome (562 testes)
  3. npm run test:harness — cobertura completa de integração (requer Chrome na porta 9222)
  4. Abra um PR — o Argus audita a si mesmo via o workflow de CI

Licença

MIT © ironclawdevs27


Argus Panoptes — o gigante que tudo vê da mitologia grega, que nunca dormia.

argus-qa.com · npm · MCP Registry