用途:这是 ESP-IDF 项目搭建向导,适用于首次配置构建环境、创建新 ESP32 项目、验证开发环境、配置 CMakeLists.txt 或组件依赖、处理 sdkconfig/menuconfig,以及把项目加入 monorepo。依据参数分派:空或 setup 进入环境搭建,new <name> <platform> 创建项目,check 验证环境。
环境搭建(基于 Docker):所有 ESP-IDF 构建都在 Docker 容器内运行,无需本地安装 ESP-IDF。可用 just setup-all 一次性完成,或分别执行 just docker-build(构建容器镜像)与 just install-dev-tools(安装宿主端工具)。宿主端工具包括 esptool(烧录固件)、clang-format、cppcheck、ruff、pre-commit。交互式容器可用 just docker-dev 或 just webserver::shell。
验证环境:执行 just check-environment,并检查串口 ls -la /dev/cu.usbserial-* /dev/ttyUSB* 与 docker --version,再用 just --list 查看项目结构。若缺 Docker、串口或工具,文档给出对应提示。
新建项目:支持 esp32、esp32-cam、arduino、stm32 平台。ESP32 项目结构含 justfile、CMakeLists.txt、sdkconfig.defaults、version.txt、main/ 和 README.md,justfile 通过 import '../../../tools/esp32.just' 复用共享配置。Arduino 用 platformio.ini,STM32 用 Makefile。
组件管理:可用 IDF Component Manager(idf_component.yml 声明依赖)或项目内 components/ 目录。menuconfig 在容器中运行,如 just webserver::menuconfig。
加入 monorepo:放入 packages/<domain>/<name>/,创建 justfile,在根 justfile 注册 mod,再用 just name::build 测试。
最佳实践:使用 sdkconfig.defaults 而非提交生成的 sdkconfig;复用共享 just 配置;精简依赖;用 WIRING.md 记录 GPIO。具体效果、收费、平台支持范围等未在资料中说明。