---
title: How to Contribute
description: Learn how to contribute to AI Elements.
type: guide
summary: How to contribute to AI Elements.
related:
  - /docs/new-components
  - /docs/community
---

# How to Contribute



AI Elements welcomes contributions from the community. Here's how you can help.

## Types of Contributions

### Bug Reports

Found something broken? [Open an issue](https://github.com/vercel/ai-elements/issues) with:

* A clear description of the problem
* Steps to reproduce
* Expected vs actual behavior
* Your environment (Node version, framework, etc.)

### Documentation

Help improve the docs by:

* Fixing typos and unclear explanations
* Adding code examples
* Improving component documentation
* Writing tutorials

### Bug Fixes

Fix issues in existing components. Check the [open issues](https://github.com/vercel/ai-elements/issues) for bugs to tackle.

### New Components

Add components that help developers build AI interfaces. See [New Components](/docs/new-components) for requirements.

### Enhancements

Improve existing components with:

* Better accessibility
* New features
* Performance improvements
* Improved TypeScript types

## Getting Started

1. Fork the [repository](https://github.com/vercel/ai-elements)
2. Clone your fork:

```bash title="Terminal"
git clone https://github.com/your_username_here/ai-elements.git
```

3. Install dependencies:

```bash title="Terminal"
pnpm install
```

4. Create a branch:

```bash title="Terminal"
git checkout -b feature/your_feature_name_here
```

5. Make your changes
6. Run tests and linting:

```bash title="Terminal"
pnpm test
pnpm run check
```

7. Submit a pull request

## Pull Request Guidelines

* One feature or fix per PR
* Write a clear description of your changes
* Include screenshots for visual changes
* Update documentation if needed
* Ensure tests pass

See the full [CONTRIBUTING.md](https://github.com/vercel/ai-elements/blob/main/.github/CONTRIBUTING.md) for detailed guidelines.
