{"_id":"@dabighomie/audit-orchestrator","name":"@dabighomie/audit-orchestrator","dist-tags":{"latest":"1.1.0"},"versions":{"1.1.0":{"name":"@dabighomie/audit-orchestrator","version":"1.1.0","description":"Portable visual audit CLI for web projects — dark mode, accessibility, design system, mobile responsiveness, and more.","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"audit-orchestrator":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsc --watch","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build","typecheck":"tsc --noEmit"},"engines":{"node":">=18.3.0"},"keywords":["audit","visual-audit","dark-mode","accessibility","design-system","mobile","cli"],"author":{"name":"DaBigHomie"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DaBigHomie/audit-orchestrator.git"},"devDependencies":{"typescript":"^5.7.0"},"exports":{".":"./dist/index.js","./agent":"./dist/agent.js","./cluster":"./dist/cluster.js","./prompt-scanner":"./dist/prompt-scanner.js","./types":"./dist/types.js"},"_id":"@dabighomie/audit-orchestrator@1.1.0","gitHead":"dd55d85b01374a568d83d3d6e096651dbeca7aaf","bugs":{"url":"https://github.com/DaBigHomie/audit-orchestrator/issues"},"homepage":"https://github.com/DaBigHomie/audit-orchestrator#readme","_nodeVersion":"23.2.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-V1QIHICkEJ/4Q5ZKtR1+Jwds1f75zkkI7dnMfP3w53QknuBpRkJz23NLJZdU7DGF5mS7jNNZV3L8N4wV7euaeg==","shasum":"ceecefa3a81a98ad5a5e35f8b0e480b7e392edce","tarball":"https://registry.npmjs.org/@dabighomie/audit-orchestrator/-/audit-orchestrator-1.1.0.tgz","fileCount":98,"unpackedSize":131465,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEmlQqhLGbYqnwz43nL2REp4nH2szrf6yT4Z/0jZJxayAiEAwj1kUQDZROGR0ZMSPpyCiS3Z4ybFSbHYuLgSlOukIRg="}]},"_npmUser":{"name":"dabighomie213","email":"dabighomie213@gmail.com"},"directories":{},"maintainers":[{"name":"dabighomie213","email":"dabighomie213@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/audit-orchestrator_1.1.0_1773404085188_0.7790910990314068"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-13T12:14:45.103Z","1.1.0":"2026-03-13T12:14:45.350Z","modified":"2026-03-13T12:14:45.533Z"},"maintainers":[{"name":"dabighomie213","email":"dabighomie213@gmail.com"}],"description":"Portable visual audit CLI for web projects — dark mode, accessibility, design system, mobile responsiveness, and more.","homepage":"https://github.com/DaBigHomie/audit-orchestrator#readme","keywords":["audit","visual-audit","dark-mode","accessibility","design-system","mobile","cli"],"repository":{"type":"git","url":"git+https://github.com/DaBigHomie/audit-orchestrator.git"},"author":{"name":"DaBigHomie"},"bugs":{"url":"https://github.com/DaBigHomie/audit-orchestrator/issues"},"license":"MIT","readme":"# @dabighomie/audit-orchestrator\n\nPortable visual audit CLI for web projects. Checks dark mode, accessibility, design system compliance, mobile responsiveness, and more.\n\nZero runtime dependencies. Works with Next.js and Vite + React out of the box.\n\n## Quick Start\n\n```bash\nnpx @dabighomie/audit-orchestrator\n```\n\n## Installation\n\n```bash\nnpm install -D @dabighomie/audit-orchestrator\n```\n\n## CLI Usage\n\n```bash\n# Audit current directory (terminal output)\naudit-orchestrator\n\n# Target a different directory\naudit-orchestrator --cwd ../my-project\n\n# JSON output\naudit-orchestrator --json\naudit-orchestrator --json -o results.json\n\n# Markdown report\naudit-orchestrator --markdown\naudit-orchestrator --markdown -o REPORT.md\n\n# Filter by cluster\naudit-orchestrator --cluster dark-mode\n\n# Verbose (include descriptions and file lists)\naudit-orchestrator --verbose\n\n# Show parallel execution map\naudit-orchestrator --parallel-map\n```\n\n## Audit Rules (10)\n\n| Rule | Category | Severity | What it checks |\n|------|----------|----------|----------------|\n| Dark Mode Variables | dark-mode | critical | CSS custom properties for theme switching |\n| Dark Mode Toggle | dark-mode | high | Toggle component in UI |\n| System Preference | dark-mode | medium | `prefers-color-scheme` media query |\n| Dark Mode Coverage | dark-mode | high | % of components with dark mode classes |\n| Persist Preference | dark-mode | medium | localStorage/cookie for theme choice |\n| Layout Shift | layout | high | Elements causing CLS |\n| Mobile Breakpoints | mobile | high | Responsive breakpoint coverage |\n| Missing Alt Text | accessibility | critical | Images without alt attributes |\n| Touch Targets | mobile | medium | Minimum 44x44px touch targets |\n| Color Contrast | accessibility | critical | WCAG AA contrast ratios |\n\n## Supported Frameworks\n\n| Framework | Adapter | Auto-detected via |\n|-----------|---------|-------------------|\n| Next.js | `nextjs` | `next.config.*` in root |\n| Vite + React | `vite-react` | `vite.config.*` + React dependency |\n\n## Clusters\n\nRules are grouped into execution clusters that can run in parallel:\n\n- **dark-mode** — Theme variable, toggle, system preference, coverage, persistence\n- **layout** — Layout shift detection\n- **mobile** — Breakpoints, touch targets\n- **accessibility** — Alt text, color contrast\n\n## Output Formats\n\n### Terminal (default)\nColor-coded table with pass/fail/skip status per rule.\n\n### JSON (`--json`)\nMachine-readable output for CI pipelines:\n```json\n{\n  \"totalIssues\": 32,\n  \"bySeverity\": { \"critical\": 5, \"high\": 14, \"medium\": 12, \"low\": 1 },\n  \"byCategory\": { \"dark-mode\": 5, \"layout\": 5, ... },\n  \"overallCompletion\": 42,\n  \"framework\": \"nextjs\",\n  \"clusters\": [...],\n  \"issues\": [...]\n}\n```\n\n### Markdown (`--markdown`)\nReport suitable for PR comments or documentation.\n\n## GitHub Actions\n\nAdd to your repo's `.github/workflows/visual-audit.yml`:\n\n```yaml\nname: Visual Audit\non:\n  pull_request:\n    paths: ['src/**', 'app/**', '*.tsx', '*.css']\n\npermissions:\n  contents: read\n  pull-requests: write\n\njobs:\n  audit:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: '22'\n      - run: npx @dabighomie/audit-orchestrator --json -o audit-results.json\n      - name: Post PR Comment\n        if: github.event_name == 'pull_request'\n        uses: actions/github-script@v7\n        with:\n          script: |\n            const fs = require('fs');\n            const results = JSON.parse(fs.readFileSync('audit-results.json', 'utf8'));\n            const icon = (n) => n === 0 ? '✅' : n <= 2 ? '⚠️' : '❌';\n            const body = `## Visual Audit Results\n            | Metric | Value |\n            |--------|-------|\n            | Total Issues | ${results.totalIssues} |\n            | Critical | ${icon(results.bySeverity.critical)} ${results.bySeverity.critical} |\n            | High | ${icon(results.bySeverity.high)} ${results.bySeverity.high} |\n            | Completion | ${results.overallCompletion}% |\n            | Framework | ${results.framework} |`;\n            const { data: comments } = await github.rest.issues.listComments({\n              owner: context.repo.owner, repo: context.repo.repo,\n              issue_number: context.issue.number,\n            });\n            const existing = comments.find(c => c.body?.includes('## Visual Audit Results'));\n            if (existing) {\n              await github.rest.issues.updateComment({\n                owner: context.repo.owner, repo: context.repo.repo,\n                comment_id: existing.id, body,\n              });\n            } else {\n              await github.rest.issues.createComment({\n                owner: context.repo.owner, repo: context.repo.repo,\n                issue_number: context.issue.number, body,\n              });\n            }\n```\n\n## UGWTF Integration\n\nThis package integrates with [`@dabighomie/ugwtf`](https://github.com/DaBigHomie/ugwtf) for multi-repo orchestration:\n\n```bash\n# Deploy visual-audit workflow to all registered repos\ncd ugwtf && npx tsx src/index.ts deploy --cluster visual-audit\n\n# Run audit as part of full audit\nnpx tsx src/index.ts audit 043\n```\n\n### Programmatic API\n\n```typescript\n// Agent adapter (for UGWTF integration)\nimport { visualAuditCluster } from '@dabighomie/audit-orchestrator/cluster';\n\n// Prompt scanner (scan .prompt.md files for audit tasks)\nimport { scanPromptFiles } from '@dabighomie/audit-orchestrator/prompt-scanner';\n```\n\n## Multi-Repo Test Results\n\nTested against 4 production repos:\n\n| Repo | Framework | Issues | Completion |\n|------|-----------|--------|------------|\n| one4three-co-next-app | nextjs | 32 | 42% |\n| damieus-com-migration | vite-react | 32 | 27% |\n| flipflops-sundays-reboot | vite-react | 32 | 24% |\n| maximus-ai | nextjs | 32 | 7% |\n\n## Requirements\n\n- Node.js ≥ 18.3.0\n- TypeScript ≥ 5.7.0 (dev only)\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-9e1d7c3f58da39c736ba6ec8ccb78228"}