Update repo guidelines and VS Code config
This commit is contained in:
34
AGENTS.md
Normal file
34
AGENTS.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Project Structure & Module Organization
|
||||
- `main/` holds the application entry point (`main.c`) and its build file (`main/CMakeLists.txt`).
|
||||
- `components/stepper_motor/` contains the reusable stepper motor component. Public headers live in `components/stepper_motor/include/` and source in `components/stepper_motor/stepper_motor.c`.
|
||||
- `build/` is generated by ESP-IDF/CMake; do not edit or commit build artifacts.
|
||||
- `sdkconfig` is the project configuration used by ESP-IDF; `sdkconfig.old` is a backup after config changes.
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
Run these from an ESP-IDF environment with `IDF_PATH` set:
|
||||
- `idf.py build` — configure and compile the firmware into `build/`.
|
||||
- `idf.py flash -p <PORT>` — flash to the connected device.
|
||||
- `idf.py monitor` — open the serial monitor.
|
||||
- `idf.py flash monitor -p <PORT>` — common flash + monitor workflow.
|
||||
- `idf.py menuconfig` — edit `sdkconfig` interactively.
|
||||
- `idf.py fullclean` — remove build output and cached configuration.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
- C code uses 4-space indentation with braces on the same line.
|
||||
- Use `lower_snake_case` for functions/variables, `UPPER_SNAKE_CASE` for macros, and `*_t` suffixes for typedefs.
|
||||
- Prefer `static` for file-local helpers and use `ESP_LOGx` for logging.
|
||||
- Keep component APIs in `components/<name>/include/` and include with quotes (e.g., `"stepper_motor.h"`).
|
||||
|
||||
## Testing Guidelines
|
||||
- No automated test framework is configured in this repo.
|
||||
- Validate behavior on hardware after changes; include manual test steps and results in PR descriptions.
|
||||
|
||||
## Commit & Pull Request Guidelines
|
||||
- Git history shows short, imperative summaries without scopes (e.g., "Initial commit").
|
||||
- PRs should include: a short description, hardware/board tested, and any notable serial output or behavior changes. Attach photos/videos when motion behavior changes.
|
||||
|
||||
## Configuration & Hardware Notes
|
||||
- GPIO assignments and motion parameters are defined in `components/stepper_motor/include/stepper_motor.h`.
|
||||
- Update pin mappings and timing constants there if wiring or motor characteristics change.
|
||||
Reference in New Issue
Block a user