UNPKG

@zeix/ui-element

Version:

UIElement - minimal reactive framework based on Web Components

142 lines (94 loc) 3.73 kB
# 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! 🚀