Thank you for your interest in contributing to homelife.ai! This guide will help you get started.
- Fork the repository and clone your fork.
- Follow the setup instructions in getting-started.md to configure your development environment.
- Create a new branch from
mainfor your work.
Use the following prefixes for branch names:
feat/— New features (e.g.,feat/audio-transcription)fix/— Bug fixes (e.g.,fix/timeline-scroll)docs/— Documentation changes (e.g.,docs/api-reference)
Follow the conventional commit format:
feat:— A new featurefix:— A bug fixdocs:— Documentation only changesrefactor:— Code change that neither fixes a bug nor adds a feature
Keep messages concise and descriptive. Example:
feat: add weekly activity trend analysis
fix: correct timezone offset in timeline view
- Open an issue first describing the problem or feature you want to address.
- Reference the issue in your PR (e.g., "Closes #42").
- Provide a clear description of your changes and the reasoning behind them.
- Ensure all tests pass before requesting a review.
- Keep PRs focused — one concern per pull request.
- Use type hints for function signatures.
- Prefer
dataclassesfor data structures. - Use the
loggingmodule for output (notprint). - Follow standard Python naming conventions (snake_case for functions and variables, PascalCase for classes).
- Enable strict mode.
- Use Tauri IPC commands for API, Vite for frontend builds.
- Prefer explicit types over
any.
Please ensure all existing tests pass before submitting your PR. If you are adding new functionality, include tests where applicable.
If you have questions or need help, feel free to open an issue. We appreciate all contributions, whether it's fixing a typo, improving documentation, or building a new feature.