* feat(ai): integrate Kilo agent framework and coding instructions Add configuration files, agent definitions, and skill sets to enable AI-driven development workflows and standardized agent behavior.
2.4 KiB
2.4 KiB
PR Review Standards
Review Philosophy
- Only comment when confident an issue exists
- Be concise: one sentence per comment when possible
- Focus on actionable feedback, not observations
- When reviewing text, only comment on clarity issues if the text is genuinely confusing or could lead to errors
What to Analyze
Review all code changes for:
- Code quality and style consistency with the existing codebase
- Potential bugs or issues
- Performance implications
- Blocking IO in async code
- Security concerns
- Test coverage
- Documentation updates if needed
Project Standards
Respect the project standards as outlined in AGENTS.md. Any deviations must be raised as [PROBLEM].
Key standards for LVA:
- Python 3.11, 3.12, 3.13 supported
- Black formatting with 200 char line length
- isort import sorting with black profile
- mypy type checking with strict settings
- pylint code quality checks (many checks disabled in pyproject.toml)
Architecture-Specific Checks
linux_voice_assistant/wake_word.py- Wake word model loading is hardware-dependent, verify no assumptions about specific hardwarelinux_voice_assistant/mpv_player.py- Audio output requireslibmpv-dev, check for proper error handlinglinux_voice_assistant/webrtc.py- Noise suppression/gain algorithms need careful review for audio qualitylinux_voice_assistant/satellite.py- ESPHome API protocol handling must be robust
CI Context
Lint runs on Python 3.13, tests run on Python 3.12 with libmpv-dev.
What CI Checks
- Lint:
.github/workflows/lint.ymlruns all linting checks - Tests:
.github/workflows/tests.ymlruns pytest unit tests
Skip These (Low Value)
Do not comment on:
- Style/formatting (pre-commit handles this)
- Test failures (CI catches this)
- Missing dependencies (CI catches this)
- Minor naming suggestions
- Suggestions to add comments
- Logging suggestions unless security-related
Issue Categories
Categorize every issue as:
[CRITICAL]— must fix before merging (bugs, security issues, broken functionality)[PROBLEM]— should fix (code quality, bad patterns, missing tests)[SUGGESTION]— optional improvement (style, minor refactors, nice-to-haves)
PR Title
The PR title must be a functional description of the change. It must NOT contain conventional commit prefixes such as feat:, fix:, refactor:, chore:, etc. Labels categorize PRs, not the title. Flag as [PROBLEM] if the title uses such prefixes.