🤝 Contribution
Contributions of any kind are warmly welcomed! Whether you're reporting bugs, requesting features, improving documentation, or submitting code, your input helps make the Expander Card better for everyone.
Feature Requests
Have an idea for a new feature or enhancement? We'd love to hear about it!
To submit a feature request:
- Check if a similar request already exists in existing issues
- If not, create a new feature request using our template
- Describe the feature, its use case, and why it would be valuable
Template includes:
- Feature description
- Use case scenarios
- Proposed implementation (optional)
- Alternative solutions considered
Bug Reports
Found something that's not working as expected? Please let us know!
When reporting a bug:
- Search existing issues to avoid duplicates
- Use our bug report template for consistency
- Include reproduction steps, expected vs actual behavior
- Add relevant configuration YAML and screenshots if possible
- Mention your Home Assistant version and browser
What to include:
- Clear description of the issue
- Steps to reproduce
- Expected behavior vs actual behavior
- YAML configuration (sanitized)
- Screenshots or videos (if applicable)
- Environment details (HA version, browser, etc.)
Discussions
Want to share ideas, ask questions, or connect with the community? Join our discussions!
Discussion categories:
- General: Questions and general discussions
- Ideas: Brainstorm new features and improvements
- Show and Tell: Share your creative expander card configurations
- Q&A: Get help from the community
Perfect for:
- Asking "how do I..." questions
- Sharing your custom configurations
- Discussing potential features before opening an issue
- Getting feedback on your setup
- Helping other users
Pull Requests
The ultimate contribution! We appreciate code contributions, documentation improvements, and bug fixes.
How to Submit a Pull Request
- Fork the repository
# Fork via GitHub UI, then clone your fork
git clone https://github.com/YOUR_USERNAME/lovelace-expander-card.git
cd lovelace-expander-card
- Create a feature branch
git checkout -b feature/AmazingFeature
# or
git checkout -b fix/BugFix
- Make your changes
- Write clear, commented code
- Follow the existing code style
- Test your changes thoroughly
-
Update documentation if needed
-
Commit your changes
git add .
git commit -m 'Add some AmazingFeature'
Use clear, descriptive commit messages
- Push to your fork
git push origin feature/AmazingFeature
- Open a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your fork and branch
- Provide a clear description of your changes
- Link any related issues
Pull Request Guidelines
- One feature per PR: Keep pull requests focused on a single feature or fix
- Test thoroughly: Ensure your changes work in different scenarios
- Update docs: If you add features, update the documentation
- Code style: Match the existing code formatting and style
- Commit messages: Use clear, descriptive messages
- Be patient: Maintainers will review your PR as soon as possible
Local Development Setup
Build & Install
# Install dependencies
npm install
# or
pnpm install
# Start development server
npm run srv
# Build for production
npm run build
# Run es linting
npm run lint
# Fix es linting
npm run lint-fix
Docs
Go to docs folder and install zensical
# cd docs
cd docs
# Install zensical https://zensical.org/docs/get-started/
...
# build docs
zensical build --clean
# start server to see updates in realtime
zensical serve
Open browser on http://localhost:8000
Other Ways to Contribute
- Documentation: Help improve or translate documentation
- Examples: Share your expander card configurations in discussions
- Support: Help answer questions from other users
- Testing: Test beta releases and provide feedback
- Spread the word: Star the repo and tell others about it
Code of Conduct
Be respectful, constructive, and welcoming. We're all here to make the Expander Card better together.
Questions?
Not sure where to start? Feel free to:
- Open a discussion
- Comment on existing issues
- Check the documentation
Thank you for contributing! 🎉