SuperAPI AI Directory

project-health

Testing & quality

View repository

Updated 10-15 23:49

About this skill

Task

Audit project(s) for completeness against the monorepo standard checklist.

  • If $ARGUMENTS is a project path → audit that single project
  • If $ARGUMENTS is all or empty → audit all projects under packages/<domain>/

Checklist

For each project, check these items. Report pass/warn/fail for each.

1. README.md

  • Pass: File exists and is >10 lines
  • Warn: File exists but is very short (<10 lines)
  • Fail: Missing

2. CLAUDE.md

  • Pass: File exists and is >20 lines
  • Warn: File exists but is very short
  • Fail: Missing

3. WIRING.md (hardware projects only)

  • Pass: File exists
  • Skip: Project has no GPIO usage (simulation, docs hub)
  • Fail: Project uses hardware but has no WIRING.md

To determine if a project uses hardware: check for gpio_config, #define.*GPIO, ledc_, i2c_, spi_, uart_ in source files.

4. justfile

  • Pass: File exists and imports tools/esp32.just
  • Warn: File exists but doesn't import shared config
  • Fail: Missing (for ESP-IDF projects)
  • Skip: ESPHome or non-ESP-IDF projects

5. Root justfile registration

  • Pass: Project appears as mod in root justfile
  • Fail: Not registered

Check by grepping root justfile for the project directory name.

6. sdkconfig.defaults (ESP-IDF only)

  • Pass: File exists
  • Fail: Missing for ESP-IDF project

7. version.txt

  • Pass: File exists
  • Fail: Missing

8. .gitignore coverage

  • Pass: Project has own .gitignore OR root .gitignore covers common patterns (build/, sdkconfig)
  • Warn: No coverage found

9. Credentials handling (WiFi/API projects only)

  • Pass: credentials.h.example or secrets.yaml.example exists
  • Skip: Project doesn't use WiFi or API credentials
  • Fail: Source references credentials but no example file exists

Check by grepping for #include "credentials.h", #include "secrets.h", wifi_config in source.

10. mDNS configuration (WiFi STA projects only)

  • Pass: mdns in CMakeLists.txt REQUIRES and CONFIG_MDNS_ENABLED in sdkconfig.defaults
  • Skip: Project doesn't use WiFi STA mode
  • Fail: WiFi STA project without mDNS

Check by grepping for esp_wifi_set_mode.*WIFI_MODE_STA or wifi_init_sta in source.

Output Format

Single Project

## Project Health: <project-name>

| Check | Status | Notes |
|-------|--------|-------|
| README.md | PASS | 85 lines |
| CLAUDE.md | FAIL | Missing |
| ... | ... | ... |

Score: 8/10 checks passed

Suggested actions:
- Run `/project-claude-md <path>` to generate CLAUDE.md
- Run `/wiring-doc <path>` to generate WIRING.md

All Projects

## Monorepo Health Summary

| Project | README | CLAUDE | WIRING | justfile | registered | sdkconfig | version | gitignore | creds | mDNS | Score |
|---------|--------|--------|--------|----------|------------|-----------|---------|-----------|-------|------|-------|
| robocar-main | PASS | FAIL | ... | ... | ... | ... | ... | ... | ... | ... | 7/10 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |

Projects needing attention:
- <project>: missing CLAUDE.md, WIRING.md