Introduce ~/.claude/lib/project-archetypes/ with 25 archetype files
(web, mobile, APIs, CMS, infra, firmware, etc.) and the detection
algorithm in lib/archetype-detector.md. Consumed by /onboard STEP 1
to drive archetype-specific audit stacks and plugin recommendations.
Co-Authored-By: Claude <noreply@anthropic.com>
Projet firmware bas-niveau / microcontrôleur (STM32, ESP32, RP2040, Nordic, AVR). Pas de système d'exploitation complet (bare-metal / RTOS léger type FreeRTOS/Zephyr).
Detection signals
Strong signals (×3)
FILE: platformio.ini (PlatformIO)
FILE: *.ld OR *.lds OR linker*.ld (linker scripts — signature bare-metal)
FILE: CMakeLists.txt contenant "arm-none-eabi" OR "riscv-none-elf" OR "xtensa-esp32" OR "ESP_PLATFORM" OR "STM32"
FILE: Kconfig (Zephyr RTOS)
Medium signals (×2)
FILE: Makefile avec variables CC / AS / LD / OBJCOPY
DIR: src/ avec fichiers .c / .cpp / .h ET absence de manifests langage haut-niveau (pas de package.json, Cargo.toml, go.mod, pyproject.toml)
DIR: drivers/ OR hal/ OR bsp/ OR mcu/
FILE: sdkconfig (ESP-IDF)
FILE: prj.conf (Zephyr)
FILE: idf_component.yml (ESP-IDF component)
Weak signals (×1)
FILE: openocd.cfg (debug probe config)
FILE: *.cfg contenant "adapter" OR "interface" OR "transport select"
EXT: outputs .bin, .hex, .uf2, .elf dans un build/ ou .pio/
DEP (platformio): "[env:*]" sections
Counter-signals (exclusion)
FILE: package.json AVEC deps JavaScript → app web (pas embedded)
FILE: Cargo.toml AVEC [dependencies] bibliothèques hautes → peut être Rust embedded (créer archetype rust-embedded plus tard)
FILE: .c files AVEC pyproject.toml / Cargo.toml contenant pybind/pyo3 → FFI bindings, PAS embedded