First off, thank you for considering contributing to DWUI! It's people like you that make DWUI such a great tool.
- 🐛 Report bugs
- 💡 Suggest new features
- 📝 Improve documentation
- 🎨 Contribute code
- 🧪 Write tests
# Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR-USERNAME/dwui-new-tab.git
cd dwui-new-tab
# Add the original repo as upstream
git remote add upstream https://github.com/mohammadumar-dev/dwui-new-tab.git# Install dependencies
npm install
# Start development server
npm run dev# Create a new branch for your feature
git checkout -b feature/your-feature-name- Use TypeScript for all new files
- Follow existing code formatting
- Use meaningful variable and function names
- Add comments for complex logic
// ✅ Good: Descriptive component with props interface
interface ButtonProps {
label: string;
onClick: () => void;
}
export function CustomButton({ label, onClick }: ButtonProps) {
return <button onClick={onClick}>{label}</button>;
}
// ❌ Avoid: Unclear naming and no types
export function Btn(props: any) {
return <button onClick={props.fn}>{props.txt}</button>;
}Use clear, descriptive commit messages:
# Good
git commit -m "Add dark mode toggle to sidebar"
git commit -m "Fix search bar focus issue on mobile"
git commit -m "Update Aurora animation performance"
# Avoid
git commit -m "fixed stuff"
git commit -m "updates"-
Build the extension
npm run build
-
Test in Chrome
- Go to
chrome://extensions/ - Enable Developer mode
- Click "Load unpacked"
- Select the
distfolder - Test all features thoroughly
- Go to
-
Check for errors
- Open DevTools (F12)
- Check Console for errors
- Test on different screen sizes
- Code follows the project's style
- Changes have been tested in Chrome
- No console errors
- README updated (if needed)
- Comments added for complex code
-
Push your changes
git push origin feature/your-feature-name
-
Open a Pull Request
- Go to your fork on GitHub
- Click "Pull Request"
- Select your branch
- Fill in the PR template
-
PR Description should include:
- What changes were made
- Why these changes are needed
- Screenshots (for UI changes)
- Any breaking changes
## Description
Brief description of what this PR does
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Performance improvement
## Screenshots (if applicable)
[Add screenshots here]
## Checklist
- [ ] My code follows the style guidelines
- [ ] I have tested my changes
- [ ] I have added necessary comments
- [ ] My changes generate no new warnings- Check if the bug has already been reported
- Make sure you're using the latest version
- Try to reproduce the bug consistently
**Describe the bug**
A clear description of what the bug is
**To Reproduce**
Steps to reproduce:
1. Go to '...'
2. Click on '...'
3. See error
**Expected behavior**
What you expected to happen
**Screenshots**
If applicable, add screenshots
**Environment:**
- Chrome Version: [e.g. 120.0.6099.109]
- OS: [e.g. Windows 11, macOS 14]
- Extension Version: [e.g. 1.0.0]We love feature suggestions! Please provide:
- Clear description of the feature
- Use case - why is it needed?
- Mockups or examples (if possible)
- Technical considerations (if you have ideas)
- Be respectful and inclusive
- Accept constructive criticism gracefully
- Focus on what's best for the community
- Show empathy towards others
- Harassment or discriminatory language
- Trolling or insulting comments
- Publishing others' private information
- Unprofessional conduct
- Open a GitHub Issue
- Join discussions in existing issues
- Check existing documentation
Your contributions make DWUI better for everyone. We appreciate your time and effort!
Happy Coding! 🚀