Contributing to MetisMenu
January 22, 2026 ยท View on GitHub
Thank you for your interest in contributing! Open source is built by people like you. โค๏ธ
Ways to Contribute
- ๐ Report bugs and issues
- โจ Suggest features and improvements
- ๐ Improve documentation
- ๐ง Submit pull requests
- โญ Star the project
Getting Started
Prerequisites
- Node.js 16+
- npm or yarn
Setup Development Environment
# Clone the repository
git clone https://github.com/onokumus/metismenu.git
cd metismenu
# Install dependencies
npm install
# Start development server with watch mode
npm run js:dev
# In another terminal, watch CSS changes
npm run css:dev
Build & Test
# Run linting
npm run lint
# Run tests
npm test # Run tests once
npm run test:watch # Run tests in watch mode
# Build for production
npm run build
# Build specific assets
npm run js:prod # Build JavaScript
npm run css:prod # Build CSS
npm run js:umd:min # Minify UMD
npm run js:esm:min # Minify ESM
npm run css:min # Minify CSS
Reporting Issues
Before Creating an Issue
- Check if the issue already exists
- Review the README
- Test with the latest version
Issue Guidelines
Please provide:
- Version: Which version of MetisMenu are you using?
- Browser/Environment: Where does the issue occur?
- Steps to reproduce: Clear steps to reproduce the issue
- Expected behavior: What should happen?
- Actual behavior: What actually happens?
- Code example: If applicable, provide a minimal reproduction
Pull Requests
Before Starting
- Fork the repository
- Create a branch from
master:git checkout -b feature/your-feature-name - Keep commits focused and atomic
Code Standards
- Follow the existing code style
- Use ES6+ features
- Add comments for complex logic
- Ensure no console warnings/errors
PR Checklist
- Code follows project style
- Tests pass:
npm run test - Build succeeds:
npm run build - No breaking changes or documented
- Documentation updated if needed
- Commit messages are clear
Commit Messages
Use descriptive commit messages:
feat: add new feature description
fix: resolve bug description
docs: update documentation
style: format code
refactor: reorganize code structure
test: add tests
chore: update dependencies
Questions?
- Open an issue with the
questionlabel - Check Stack Overflow
Code of Conduct
Be respectful and inclusive. We're all here to help each other build something great.