- name
- review-firmware
- description
- Review embedded C/C++ code changes for best practices
- argument-hint
- [files-or-commit]
- allowed-tools
- Bash(git:*), Read, Grep, Glob
# Review Firmware Code
Review the firmware code changes: $ARGUMENTS
If no specific files or commit provided, review the most recent changes.
## Context
Check recent git changes:
```bash
git diff --stat HEAD~1
```
## Review Checklist
### Memory Safety
- Check for buffer overflows and array bounds
- Verify proper null pointer checks
- Look for memory leaks (malloc without free)
- Check stack usage in functions
### Resource Management
- Verify all allocated resources are freed
- Check for proper GPIO initialization/deinitialization
- Look for semaphore/mutex deadlock potential
- Verify interrupt handlers are minimal
### ESP-IDF Best Practices
- Check task stack sizes are appropriate
- Verify FreeRTOS queue/semaphore usage
- Look for blocking calls in critical sections
- Check WiFi/network error handling
### Code Quality
- Verify meaningful variable/function names
- Check for magic numbers (should be #define or const)
- Look for duplicated code
- Verify error codes are properly propagated
### Security
- Check for hardcoded credentials (should be in Kconfig/NVS)
- Verify input validation
- Look for unsafe string functions (use snprintf vs sprintf)
- Check for proper certificate validation
Provide specific line numbers and suggestions for any issues found.
在 GitHub 查看