Thank you for your interest in contributing to the HomeAssistant Vibecode Agent! Contributions are welcome and greatly appreciated.
We welcome contributions of all kinds:
- 🐛 Bug fixes
- ✨ New features
- 📝 Documentation improvements
- 🧪 Tests
- 💡 Ideas and suggestions
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/home-assistant-vibecode-agent.git
cd home-assistant-vibecode-agent- Add the upstream repository (to sync with main project):
git remote add upstream https://github.com/Coolver/home-assistant-vibecode-agent.gitCreate a new branch for your changes:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fixUse descriptive branch names:
feature/add-new-endpoint- for new featuresfix/authentication-issue- for bug fixesdocs/update-api-docs- for documentationrefactor/improve-error-handling- for refactoring
- Write clean, readable code
- Follow existing code style (PEP 8 for Python)
- Add comments for complex logic
- Update documentation if needed
- Add tests for new features
Before submitting, make sure:
- ✅ Code runs without errors
- ✅ Existing tests still pass
- ✅ New functionality is tested
- ✅ Documentation is updated
Write clear, descriptive commit messages:
git commit -m "Add feature: description of what you did"Good commit messages:
- Start with a verb (Add, Fix, Update, Remove)
- Be specific about what changed
- Keep the first line under 72 characters
- Add more details in the body if needed
Example:
Add support for custom commit messages in automation creation
- Extract commit_message from request body
- Pass to git_manager for meaningful Git history
- Update API documentation
- Push your branch to your fork:
git push origin feature/your-feature-name- Create a Pull Request on GitHub:
- Go to the original repository
- Click "New Pull Request"
- Select your fork and branch
- Fill out the PR template (if available)
- Describe your changes clearly
Your PR description should include:
- What - What changes did you make?
- Why - Why are these changes needed?
- How - How did you implement the changes?
- Testing - How was it tested?
- Maintainers will review your PR
- Address any feedback or requested changes
- Once approved, your PR will be merged
Before submitting, ensure:
- Code follows the project's style guidelines
- Self-review completed
- Comments added for complex code
- Documentation updated (if needed)
- Tests added/updated (if applicable)
- No new warnings or errors
- Commit messages are clear
See DEVELOPMENT.md for detailed setup instructions.
- Check if the bug has already been reported
- Test with the latest version
- Gather relevant information (logs, error messages, steps to reproduce)
When reporting a bug, include:
- Description: Clear description of the bug
- Steps to Reproduce: Detailed steps to reproduce the issue
- Expected Behavior: What should happen
- Actual Behavior: What actually happens
- Environment: Home Assistant version, add-on version, OS
- Logs: Relevant error logs or stack traces
- Screenshots: If applicable
We welcome feature suggestions! When proposing a feature:
- Check if it's already been suggested
- Describe the feature clearly
- Explain the use case and benefits
- Consider implementation complexity
- Feature Description: What should the feature do?
- Use Case: Why is this feature needed?
- Proposed Solution: How should it work?
- Alternatives: Other solutions you've considered
By contributing, you agree that your contributions will be licensed under the MIT License.
Your contributions make this project better for everyone. Thank you for taking the time to contribute!
Happy coding! 🚀