@zeix/ui-element
Version:
UIElement - minimal reactive framework based on Web Components
142 lines (94 loc) • 3.73 kB
Markdown
# Contributing to UIElement
Thank you for your interest in contributing to **UIElement**! Your contributions help improve the project and benefit the community. This guide outlines how to get involved.
---
## Table of Contents
- [Code of Conduct](#code-of-conduct)
- [How to Contribute](#how-to-contribute)
- [Reporting Issues](#reporting-issues)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Submitting Pull Requests](#submitting-pull-requests)
- [Development Setup](#development-setup)
- [Coding Guidelines](#coding-guidelines)
- [Commit Message Guidelines](#commit-message-guidelines)
- [License](#license)
---
## Code of Conduct
By participating in this project, you agree to abide by our **[Code of Conduct](CODE_OF_CONDUCT.md)**. Please ensure that all interactions remain respectful and constructive.
---
## How to Contribute
### Reporting Issues
If you find a bug or have a feature request:
1. **Search the issue tracker** to check if your issue has already been reported.
2. If not, [open a new issue](https://github.com/zeixcom/ui-element/issues/new) and provide:
- A clear and descriptive title.
- Steps to reproduce the issue (if applicable).
- Expected vs. actual behavior.
- Screenshots or logs, if relevant.
### Suggesting Enhancements
We welcome feature suggestions! Before submitting a proposal:
1. **Check existing discussions and issues** to see if your idea has been considered before.
2. Provide a **use case** and explain why the feature is needed.
3. If possible, include a rough implementation idea.
### Submitting Pull Requests
We love code contributions! To submit a pull request (PR):
1. **Fork the repository** and clone it locally.
2. Create a **new branch** (`feature/my-new-feature` or `fix/bug-name`).
3. Make your changes, following our [Coding Guidelines](#coding-guidelines).
4. Ensure all tests pass before committing.
5. Write a **clear commit message** (see [Commit Message Guidelines](#commit-message-guidelines)).
6. Push your branch and **open a pull request** with:
- A brief description of your changes.
- Any related issue numbers (`Fixes #123`).
- Screenshots (if UI changes are made).
---
## Development Setup
To set up the project locally:
**Install dependencies:**
```sh
bun install
```
(UIElement uses Bun as its package manager and runtime.)
**Run tests in watch mode:**
```sh
bun run test:watch
```
**Build the project:**
```sh
bun run build
```
**Start a development server for docs:**
```sh
bun run serve:docs
```
---
## Coding Guidelines
To maintain a high-quality codebase, please follow these guidelines:
* Follow the project's existing coding style.
* Avoid unnecessary dependencies.
* Use functional programming principles where applicable.
* Prefer composition over inheritance.
* Make sure to lint your code (`bun run lint`) and all tests pass (`bun run test:watch`).
## Commit Message Guidelines
We use **conventional commits** for clear history and automated changelogs.
**Format:**
```txt
type(scope): short description
[optional longer description]
```
**Examples:**
* `feat(ui): add new LazyLoad component`
* `*fix(scheduler): resolve timing issue on initial load`
* `docs: update documentation for Context API`
**Types:**
* `feat`: New feature
* `fix`: Bug fix
* `docs`: Documentation update
* `style`: Code style changes (no logic changes)
* `refactor`: Code restructuring (no new features or bug fixes)
* `test`: Adding or improving tests
* `chore`: Maintenance tasks (e.g., build system updates)
---
## License
By contributing, you agree that your contributions will be licensed under the MIT License, unless otherwise stated.
---
Thank you for contributing to UIElement! 🚀