A11YSmith Architecture

A11YSmith is a monorepo managed with pnpm workspaces and Turborepo. It contains packages for auditing web, Android, iOS, and document accessibility, plus an AI agent ecosystem, shared libraries, and a dashboard.

Package Dependency Graph

@a11ysmith/cli
  +-- @a11ysmith/web-auditor
  +-- @a11ysmith/android-auditor
  +-- @a11ysmith/ios-auditor
  +-- @a11ysmith/document-auditor
  +-- @a11ysmith/agents
  +-- @a11ysmith/core
  +-- @a11ysmith/schemas
  +-- @a11ysmith/standards

@a11ysmith/agents
  +-- @a11ysmith/schemas
  +-- @a11ysmith/core
  +-- @a11ysmith/standards

@a11ysmith/web-auditor
  +-- @a11ysmith/schemas
  +-- @a11ysmith/core
  +-- @a11ysmith/standards

@a11ysmith/document-auditor
  +-- @a11ysmith/schemas
  +-- @a11ysmith/core
  +-- @a11ysmith/standards

@a11ysmith/run-manager
  +-- @a11ysmith/schemas
  +-- @a11ysmith/core
  +-- @a11ysmith/android-auditor
  +-- @a11ysmith/ios-auditor
  +-- @a11ysmith/artifact-ingestion

@a11ysmith/workbench-server
  +-- @a11ysmith/run-manager

@a11ysmith/workbench (Astro SSR app)
  +-- @a11ysmith/run-manager
  +-- @a11ysmith/workbench-server

@a11ysmith/core
  +-- @a11ysmith/schemas

@a11ysmith/dashboard (hybrid: static + server)
  +-- @a11ysmith/schemas
  +-- @a11ysmith/agents
  +-- @a11ysmith/web-auditor

Package Descriptions

Monorepo packages
Package Path Description
@a11ysmith/clipackages/cliCLI with 13 commands for auditing, agent management, and report sanitization
@a11ysmith/web-auditorpackages/web-auditorWeb auditing via axe-core and Playwright (10 rules)
@a11ysmith/android-auditorpackages/android-auditorAndroid source and artifact analysis (10 rules)
@a11ysmith/ios-auditorpackages/ios-auditoriOS source and artifact analysis (13 rules)
@a11ysmith/document-auditorpackages/document-auditorOffice and PDF accessibility scanning (28 rules)
@a11ysmith/agentspackages/agents57 AI accessibility agents, 6 teams, 5 platform generators
@a11ysmith/schemaspackages/schemasShared Zod schemas for findings, evidence, and configs
@a11ysmith/corepackages/coreVerdict engine, severity scoring, and report generation (JSON, Markdown, HTML)
@a11ysmith/standardspackages/standardsWCAG 2.2 criteria catalog with Target mapping
@a11ysmith/artifact-ingestionpackages/artifact-ingestionParse CI artifacts (view hierarchies, lint reports) into the Finding schema
@a11ysmith/run-managerpackages/run-managerRun lifecycle management: schemas, state machine, persistence, artifact validation, multi-platform execution
@a11ysmith/workbench-serverpackages/workbench-serverFramework-agnostic JSON API handler for assessment CRUD, artifact upload, reassessment, and diff URL generation
@a11ysmith/workbenchapps/workbenchAstro SSR app providing the Consultant Audit Workbench GUI for creating and managing accessibility assessments
@a11ysmith/dashboardapps/dashboardAstro hybrid site (static + server) with 24 page templates for viewing audit results, live auditing, and managing agents

Data Flow

The audit pipeline follows a linear data flow from source input to final report output:

Source Code / Artifacts / Documents
        |
        v
    Evidence Collectors
    (parse HTML, XML, Swift, Kotlin, OOXML, PDF)
        |
        v
    Rule Engine
    (match evidence against rule definitions)
        |
        v
    Findings
    (structured violations with severity, confidence, WCAG mapping)
        |
        v
    Verdict Engine
    (aggregate pass / fail / review-needed)
        |
        v
    Reporter
    (format findings as JSON, Markdown, HTML, or CSV)
        |
        v
    Report Output

Technology Stack

Technology stack
Layer Technology
LanguageTypeScript 5.x (strict mode with noUncheckedIndexedAccess)
RuntimeNode.js 22
Package managerpnpm 9
Build orchestrationTurborepo
Web auditingaxe-core + Playwright
Schema validationZod
TestingVitest (538+ tests across 10 packages)
FormattingPrettier
DashboardAstro (hybrid: static pages + Node.js server for live audits)
CI/CDGitHub Actions
PublishingChangesets + GitHub Packages