mirror of
https://github.com/jaandrle/deka-dom-el
synced 2025-04-02 20:15:53 +02:00
* 🐛 fixes #41 * ⚡ adjust package size limits * 🔤 * 📺 requestIdleCallback doesn need to be global * 🔤 corrects irland page headers * 📺 version * ⚡ Signal ← SignalReadonly * 🐛 ensures only one disconncetd listener …for cleanup * ⚡ 🔤 Better build and improve texting * 🐛 logo alignemt (due to gh) * 🔤 md enhancements * 🔤 ⚡ products
178 lines
4.6 KiB
Markdown
178 lines
4.6 KiB
Markdown
# Contributing to Deka DOM Elements
|
|
|
|
Thank you for your interest in contributing to Deka DOM Elements (dd<el> or DDE)! This document provides guidelines and
|
|
instructions for contributing to the project.
|
|
|
|
## Table of Contents
|
|
|
|
- [Code of Conduct](#code-of-conduct)
|
|
- [Getting Started](#getting-started)
|
|
- [Development Workflow](#development-workflow)
|
|
- [Commit Guidelines](#commit-guidelines)
|
|
- [Pull Request Process](#pull-request-process)
|
|
- [Issue Guidelines](#issue-guidelines)
|
|
- [Coding Standards](#coding-standards)
|
|
- [Testing](#testing)
|
|
- [Documentation](#documentation)
|
|
|
|
## Code of Conduct
|
|
|
|
Please be respectful and inclusive in your interactions with other contributors. We aim to foster a welcoming community
|
|
where everyone feels comfortable participating.
|
|
|
|
## Getting Started
|
|
|
|
1. **Fork the repository**:
|
|
- Click the "Fork" button on the GitHub repository
|
|
|
|
2. **Clone your fork**:
|
|
```bash
|
|
git clone https://github.com/YOUR-USERNAME/deka-dom-el.git
|
|
cd deka-dom-el
|
|
```
|
|
|
|
3. **Set up the development environment**:
|
|
```bash
|
|
npm ci
|
|
```
|
|
|
|
4. **Add the upstream repository**:
|
|
```bash
|
|
git remote add upstream https://github.com/jaandrle/deka-dom-el.git
|
|
```
|
|
|
|
## Development Workflow
|
|
|
|
1. **Create a new branch**:
|
|
```bash
|
|
git checkout -b your-feature-branch
|
|
```
|
|
Use descriptive branch names that reflect the changes you're making.
|
|
|
|
2. **Make your changes**:
|
|
- Write clean, modular code
|
|
- Follow the project's coding standards (see [Coding Standards](#coding-standards))
|
|
- Include relevant tests for your changes
|
|
|
|
3. ~**Run tests**:~
|
|
```bash
|
|
#npm test
|
|
```
|
|
|
|
4. **Build the project**:
|
|
```bash
|
|
npm run build
|
|
#or
|
|
bs/build.js
|
|
```
|
|
|
|
5. **Preview documentation changes** (if applicable):
|
|
```bash
|
|
npm run docs
|
|
#or
|
|
bs/docs.js
|
|
```
|
|
|
|
…see [BS folder](./bs/README.md) for more info.
|
|
|
|
## Categorizing [](https://robinpokorny.github.io/git3moji/) <!-- editorconfig-checker-disable-line -->
|
|
We use [git3moji](https://git3moji.netlify.app/) for commit messages, issue titles, pull request titles and in other
|
|
areas. To make categorizing quick and consistent.
|
|
|
|
## Commit Guidelines
|
|
|
|
We use [git3moji](https://git3moji.netlify.app/) for commit messages. This helps keep the commit history clear and
|
|
consistent.
|
|
|
|
```
|
|
:emoji: Short summary of the change
|
|
```
|
|
…for example:
|
|
|
|
```
|
|
:bug: Fix signal update not triggering on nested properties
|
|
:zap: Improve event delegation performance
|
|
:abc: Add documentation for custom elements
|
|
```
|
|
|
|
## Pull Request Process
|
|
|
|
1. **Push your changes**:
|
|
```bash
|
|
git push origin your-feature-branch
|
|
```
|
|
|
|
2. **Open a Pull Request**:
|
|
- Go to the repository on GitHub
|
|
- Click "New Pull Request"
|
|
- Select your branch
|
|
- Provide a clear description of your changes
|
|
|
|
3. **PR Guidelines**:
|
|
- Use a clear, descriptive title with the appropriate git3moji
|
|
- Reference any related issues
|
|
- Explain what the changes do and why they are needed
|
|
- List any dependencies that are required for the change
|
|
- Include screenshots or examples if applicable
|
|
|
|
4. **Code Review**:
|
|
- Address any feedback from reviewers
|
|
- Make necessary changes and push to your branch
|
|
- The PR will be updated automatically
|
|
|
|
5. **Merge**:
|
|
- Once approved, a maintainer will merge your PR
|
|
- The main branch is protected, so you cannot push directly to it
|
|
|
|
## Issue Guidelines
|
|
|
|
When creating an issue, please use the appropriate template and include as much information as possible:
|
|
|
|
### Bug Reports
|
|
|
|
- Use the `:bug:` emoji in the title
|
|
- Clearly describe the issue
|
|
- Include steps to reproduce
|
|
- Mention your environment (browser, OS, etc.)
|
|
- Add screenshots if applicable
|
|
|
|
### Feature Requests
|
|
|
|
- Use the `:zap:` emoji in the title
|
|
- Describe the feature clearly
|
|
- Explain why it would be valuable
|
|
- Include examples or mockups if possible
|
|
|
|
### Documentation Improvements
|
|
|
|
- Use the `:abc:` emoji in the title
|
|
- Identify what documentation needs improvement
|
|
- Suggest specific changes or additions
|
|
|
|
## Coding Standards
|
|
|
|
- Follow the existing code style in the project
|
|
- Use meaningful variable and function names
|
|
- Keep functions small and focused
|
|
- Add comments for complex logic
|
|
- Use TypeScript types appropriately
|
|
|
|
<!--
|
|
## Testing
|
|
|
|
- Add tests for new features
|
|
- Update tests for modified code
|
|
- Ensure all tests pass before submitting a PR
|
|
-->
|
|
|
|
## Documentation
|
|
|
|
- Update the documentation when you add or modify features
|
|
- Document both API usage and underlying concepts
|
|
- Use clear, concise language
|
|
- Include examples where appropriate
|
|
|
|
---
|
|
|
|
Thank you for contributing to Deka DOM Elements! Your efforts help make the project better for everyone.
|