Ark UI is a headless component library for building scalable Design Systems across React, Solid, Svelte, and Vue. Built on top of Zag.js state machines, it provides unstyled, accessible UI components.
This guide is split into focused documents for better navigation:
- Overview - Project overview, architecture, and available components
- Development - Development workflows, commands, and processes
- Component Patterns - Component development patterns, examples, and testing
- Framework Patterns - Framework-specific patterns and advanced implementations
- Documentation Patterns - Website documentation structure, Examples vs Guides, and writing guidelines
# Install dependencies
bun install
# Build all packages
bun run build
# Run tests across all packages
bun run test
# Type check all packages
bun run typecheck
# Lint all packages
bun run lint
# Format code
bun run format# Work with specific framework packages
bun run react dev # React Storybook on port 6006
bun run solid dev # Solid Storybook on port 6006
bun run svelte dev # Svelte Storybook on port 6006
bun run vue dev # Vue Storybook on port 6006The project includes Claude Code slash commands in .claude/commands/:
/zag- Implement a Zag.js component in Ark UI (follows specific implementation workflow)
ark/
├── packages/ # Framework-specific implementations
│ ├── react/ # React components
│ ├── solid/ # SolidJS components
│ ├── svelte/ # Svelte components
│ └── vue/ # Vue components
├── website/ # Documentation site
├── templates/ # Project templates
├── integrations/ # Third-party integrations
└── scripts/ # Build and utility scripts
- TypeScript First: All components must be fully typed
- Framework Consistency: Maintain API parity across React, Solid, Svelte, and Vue
- Accessibility: Follow ARIA guidelines and test with screen readers
- No Comments: Follow existing codebase pattern of minimal commenting
- Imports: Use absolute imports from framework packages (
@ark-ui/solid/checkbox)
- Follow existing code patterns and conventions
- Add TypeScript types for all new code
- Include Storybook stories for components
- Write tests for component behavior
- Ensure accessibility compliance
For detailed information on any topic, refer to the specific documentation files linked above.