diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 06b32d96118c2..655bd82de3a09 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -19,6 +19,7 @@ It uses extensively the thread-per-core model and asynchronous (coroutines, futu - `tools/`: Development and helper scripts - `tests/`: Test suites - `conf/`: Configuration files + - `proto/`: Protobuf definitions for Redpanda services and APIs - `.github/`, `.buildkite/`: CI/workflow automation - **Documentation:** [Docs site](https://redpanda.com/documentation) and `docs/`. @@ -96,6 +97,19 @@ It uses extensively the thread-per-core model and asynchronous (coroutines, futu --- +## Protobuf-Specific Instructions + +### Protobuf Coding Guidelines + +Follow the guidelines provided in `proto/redpanda/README.md` for basic Protobuf standards. + +### Protobuf Build & Environment +- **Primary Protobuf code lives in `proto/`.** +- **Formatting:** `.clang-format` in the root directory is enforced. Always run `clang-format` before committing changes or submitting a PR: + ```bash + bazel run //tools:clang_format + ``` + ## C++-Specific Instructions ### C++ Build & Environment @@ -105,7 +119,7 @@ It uses extensively the thread-per-core model and asynchronous (coroutines, futu - **Compiler Standard:** C++23 is required. Some SDK components (e.g., `src/transform-sdk/cpp/`) use C++23 and specific flags like `-Wall`, `-fno-exceptions`, and for some targets, `-stdlib=libc++`. - **Sanitizers:** Some components and test builds use sanitizers (address, leak, undefined) via `-fsanitize=address,leak,undefined` for both compile and link. - **Suppression Files:** Leak, undefined, and other sanitizer suppressions can be found in the root as `lsan_suppressions.txt`, `ubsan_suppressions.txt`. -- **C++ Linting:** `.clang-format` and `.clang-tidy` in the root directory are enforced. Always run formatting tools before submitting a PR: +- **C++ Linting:** `.clang-format` and `.clang-tidy` in the root directory are enforced. Always run `clang-format` before committing changes or submitting a PR: ```bash bazel run //tools:clang_format ```