Getting Started
Thank you for considering contributing to Nuxt UI! We welcome contributions from the community to help improve the library.Ways to Contribute
Report Bugs
Found a bug? Check the existing issues and submit a detailed bug report to help us fix it.
Suggest Features
Have ideas to enhance Nuxt UI? Share your suggestions and feature requests with the community.
Submit PRs
Contribute code improvements, bug fixes, or new features through pull requests.
Improve Docs
Help make our documentation better by fixing errors or adding missing information.
Local Development
Prerequisites
Before you begin, ensure you have:- Node.js (latest LTS version recommended)
- pnpm (package manager)
- Git
Setup Instructions
- Fork and Clone
- Install Dependencies
- Generate Type Stubs
Development Commands
Project Structure
Understanding the project structure will help you navigate the codebase:Key Conventions
Follow these conventions when contributing:Conventional Commits
All commit messages must follow conventional commits format:Code Style
- Type imports: Always use separate
import type { X }statements - Semantic colors: Use
text-default,bg-elevated, etc. — never raw Tailwind palette colors liketext-gray-500 - Template slots: Add
data-slot="name"attributes on all template elements - Component theming: Use
computed(() => tv(...))for reactive theming with Tailwind Variants
Creating New Components
Scaffold new components using the CLI:--primitive- Create a primitive component--prose- Create a prose component--content- Create a content component--template <name>- Use a specific template
Before Submitting
Ensure your contribution meets these requirements:-
pnpm run lintpasses -
pnpm run typecheckpasses -
pnpm run testpasses - Documentation is updated if applicable
- Commit messages follow conventional commits
Multiple commits are fine — PRs are squash merged, so no need to rebase or force push.
AI Contributing Skill
We provide a contributing skill for AI assistants to help you contribute to Nuxt UI. It will automatically guide you through component structure, theming patterns, testing conventions, and documentation guidelines when working in this repository.Need Help?
If you have questions or need assistance:- Check the documentation
- Browse existing issues
- Join the Nuxt Discord