Thank you for your interest in contributing to Aquarium AI! This document provides guidelines and information for contributors.
There are many ways you can contribute to this project:
Help make Aquarium AI accessible to users worldwide by translating it into your language!
- Difficulty: Easy
- Time: 30-60 minutes
- Guide: See TRANSLATION_GUIDE.md for detailed instructions
Current translations:
- English (en) - Default
- German (de)
We'd love to have translations for Spanish, French, Italian, Dutch, Polish, Portuguese, Russian, Chinese, Japanese, and many more!
Found a bug? Help us fix it by providing detailed information:
- Search existing issues to avoid duplicates
- Create a new issue with:
- Clear title describing the problem
- Steps to reproduce the issue
- Expected vs actual behavior
- Your Home Assistant version
- Integration version
- Relevant logs (enable debug logging if needed)
- Screenshots if applicable
Have an idea for a new feature or improvement?
- Check existing issues for similar requests
- Open a new issue describing:
- The feature you'd like to see
- Why it would be useful
- How you envision it working
- Any examples from other integrations
Want to contribute code? Great! Here's how:
- Fork the repository
- Clone your fork locally
- Create a new branch for your feature/fix:
git checkout -b feature/your-feature-name
This is a Home Assistant custom integration. To test your changes:
- Copy the
custom_components/aquarium_aifolder to your Home Assistant'sconfig/custom_components/directory - Restart Home Assistant
- Test your changes thoroughly
- Follow Home Assistant's coding standards
- Keep changes focused and minimal
- Test your changes with real sensors/cameras if possible
- Update documentation if you change user-facing features
- Add comments for complex logic
- Test your changes in a real Home Assistant environment
- Ensure no syntax errors or warnings
- Update documentation if needed
- Add yourself to credits if making significant contributions
- Push your changes to your fork
- Create a Pull Request from your fork to the main repository
- Provide a clear description of:
- What the PR does
- Why the change is needed
- How to test it
- Any breaking changes
- Link to related issues if applicable
custom_components/aquarium_ai/
├── __init__.py # Integration setup and core logic
├── config_flow.py # Configuration UI flow
├── const.py # Constants and defaults
├── manifest.json # Integration metadata
├── sensor.py # Sensor entities
├── services.yaml # Service definitions
├── strings.json # Default English strings
└── translations/ # Language-specific translations
├── en.json # English
├── de.json # German
└── template.json # Translation template
- Config Flow: UI for setting up the integration
- Sensors: AI analysis sensors for each parameter
- AI Analysis: Core logic that calls Home Assistant's AI task service
- Notifications: Formatted notifications with analysis results
Since this integration relies on AI services and sensors:
- Test with real aquarium sensors if possible
- Test with different AI providers (Google AI, OpenAI, etc.)
- Test different aquarium types (Freshwater, Marine, Reef)
- Test with and without camera integration
- Test all notification formats (Full, Condensed, Minimal)
- Test manual vs automatic analysis modes
To enable debug logging in Home Assistant, add to configuration.yaml:
logger:
default: info
logs:
custom_components.aquarium_ai: debugTranslations are especially welcome! They're easy to contribute and have a big impact.
- See TRANSLATION_GUIDE.md for full instructions
- Use
translations/template.jsonas your starting point - Test your translation in Home Assistant
- Submit a PR with your new language file
When adding features, please update:
- README.md - User-facing features and setup instructions
- TRANSLATION_GUIDE.md - If adding translatable strings
- This file - If adding new contribution types
- Be respectful and constructive
- Help others when you can
- Share your aquarium setups and results!
- Have fun - this is a passion project! 🐠
- Open an issue for questions about contributing
- Check existing issues and PRs for similar discussions
- Review closed issues for historical context
Contributors are recognized in:
- This file
- TRANSLATION_GUIDE.md (for translators)
- Release notes (for significant contributions)
Thank you for helping make Aquarium AI better! 🌟