docs: add coding and shell conventions to AGENTS.md

- Add include ordering rules: C++ std, C std, OS-specific,
  third-party, local headers (separated by blank lines)
- Clarify <> for system headers, "" for third-party deps
- Remove .exe from run command
- Mark shell code blocks as sh (POSIX compliant)
- Add shell script conventions section
This commit is contained in:
2026-05-05 21:30:57 +02:00
parent e2110ddf4f
commit a13105a591
+22 -2
View File
@@ -12,10 +12,10 @@
### Commands ### Commands
```bash ```sh
cmake -S . -B build -GNinja cmake -S . -B build -GNinja
ninja -C build ninja -C build
./build/cuber.exe ./build/cuber
``` ```
### Dependencies ### Dependencies
@@ -42,6 +42,26 @@ to the custom scripts instead of system-installed packages.
- **4-space indentation** - **4-space indentation**
- **No semicolons after closing braces** for namespaces/classes - **No semicolons after closing braces** for namespaces/classes
- `auto` for obvious types (e.g. `auto main(...) -> int`) - `auto` for obvious types (e.g. `auto main(...) -> int`)
- `<>` includes only for system headers (std, OS, etc.)
- `""` includes for third-party dependencies (e.g. `fmt`, `nlohmann/json`)
- Include order:
1. C++ standard library headers (`<chrono>`, `<vector>`, etc.)
2. *(blank line)*
3. C standard library headers (`<stdlib.h>`, `<string.h>`, etc.)
4. *(blank line)*
5. OS-specific headers (Windows API, POSIX, etc.)
6. *(blank line)*
7. Third-party dependencies (`"fmt/core.h"`, etc.)
8. *(blank line)*
9. Local/project headers
## Shell Scripts
- Always use `#!/bin/sh` shebang for shell scripts
- Scripts must be POSIX compliant (no bashisms)
- When providing commands to users:
- Windows/PowerShell: use `` ` `` for line continuation
- Unix/Linux/macOS: use `\` for line continuation
## Source Layout ## Source Layout