@appfire-ux/vpat-agent
v0.20260709.0
Published
Claude Code VPAT/ACR agents for Appfire apps — /vpat-audit end-to-end: UI axe scan + evidence audit + CRUX ACR draft. Requires a running UI URL. One-command install.
Downloads
93
Maintainers
Readme
@appfire-ux/vpat-agent
One-command install of the VPAT/ACR audit pipeline for Appfire repos. Produces evidence from the running UI (axe-core scans, screenshots) and drafts an ACR using the official Appfire CRUX VPAT 2.5 Rev INT template.
Companion package to @appfire-ux/audit-agent (UX/UI audits) and @appfire-ux/guidelines (rules/skills).
Install
npm install -D @appfire-ux/vpat-agent @appfire-ux/guidelines
npx @appfire-ux/vpat-agent
npx @appfire-ux/guidelinesOne-time scan dependencies:
npm install -D playwright axe-core
npx playwright install chromiumOpen Claude Code and run:
/vpat-audit --url https://localhost:5173UI URL is required for a credible VPAT. If you omit --url, the agent stops and asks for a link to a running environment before any scan.
Commands
| Command | Purpose |
|---------|---------|
| /vpat-audit | Full pipeline: a11y UI scan → VPAT repo audit → ACR draft |
| /a11y-audit | Accessibility evidence only (axe + static audit → JSON for ACR) |
/vpat-audit arguments
/vpat-audit --url <base-url> [scope-path] [--lang pl|en] [--out-dir <path>] [--prod] [--routes /,/foo] [--skip-acr] [--skip-repo-audit]--url <base-url>— required unless you confirm when prompted (dev/staging/prod UI root)--static-only— code-only audit; not recommended for VPAT (agent warns and asks for confirmation)--prod— append-prodto report filenames--skip-acr— stop after VPAT repo audit (no ACR draft)--skip-repo-audit— re-draft ACR only from existing evidence
What gets installed
| File | Purpose |
|------|---------|
| .claude/commands/vpat-audit.md | /vpat-audit orchestrator |
| .claude/commands/a11y-audit.md | /a11y-audit (VPAT evidence collection) |
| .claude/agents/a11y-auditor.md | WCAG 2.2 + axe scan → A11Y-AUDIT-*.{md,html,json} |
| .claude/agents/vpat-repo-auditor.md | Evidence-gap pre-audit → VPAT-REPO-AUDIT-*.{md,json} |
| .claude/agents/vpat-acr-drafter.md | ACR draft → ACR-DRAFT-*.md (CRUX template) |
| .claude/reference/vpat-crux-template.md | Official Appfire CRUX VPAT structure |
| scripts/a11y-audit-scan.mjs | Playwright + axe-core per-route scanner |
| scripts/ux-audit-capture.mjs | Screenshot capture fallback |
| scripts/build-html-reports.mjs | MD → Confluence-ready HTML |
Output layout
docs/audits/
├── VPAT-REPO-AUDIT-<date>[-prod].{md,json}
├── ACR-DRAFT-<date>[-prod].md
└── a11y-audit/
├── A11Y-AUDIT-<date>[-prod].{md,html,json}
├── assets/*.png
└── axe-results/*.jsonUpdate
Phase 0 on every /vpat-audit run refreshes packages. Manual refresh:
npm update @appfire-ux/vpat-agent @appfire-ux/guidelines
npx @appfire-ux/vpat-agent
npx @appfire-ux/guidelinesWith /full-audit
@appfire-ux/audit-agent /full-audit runs UX/UI/A11Y in parallel, then delegates the VPAT sequence to this package (install @appfire-ux/vpat-agent in the same repo).
Publishing (maintainers)
Pushes to main touching appfire-ux-vpat-agent/** or canonical VPAT files in .claude/ run .github/workflows/publish-vpat-agent.yml.
