Skip to content

Commit 5a2448e

Browse files
Merge remote-tracking branch 'origin/documentation' into develop
2 parents d7f7e17 + abffceb commit 5a2448e

2 files changed

Lines changed: 136 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Repository Guidelines
2+
3+
## Project Structure & Module Organization
4+
- `Implementation/` holds the core C++ server, API handlers, and unit-test sources.
5+
- `Framework/` contains SDK headers and plugin interfaces; `SDK/` includes SDK build artifacts (including WASM).
6+
- `Drivers/` hosts hardware/transport driver modules; `Examples/` provides sample systems and plugins.
7+
- `Client/` contains the web UI sources; `Artifacts/` holds packaged client/API docs and build scripts.
8+
- `Tests/` contains driver/system tests wired into CMake; `Documentation/` covers API and website docs.
9+
- Build outputs are generated under `build_<platform>/Output` (for example `build_linux64/Output`).
10+
11+
## Build, Test, and Development Commands
12+
- `./build_clean_linux64.sh` builds Linux x64 binaries and dev packages into `build_linux64/Output`.
13+
- `./build_clean_rpi.sh` builds for Raspberry Pi (ARM) using `build_rpi/Output`.
14+
- `./build_clean_win64.bat` builds Windows artifacts into `build_win64/Output`.
15+
- After a build, run the server from the output folder, e.g. `./build_linux64/Output/amc_server`.
16+
17+
## Coding Style & Naming Conventions
18+
- Follow existing C++ style: tabs for indentation, braces on new lines, and `CamelCase` types with `snake_case` or `m_`-prefixed members.
19+
- Keep header/implementation pairs aligned (for example `amc_api_handler_build.hpp` + `.cpp`).
20+
- Prefer minimal, local changes and keep platform-specific logic behind existing `#ifdef` patterns.
21+
22+
## Testing Guidelines
23+
- Unit tests live in `Implementation/UnitTest` and build into `amc_unittest`.
24+
- Driver/system tests are grouped under `Tests/<DriverName>Test`.
25+
- After building, run executables from `build_<platform>/Output` (for example `./build_linux64/Output/amc_unittest`).
26+
- Add tests alongside the module you changed and mirror existing test naming.
27+
28+
## Commit & Pull Request Guidelines
29+
- Commit messages are short, sentence-case summaries; some include issue numbers like `(... #49)`.
30+
- Use the git-flow model: open PRs against `develop`.
31+
- Before coding, discuss changes in an issue and reference it in the PR description.
32+
- Include clear change summaries and note any build/test commands run.
33+
- Sign and submit the appropriate contributor agreement PDF in the repo root.
34+
- Follow the project Code of Conduct in `CODE_OF_CONDUCT.md`.
35+
36+
## Security & Configuration Tips
37+
- Build scripts read environment variables such as `AMCF_PACKAGE_REPOSITORY` for package uploads; avoid committing secrets.
38+
- Generated packages are placed in `build_<platform>/DevPackage` and `build_<platform>/Artifacts`.

0 commit comments

Comments
 (0)