Installation
Last updated on 2026-04-14
This guide walks you through setting up the A11y Starter Kit from scratch.
System Requirements
- Node.js 18.17 or later
- pnpm (recommended), npm, or yarn
- Git for cloning the repository
Step 1 -- Clone the Repository
The A11y Starter Kit is open source on GitHub:
git clone https://github.com/thefrontkit/a11y-starter-kit-code.git a11y-starter-kit
cd a11y-starter-kit
Step 2 -- Install Dependencies
pnpm install
Key Dependencies
| Package | Purpose |
|---|---|
next 16.x |
React framework |
react 19.x |
UI library |
tailwindcss 4.x |
CSS framework with oklch tokens |
@base-ui/react |
Accessible UI primitives (shadcn/ui v4) |
lucide-react |
Icons |
next-themes |
Dark mode |
sonner |
Toast notifications |
Step 3 -- Start the Dev Server
pnpm dev
Visit http://localhost:3000 to see the landing page.
Step 4 -- Verify the Setup
Navigate through key pages to confirm everything works:
/-- Landing page with feature cards and accessibility badge/dashboard-- Dashboard with stat cards, sidebar navigation, and activity feed/data-table-- Sortable, filterable data table with pagination/settings-- Settings with tabbed interface for profile, notifications, and privacy/login-- Login form with validation and error handling/notifications-- Notification center with modals and toast messages
Available Scripts
| Command | Description |
|---|---|
pnpm dev |
Start dev server |
pnpm build |
Create production build |
pnpm start |
Run production server |
pnpm lint |
Run ESLint checks |
Integrating into an Existing Project
- Copy
components/a11y/for the accessibility utility components - Copy
hooks/for the accessibility hooks - Copy
components/layout/for the skip link and layout primitives - Copy design tokens from
app/globals.css - Install the required dependencies from
package.json
Tip: The accessibility hooks and components are standalone -- you can drop them into any React project without the rest of the kit.
Troubleshooting
Port 3000 already in use:
pnpm dev --port 3001
TypeScript errors after installation:
npx tsc --noEmit
Check that tsconfig.json path aliases match your project structure.