* 🐛 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
4.6 KiB
Contributing to Deka DOM Elements
Thank you for your interest in contributing to Deka DOM Elements (dd or DDE)! This document provides guidelines and instructions for contributing to the project.
Table of Contents
- Code of Conduct
- Getting Started
- Development Workflow
- Commit Guidelines
- Pull Request Process
- Issue Guidelines
- Coding Standards
- Testing
- 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
-
Fork the repository:
- Click the "Fork" button on the GitHub repository
-
Clone your fork:
git clone https://github.com/YOUR-USERNAME/deka-dom-el.git cd deka-dom-el
-
Set up the development environment:
npm ci
-
Add the upstream repository:
git remote add upstream https://github.com/jaandrle/deka-dom-el.git
Development Workflow
-
Create a new branch:
git checkout -b your-feature-branch
Use descriptive branch names that reflect the changes you're making.
-
Make your changes:
- Write clean, modular code
- Follow the project's coding standards (see Coding Standards)
- Include relevant tests for your changes
-
Run tests:#npm test
-
Build the project:
npm run build #or bs/build.js
-
Preview documentation changes (if applicable):
npm run docs #or bs/docs.js
…see BS folder for more info.
Categorizing
We use git3moji for commit messages, issue titles, pull request titles and in other areas. To make categorizing quick and consistent.
Commit Guidelines
We use git3moji 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
-
Push your changes:
git push origin your-feature-branch
-
Open a Pull Request:
- Go to the repository on GitHub
- Click "New Pull Request"
- Select your branch
- Provide a clear description of your changes
-
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
-
Code Review:
- Address any feedback from reviewers
- Make necessary changes and push to your branch
- The PR will be updated automatically
-
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
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.