{"_id":"@a11yflowdev/cli","_rev":"3-4bddd30ef6fd897a4dc4568b7a08047d","name":"@a11yflowdev/cli","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@a11yflowdev/cli","version":"0.1.0","keywords":["accessibility","wcag","a11y","scanner","cli","a11yflow"],"author":{"name":"Benjamin Morton","email":"ben@a11yflow.dev"},"license":"MIT","_id":"@a11yflowdev/cli@0.1.0","maintainers":[{"name":"togglekitdev","email":"ben@togglekit.dev"}],"homepage":"https://a11yflow.dev","bugs":{"url":"https://github.com/benjaminmorton/a11yflow/issues"},"bin":{"a11yflow":"bin/a11yflow.js"},"dist":{"shasum":"308dbe9aecb6989f86336200e022570927801c6d","tarball":"https://registry.npmjs.org/@a11yflowdev/cli/-/cli-0.1.0.tgz","fileCount":5,"integrity":"sha512-Jogv1RAvECKkePylK3CW+RsuQ6DToBCo4lbqadhHrwTY0g+8HhIEv0WE+pxeNnCS0jkH/o58Xr43crziNN6Eug==","signatures":[{"sig":"MEYCIQCMhSS6gOXsONxWNzppfL02++tQBrcohlQ5ps6auc9UYwIhANZnsQXMzGLYwzpgY9D7v4xdZfs6a7PokHK0OUK2zGaX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92331},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"825b0ae858de8cb1da10dd58d8c2b725870c9f1d","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","type-check":"tsc --noEmit"},"_npmUser":{"name":"togglekitdev","email":"ben@togglekit.dev"},"repository":{"url":"git+https://github.com/benjaminmorton/a11yflow.git","type":"git","directory":"packages/cli"},"_npmVersion":"10.9.2","description":"CLI tool for A11yFlow — WCAG 2.2 accessibility scanner","directories":{},"_nodeVersion":"22.14.0","dependencies":{"commander":"^12.1.0","@a11yflow/api-client":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1774902543781_0.09537085050710203","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@a11yflowdev/cli","version":"0.1.1","keywords":["accessibility","wcag","a11y","scanner","cli","a11yflow"],"author":{"name":"Benjamin Morton","email":"ben@a11yflow.dev"},"license":"MIT","_id":"@a11yflowdev/cli@0.1.1","maintainers":[{"name":"togglekitdev","email":"ben@togglekit.dev"}],"homepage":"https://a11yflow.dev","bugs":{"url":"https://github.com/benjaminmorton/a11yflow/issues"},"bin":{"a11yflow":"bin/a11yflow.js"},"dist":{"shasum":"7204abfb9b702b0745c41ec63c5b4879bd2a8b9a","tarball":"https://registry.npmjs.org/@a11yflowdev/cli/-/cli-0.1.1.tgz","fileCount":5,"integrity":"sha512-2Cz40pamDiz/F5PeMrBdbUrLlbR+u+WVcb63m+32vM7PfsLR4UDKYOeSKKGeS/y6TVO2P8csKTfsGOwhECmMew==","signatures":[{"sig":"MEYCIQDLIFwONcpSlmmf3xO3EyNkZeUOeQEt8+m4URDhZz8DJwIhALRujvgs/SAEeAdmI13ullCuyD2S1Hb1VVOYlRkYdWaq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92331},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"825b0ae858de8cb1da10dd58d8c2b725870c9f1d","private":false,"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","type-check":"tsc --noEmit"},"_npmUser":{"name":"togglekitdev","email":"ben@togglekit.dev"},"repository":{"url":"git+https://github.com/benjaminmorton/a11yflow.git","type":"git","directory":"packages/cli"},"_npmVersion":"10.9.2","description":"CLI tool for A11yFlow — WCAG 2.2 accessibility scanner","directories":{},"_nodeVersion":"22.14.0","dependencies":{"commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","typescript":"^5.7.2","@types/node":"^22.10.5","@a11yflow/api-client":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1774902635577_0.8632765182055953","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@a11yflowdev/cli","version":"0.1.2","description":"CLI tool for A11yFlow — WCAG 2.2 accessibility scanner","author":{"name":"Benjamin Morton","email":"ben@a11yflow.dev"},"license":"MIT","private":false,"type":"module","bin":{"a11yflow":"bin/a11yflow.js"},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","type-check":"tsc --noEmit","lint":"eslint src/"},"dependencies":{"commander":"^12.1.0"},"devDependencies":{"@a11yflow/api-client":"workspace:*","@types/node":"^22.10.5","tsup":"^8.3.0","typescript":"^5.7.2"},"keywords":["accessibility","wcag","a11y","scanner","cli","a11yflow"],"repository":{"type":"git","url":"git+https://github.com/benjaminmorton/a11yflow.git","directory":"packages/cli"},"homepage":"https://a11yflow.dev","bugs":{"url":"https://github.com/benjaminmorton/a11yflow/issues"},"_id":"@a11yflowdev/cli@0.1.2","gitHead":"99c93d2f0ab0eac414e1f5fbca3d7f7e1bafbee3","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-0F6g9Jw6FDXW27tLO2zLow1UqhIphoSvdNXlsxr2HswC681NCgvLM+aIX/GzT20V0zPTNfakQTKRzvARQ/ra/A==","shasum":"0c47fd50aa9e5f3e921ca1d35381015721be84a4","tarball":"https://registry.npmjs.org/@a11yflowdev/cli/-/cli-0.1.2.tgz","fileCount":6,"unpackedSize":96022,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG2y8Nr8Jh0G2vJzDuj5JvdY+6DeofFirTat7gLZR+TVAiAFWshZf40hZhBrfDKWJ0YJPgFVDy7J71yCQSrA9ExJgw=="}]},"_npmUser":{"name":"togglekitdev","email":"ben@togglekit.dev"},"directories":{},"maintainers":[{"name":"togglekitdev","email":"ben@togglekit.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.2_1774903973907_0.814026417092939"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T20:29:03.685Z","modified":"2026-03-30T20:52:54.185Z","0.1.0":"2026-03-30T20:29:03.922Z","0.1.1":"2026-03-30T20:30:35.756Z","0.1.2":"2026-03-30T20:52:54.054Z"},"bugs":{"url":"https://github.com/benjaminmorton/a11yflow/issues"},"author":{"name":"Benjamin Morton","email":"ben@a11yflow.dev"},"license":"MIT","homepage":"https://a11yflow.dev","keywords":["accessibility","wcag","a11y","scanner","cli","a11yflow"],"repository":{"type":"git","url":"git+https://github.com/benjaminmorton/a11yflow.git","directory":"packages/cli"},"description":"CLI tool for A11yFlow — WCAG 2.2 accessibility scanner","maintainers":[{"name":"togglekitdev","email":"ben@togglekit.dev"}],"readme":"# @a11yflowdev/cli\n\nCLI tool for [A11yFlow](https://a11yflow.dev) — WCAG 2.2 accessibility scanner. Run scans from the terminal, get results as tables, JSON, or plain-language explanations. Built for developers, CI/CD pipelines, and AI coding agents.\n\n## Quick Start\n\n```bash\n# No install needed\nnpx @a11yflowdev/cli scan https://example.com\n\n# Or install globally\nnpm install -g @a11yflowdev/cli\n```\n\n## Authentication\n\n```bash\n# Option 1: Environment variable (recommended for CI)\nexport A11YFLOW_API_KEY=sk_live_your_key\n\n# Option 2: Store in config file\na11yflow auth login\n\n# Option 3: Pass inline\na11yflow scan https://example.com --key sk_live_your_key\n```\n\nGet an API key free at [a11yflow.dev](https://a11yflow.dev).\n\n## Commands\n\n### Scan a page\n\n```bash\na11yflow scan https://example.com\na11yflow scan https://example.com --format plain    # plain language explanations\na11yflow scan https://example.com --format json     # machine-readable output\na11yflow scan https://example.com --standard wcag2aaa\n```\n\n**Output (table):**\n\n```\nScore: 74/100  |  4 violations  |  17 passes  |  2 incomplete\n\nVIOLATIONS\n\n  critical  button-name        2 elements   Buttons must have discernible text\n  serious   color-contrast     5 elements   Elements must have sufficient colour contrast\n  serious   label              1 element    Form elements must have labels\n  moderate  html-has-lang      1 element    <html> element must have a lang attribute\n```\n\n**Output (plain):**\n\n```\nScore: 74/100\n\n--- CRITICAL ---\n\nbutton-name (2 elements)\n  What's wrong:   One or more buttons don't have a name that describes what they do.\n  Who's affected: Screen reader users hear \"button\" with no context.\n  How to fix:     Add visible text inside the button, or add an aria-label.\n```\n\n### Crawl multiple pages\n\n```bash\na11yflow crawl https://example.com\na11yflow crawl https://example.com --mode sitemap --max-pages 25\n```\n\n### Browse rules\n\n```bash\na11yflow rules                        # list all rules\na11yflow rules color-contrast         # detail for one rule\na11yflow rules --impact critical      # filter by impact\n```\n\n### Manage schedules and webhooks\n\n```bash\na11yflow schedules list\na11yflow schedules create https://example.com --frequency daily\na11yflow webhooks list\na11yflow webhooks create https://hooks.example.com/a11y\n```\n\n## Scan Flags\n\n| Flag | Default | Description |\n|------|---------|-------------|\n| `--standard` | `wcag22aa` | `wcag2a`, `wcag2aa`, `wcag2aaa`, `wcag22aa` |\n| `--format` | `table` | `table`, `json`, `plain` |\n| `--fail-on` | — | Exit 1 if violations at this impact+: `minor`, `moderate`, `serious`, `critical` |\n| `--wait` | `3000` | Wait for JS rendering (0-30000ms) |\n| `--quiet` | `false` | Suppress progress, print only results |\n| `--include-html` | `false` | Include HTML of violating elements |\n| `--include-best-practices` | `false` | Include non-WCAG best-practice rules |\n| `--poll-interval` | `2000` | Poll interval (ms) while waiting |\n| `--timeout` | `120000` | Max wait time (ms) |\n\n## CI/CD Integration\n\nExit codes: `0` = pass, `1` = violations found, `2` = error.\n\n**GitHub Actions:**\n\n```yaml\n- name: Accessibility scan\n  env:\n    A11YFLOW_API_KEY: ${{ secrets.A11YFLOW_API_KEY }}\n  run: npx @a11yflowdev/cli scan $DEPLOY_URL --fail-on serious\n```\n\n**GitLab CI:**\n\n```yaml\naccessibility:\n  script:\n    - npx @a11yflowdev/cli scan $DEPLOY_URL --fail-on serious --quiet --format json > report.json\n  artifacts:\n    paths:\n      - report.json\n```\n\n## Links\n\n- [Documentation](https://a11yflow.dev/docs)\n- [API Reference](https://a11yflow.dev/docs#submit-scan)\n- [GitHub](https://github.com/benjaminmorton/a11yflow)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}